> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.assisty.ai/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Multi-Currency Purchase Orders

# User Guide: Multi-Currency Purchase Orders

This guide explains how to create and manage purchase orders in your supplier's currency, with automatic exchange rate conversion and accurate store-currency landed cost.

---

## 1. Overview

If you source products from international suppliers, you can create purchase orders in the supplier's currency (e.g., GBP, EUR, JPY). Assisty automatically:

* Fetches the current exchange rate
* Displays all PO amounts in the supplier's currency
* Calculates landed cost in your store's currency
* Syncs the correct store-currency cost to Shopify on receive

This means your supplier sees prices in their currency, while your Shopify reports stay accurate in your store's currency.

---

## 2. Setting Up Supplier Currency

### Assign a Currency to a Supplier

1. In the sidebar, go to **Create Purchase Orders > Supplier Management**.
2. Open the supplier's detail page.
3. Find the **Currency** dropdown field.
4. Select the supplier's currency (e.g., GBP for British Pound, EUR for Euro).
5. Click **Save**.

All future purchase orders for this supplier will automatically use their configured currency. You only need to set this once per supplier.

### Supported Currencies

Assisty supports 160+ currencies including:

| Category | Examples |
| ---- |
| Major currencies | USD, EUR, GBP, CAD, AUD, JPY, CNY |
| Zero-decimal currencies | JPY (Yen), KRW (Won), VND (Dong) |
| Three-decimal currencies | KWD (Kuwaiti Dinar), BHD (Bahraini Dinar), OMR (Omani Rial) |

### Same-Currency Suppliers

If a supplier uses the same currency as your store (e.g., both USD), no conversion is needed. The PO behaves exactly as before — no exchange rate section is shown.

---

## 3. Creating a Foreign-Currency PO

### From the Create PO Page

1. Go to **Create Purchase Orders > Supplier Management**, open a supplier, then click **Create PO**.
2. The page automatically detects the supplier's currency and shows:
* A **currency indicator** (e.g., "Currency: GBP > USD")
* The **exchange rate** (e.g., "1 GBP = 1.34 USD")
3. Unit costs are pre-filled using this priority:
* **Supplier cost price** — from the supplier product record (already in supplier currency)
* **Converted Shopify cost** — Shopify's "Cost per item" divided by the exchange rate (marked as "estimated")
* **Shopify cost as-is** — fallback when no exchange rate is available
4. Add products, set quantities, and submit as usual.

### From the Buying Calendar or Buying Table

1. Go to **Plan Demand > Buying Calendar** (or the Buying Table). Select products and click **Create Purchase Order**.
2. In the supplier modal, foreign-currency suppliers show a **currency chip** (e.g., "GBP") next to their name.
3. **Unit Cost** and **Total** columns display amounts in the supplier's currency.
4. The PO is created with the supplier's `currencyCode` automatically.

### From Automated PO Generation

Auto-generated POs automatically:
* Resolve the supplier's currency
* Fetch the exchange rate
* Set the `currencyCode` on the PO
* Calculate landed cost and base-currency fields

No manual action required — the automation handles multi-currency the same way as manual PO creation.

---

## 4. Exchange Rates

### How Rates Are Fetched

* Rates come from **Open Exchange Rates** (openexchangerates.org).
* Rates are **cached for 24 hours** to minimize API calls.
* The rate source and fetch timestamp are stored on each PO for audit purposes.

### Exchange Rate Display

On a foreign-currency PO, you'll see:
```
1 GBP = 1.339867 USD
Source: openexchangerates | Fetched: Mar 25, 2026 4:52 AM
```

### Managing Exchange Rates

| Action | How | When to Use |
| ---- |
| **Auto-refresh** | Rates refresh automatically every 24h | Default behavior |
| **Manual Override** | Click the exchange rate field and enter a custom value | When you have an agreed rate with the supplier |
| **Lock Rate** | Toggle the lock icon next to the rate | When you don't want the rate to change on future edits |
| **Force Refresh** | Click the refresh icon next to the rate | When you need the latest rate right now |

### When No Rate Is Available

If the exchange rate API is unavailable, the PO is still created with `exchange_rate: null`. You can:
* Enter the rate manually
* The PO will show amounts in the supplier's currency without a store-currency equivalent until a rate is set

---

## 5. Currency Display Across the App

### PO Detail Page

| Field | Currency |
| ---- |
| Unit Price | Supplier currency (e.g., £13.00) |
| Total Price (per item) | Supplier currency |
| Subtotal | Supplier currency |
| Shipping Cost | Supplier currency |
| Discount | Supplier currency |
| Tax | Supplier currency |
| Grand Total | Supplier currency |
| **Grand Total (Store)** | **Store currency (converted)** |
| **Landed Cost** | **Store currency (always)** |
| Shipping / Unit | Store currency |
| Adjustment / Unit | Store currency |

### PO List (**Create Purchase Orders > Check Existing Orders**)

* The **Total** column shows amounts in the PO's currency with the correct symbol (e.g., £500.00).

### Review Automated Orders (**Create Purchase Orders > Review Automated Orders**)

* Each PO's total is displayed in its own currency.
* The detail modal shows all line items in the PO's currency.

### Automation Dashboard (**Automate My Work > Automated Purchase Orders > Automation Dashboard**)

