This diagram shows an example of a Brightpearl account which has a base currency of GBP and where an order is placed with a supplier in Euros.
When an order is created in Brightpearl it pulls the currency and foreign currency cost price list from the supplier record. The order will be created in Euros with the prices from the Euros cost price list. The supplier will send the invoice in Euros which will be posted in Brightpearl. All accounting generated as a result of the invoice will be converted into GBP using the exchange rate stored against the Euro currency in Brightpearl. The payment to the supplier is made into the supplier's Euro bank account so will be converted from GBP to Euros at the banks exchange rate.
You can set up as many currencies as required for use throughout Brightpearl but all financial figures are recorded in your base currency (operating currency) as defined in Setup > Company > Banking and financials. This means you can place orders and post foreign currency bills but when the transaction is processed the figures are converted into your base currency using an exchange rate before being posted to accounts. In this way all accounting data remains in your base currency for straightforward Balance sheets and Profit & Loss reports. The exchange rates used are stored in Brightpearl and can be automatically updated to real-time figures at a click of a button, or figures can be manually changed within the purchase. Once the invoice has been received, the exchange rate cannot be changed.
Once you have added currencies into Brightpearl you can apply them to supplier records - this is what will determine the currency and symbol used on any orders or invoices created and the associated documents produced. For the pricing you will need to create a foreign currency cost price list and also assign that to the supplier.
In order to process foreign currency purchases (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 "cost" price list
- Add the foreign currency prices on your product items
- Assign the currency and the price list to your supplier
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 Settings > 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 purchase orders, since each purchase stores its own exchange rate.
You can create any new price lists you need.
- Go to Settings > Products > Price lists .
- Click Add a new price list .
- Enter a name for the price list, e.g. Cost.
- Enter a code for the list (displays in product records).
- Select the foreign currency.
- Specify whether to show prices including or excluding tax.
- Select Yes , this is a supplier ("cost") 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.
To ensure the correct symbol, exchange rate and prices are applied when you are processing a purchase you will need to assign the currency and price list to your supplier:
- Search for your supplier.
- 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 purchases in another currency.
Foreign currency purchase 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 supplier invoice which can prevent you from posting the invoice. By converting on a line-by-line basis you shouldn't encounter this issue.
When you receive inventory on the purchase order, the inventory will be valued in your base currency by converting the foreign currency values on the order using the exchange rate on the order. The exchange rate can be updated directly within the order prior to receiving any inventory.
Using the purchase order example displayed above, the following accounting journal is created when the inventory is received:
We can see the inventory value received equals 366.24 in the base currency of GBP. This is calculated from the Euro price using the exchange rate.
When you receive an invoice the accounting is created to update purchases (cost of sales), tax and creditors (accounts payable). For foreign currency purchases the values will be converted to your base currency prior to being posted to accounts. This is the journal created for the purchase example displayed above (no tax in this example).
What if the actual invoice prices are different from the amount on the PO in Brightpearl?
If when you receive the supplier invoice you realise the prices used on the order in Brightpearl are incorrect, all you need to do is change them directly on the order prior to actually receiving the invoice. When you receive the invoice in Brightpearl you will be asked if you want to automatically update the cost price list, saving you having to do it manually afterwards. You will also be given the option to update your default cost price list (base currency). Even if you do not buy or sell items in your base currency it is important that you maintain a base currency price list...
Why maintain a base currency price list when I don't operate in my base currency?
For those of you who only operate in currencies other than your base currency you may not ever populate your base cost price list. However, it is this price list that is used when any internal inventory adjustments are performed so you should keep these prices. For example, if you do a stock take and realise you only have 5 of item A, not 6, you will need to reduce your inventory quantity and value. Since all your accounting is in your base currency (all inventory in and out is converted to base) the value used to reduce the inventory is also in your base currency, and taken from your base currency price list. If this is blank then your accounting will not be updated correctly.
What if the price list on the PO in Brightpearl is a different currency from the actual purchase?
If the price list used is set to be a different currency than that of the supplier, the order will take the currency of the supplier (i.e. that currency symbol and exchange rate). However, the prices used will not be converted, they will simply pull through as exactly the same figures, only they'll be given the supplier currency symbol. This means that if product A is €10 on the price list, but the supplier is set as $, the item price on the order will simply be $10.
If you go ahead and invoice the order Brightpearl is working with 3 currencies; your base currency, the supplier currency and the price list currency. When given the opportunity to update the cost price lists you will be able to choose whether to update the cost price list used on the order, as well as your default cost price list (base currency). When updating your default cost price list in your base currency the conversion will take place as normal; using the exchange rate on the order. When updating the price list used on the order the prices will be converted into the price list currency using the current currency exchange rate stored in Brightpearl.
When you come to pay your supplier you are able to see your outstanding invoices in both your base currency and the foreign currency on the supplier account.
- 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 your outstanding items with your supplier. Each invoice displays the value in both the foreign currency and your base rate. When you come to pay the supplier (which may be weeks later), the amount you 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.
- 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".
This is the journal created when the supplier is paid with an adjustment for exchange rate variances.