Brightpearl will allow you to process sales in foreign currencies. This guide covers:
Setting up everything you need to process foreign currency sales
Creating a foreign currency sales order
Shipping foreign currency inventory
Invoicing a foreign currency sale
Receipting payment from a customer in a foreign currency
Setting Up
In order to process foreign currency sales (currencies different from your base currency), you will need to set up the following:
- Create the currency, if it doesn't already exist, and update the exchange rate
- Add the foreign currency "sell" price list
- Add the foreign currency prices on your product items
- Assign the currency and the price list to your customer
1. Create the currency and update the exchange rate
Ensure the currency you wish to use exists in Brightpearl, if it doesn't you can add it using the following steps:
- Go to Setup > Localization > Currencies.
- Click the Add currency button.
- Enter the name, 3 character ISO code, e.g. USD or GBP.
- Enter the currency symbol, e.g. $ or £.
-
Click Save.

- Click the Update values button to get the latest exchange rate.
Brightpearl draws current exchange rates from the global currency servers XE or OANDA. You will need to manually update your currencies like this on a regular basis. Alternatively, you can manually update the exchange rate on individual orders. Updated rates will only affect subsequent sales orders, since each sale stores its own exchange rate.

2. Add a foreign currency "sell" price list
You can create any new price lists you need.
- Go to Setup > Products > Price lists.
- Click Add a new price list.
- Enter a name for the price list, e.g. Retail.
- Enter a code for the list (displays in product records).
- Select the foreign currency.
- Specify whether to show prices including or excluding tax.
- Select No to this is a supplier ("cost") price list; this is a sell price list.
- Click Save.

3. Add the foreign currency prices on your product items
Prices can be added to products on a product-by-product basis or using a price list import.
- Search for the product.
- When the item is listed click on the name to view/edit.
- Select the Prices tab and then the tab for the relevant cost price list.
- Enter the product cost price. Use price breaks to apply different prices for different order quantities. Underlined prices represent amounts including tax.
- Click Save changes.

Learn how to import price lists
4. Assign the currency and price list to your customer
To ensure the correct symbol, exchange rate and prices are applied when you are processing a sale you will need to assign the currency and price list to your customer. If they are a new customer make sure you select the relevant price list directly in the order:
- Search for your customer.
- Click to open their record.
- Select the Financial tab.
- In the Price list field select the foreign currency price list. This will determine the product prices applied.
- In the Currency field select the relevant currency. This will determine the exchange rate used when converting the amount for posting to accounts in your base currency as well as the currency symbol used.

That's it. You are now ready to process sales in another currency.
Creating a Foreign Currency Sale
Foreign currency sale orders can be created as usual. As long as you have followed the above setup steps everything on the order will be in the foreign currency and all accounting will be generated and correctly converted to your base currency.

In this example we can see the order total in Euros (the foreign currency in this case) is calculated from the price list amount multiplied by the quantity ordered. The base currency amount is converted from the Euros amount using the displayed exchange rate. The exchange rate is taken from the Currencies screen in Brightpearl but can be manually altered directly on the order.
How is the base value calculated?
The base value is calculated on a line-by-line basis by converting the total line value in the foreign currency using the exchange rate in the order and rounding to 2 decimal places. The amount for each line is then added together in order to reach the total base value.
Why is the base value calculated in this way?
Since each row could potentially be posted as a separate ledger entry (with different nominal codes or tax codes), we need to convert to base currency then round each ROW to 2 decimal places. Summing these rounded rows will not necessarily add up to the same amount as if you'd just converted the foreign order total into base currency. If the total is converted rather than each line it can result in a mismatch between Brightpearl and your customer's system. By converting on a line-by-line basis you shouldn't encounter this issue.
Shipping Inventory
When you fulfil and ship inventory on the sales order, the inventory will be valued in your base currency at the price it was purchased for (calculated when the inventory is received on a purchase order) or as entered if added manually as an inventory adjustment. This is the value that will be removed from inventory using the FIFO method (First In First Out).
Learn more about accounting for inventory
Invoice the Sale
When you invoice a sale the accounting is created to update sales revenue, tax and debtors (accounts receivable). For foreign currency sales the values will be converted to your base currency prior to being posted to accounts. This is the journal created for the sale example displayed above (no tax in this example).

Receipting Payment from your Customer
When your customer makes a payment against their account you will need to allocate it against the relevant invoices:
- Search for your supplier.
- Click to open their record.
- Click the Allocate payment link in the Financials info box on the right-hand side.
Here you will see all their outstanding items. Each invoice displays the value in both the foreign currency and your base rate. When your customer pays you (which may be weeks later), the amount they pay will be different from the original converted value. Use the "adjust" column in the payment allocation screen to allocate any variance to an exchange rate variance account. But first of all you will need to set up your "adjustment accounts".
- Go to Accounting > Chart of accounts.
- Add a new nominal code. If you select a 7xxx nominal code, then the exchange rate gain/loss will be shown on your Profit and Loss report.
- Mark it as yes "Allocate discounts to this account".
- Save.

This is the journal created when the customer has paid with an adjustment for exchange rate variances.