* **Per-PO values:** Displayed in the PO's currency.
* **Per-supplier subtotals:** Displayed in the supplier's currency.
* **Aggregate totals** (across multiple suppliers/currencies): Displayed in store currency.

### Buying Calendar (**Plan Demand > Buying Calendar**) & Buying Table

* Supplier cards show amounts in the supplier's currency.
* A currency chip (e.g., "GBP") appears next to foreign-currency supplier names.

---

## 6. Landed Cost and Store Currency

### Why Landed Cost Matters

Landed cost is the true cost of each product including shipping and adjustments. For foreign-currency POs, landed cost is **always calculated and stored in your store's currency**. This ensures:

* Shopify "Cost per item" is updated correctly on receive
* Profit margin calculations are accurate
* Reports and analytics use consistent store-currency values

### How Landed Cost Is Calculated

**Per-Value Allocation (default):**
```
Landed Cost = Unit Price x Discount Factor x Landed Cost Ratio
```

**Per-Unit Allocation:**
```
Landed Cost = (Unit Price x Discount Factor) + Shipping/Unit + Adjustment/Unit
```

For foreign-currency POs, all values are first converted to store currency using the exchange rate before the landed cost calculation runs.

### Changing the Calculation Method

1. Go to **Adjust Settings > Purchase Orders**, then select the **Landed Cost** tab.
2. Choose **Per-Value Allocation** or **Per-Unit Allocation**.
3. The selected method applies to all new and updated POs.

---

## 7. Receiving Items on Foreign-Currency POs

When you receive items on a foreign-currency PO:

1. **Enter quantities normally** — currency doesn't affect the receiving process.
2. **Shopify sync uses store-currency landed cost** — the "Cost per item" in Shopify is updated with the landed cost (in store currency), not the supplier price.
3. **Weighted average cost** is calculated as:
```
   New Avg Cost = ((Current Qty x Current Cost) + (Received Qty x Landed Cost)) / Total Qty
```

This means your Shopify inventory valuation and profit reports are always in your store's currency, regardless of which currency the supplier was paid in.

---

## 8. Exports and Documents

### PDF Export

* All amounts shown in the supplier's currency
* Exchange rate and store-currency grand total in the footer
* Currency symbol matches the PO's currency

### CSV Export

* Numeric values use the correct decimal precision for the currency
* JPY: whole numbers (no decimals)
* KWD: 3 decimal places
* Most currencies: 2 decimal places

### XLSX Export

* Same precision as CSV
* Currency-formatted cells

### Email to Supplier

* The PO email attachment shows amounts in the supplier's currency
* The supplier sees their own currency — no confusion about conversion

---

## 9. Zero-Decimal and Three-Decimal Currencies

### Zero-Decimal Currencies (JPY, KRW, VND, etc.)

* Amounts display without decimal places: **¥1,500** not ¥1,500.00
* Input fields use step size of 1 (not 0.01)
* All rounding throughout the app respects 0 decimal places

### Three-Decimal Currencies (KWD, BHD, OMR, TND)

* Amounts display with 3 decimal places: **KWD 7.669**
* Input fields use step size of 0.001
* Rounding uses 3 decimal places throughout

### Standard Currencies (USD, EUR, GBP, etc.)

* Standard 2 decimal places: **$12.50**, **€11.52**

---

## 10. Tips and Best Practices

* **Set supplier currency once:** Configure it on the supplier profile. All future POs inherit it automatically — you never need to set it per-PO.

* **Lock exchange rates for agreed terms:** If you have a fixed rate with a supplier (e.g., a quarterly contract rate), lock the rate on the PO to prevent auto-refresh from changing it.

* **Landed cost is always in store currency:** Don't worry about currency when checking landed cost or Shopify sync — it's always converted to your store's currency automatically.

* **Review "(estimated)" costs:** When creating a PO, if a product shows "(estimated)" under the unit cost, it means the cost was converted from Shopify's store-currency cost. Consider entering the actual supplier cost for accuracy.

* **Check the exchange rate before confirming:** Exchange rates fluctuate. Review the rate on the PO before confirming, especially for large orders.

* **Same-currency suppliers need no setup:** If your supplier uses the same currency as your store, no currency configuration is needed. Everything works as before.

---

## 11. Frequently Asked Questions

**Q: What happens if I change a supplier's currency after creating POs?**
A: Existing POs keep their original currency. Only new POs will use the updated currency.

**Q: Can I have different currencies on different POs for the same supplier?**
A: The currency is set per-PO based on the supplier's configuration at creation time. If you change the supplier's currency between POs, each PO keeps its own currency.

**Q: What if the exchange rate API is down?**
A: The PO is still created with the supplier's currency, but the exchange rate is left blank. You can enter it manually. Landed cost and store-currency conversions will be calculated once a rate is available.

**Q: Does the exchange rate update automatically on existing POs?**
A: No. The exchange rate is captured at PO creation time and stays fixed unless you manually update or refresh it. This prevents unexpected changes to committed orders.

**Q: How do I see the store-currency equivalent of a foreign PO?**
A: Look for the "Grand Total (Store)" field in the PO summary section, or enable the "Landed Cost" column in the items table.

---

For general PO management (statuses, receiving, returns, etc.), see: [**Understanding and Managing Purchase Order Details**](https://help.assisty.ai/en/article/understanding-and-managing-purchase-order-details-1th5lfd/).
