Skip to main content

Multi-Currency Invoices

If you receive invoices from suppliers who bill in a different currency to your base currency, Brikly handles this automatically. A cafe in Northern Ireland might be set up with GBP as their base currency but receive some invoices in EUR from Republic of Ireland suppliers. Brikly detects the invoice currency, converts the prices, and stores everything in your base currency so your recipe costs and margins are always accurate.

How it works​

When you upload an invoice, Brikly's AI extracts the currency along with all other invoice data. If the invoice currency differs from your base currency (set in Settings > Account), Brikly automatically:

  1. Detects the currency - the AI identifies the invoice currency from symbols, codes, and context on the document.
  2. Fetches the exchange rate - Brikly looks up the rate for the invoice date using European Central Bank data.
  3. Converts all prices - line item prices are converted to your base currency before they flow into your ingredient costs.
  4. Records the original - the original currency, original price, and the exchange rate used are all stored for transparency.
Invoice (EUR) Exchange Rate Ingredient Cost (GBP)
----------------- ---------------- -----------------------
Espresso: EUR 0.41 x 0.8560 EUR/GBP = GBP 0.35

You do not need to do anything differently - just upload the invoice as normal. The conversion happens behind the scenes during the matching and price update stage.

Where you will see it​

Supplier pricing table​

On the Ingredients page, when you expand a supplier row, any supplier whose latest price was converted from a foreign currency shows a small note under the pack price:

GBP 0.35
from EUR

Hover over it to see the exact exchange rate that was used.

Price history drawer​

In the price history for an ingredient, each entry that involved a currency conversion shows the original amount alongside the converted price:

GBP 0.35
from €0.41 EUR

This makes it easy to see at a glance which price updates came from foreign-currency invoices and what rate was applied.

Supported currencies​

Brikly supports conversion between all major currencies:

CurrencyCode
British PoundGBP
EuroEUR
US DollarUSD
Australian DollarAUD
Canadian DollarCAD
New Zealand DollarNZD
Japanese YenJPY
Swiss FrancCHF
Swedish KronaSEK

Your base currency is set during account setup and can be changed in Settings > Account.

Exchange rates​

Brikly uses exchange rates from the European Central Bank (ECB), which publishes reference rates on each business day. When a rate is needed:

  • Brikly uses the rate for the invoice date, not the date you upload the invoice. This means the converted price matches what the supplier charged on that day.
  • If the invoice date falls on a weekend or bank holiday, the most recent available rate is used automatically.
  • Rates are cached to keep processing fast - you will not notice any delay.
Rates are locked at processing time

The exchange rate is captured when the invoice is processed and does not change afterwards. This is standard practice in hospitality cost management - it gives you a stable cost base rather than fluctuating values. If exchange rates move significantly, you will see the impact reflected in the next invoice from that supplier.

Impact on recipe costing​

Because all ingredient prices are converted to your base currency before being stored, your recipe costs and gross margins are always calculated in a single currency. You do not need to worry about mixed-currency recipes producing misleading margins.

Example: Latte recipe

IngredientInvoice currencyConverted cost (GBP)
Espresso blendEURGBP 0.35
Whole milkGBPGBP 0.20
Total costGBP 0.55
Selling priceGBP 3.50
Gross margin84.3%

Without conversion, the cost would incorrectly show as £0.61 (mixing the EUR 0.41 espresso cost with the GBP 0.20 milk cost), producing a margin of 82.6% instead of 84.3%. That 1.7 percentage point difference might seem small on one drink, but across hundreds of lattes a week it adds up - and if several ingredients are affected, the error compounds.

Price change alerts and currency conversion​

Brikly flags significant price changes when it detects that an ingredient's cost has moved beyond a threshold. Because all prices are converted to your base currency before being stored, the price change detection compares like-for-like - both the previous and new prices are in the same currency.

This means a price change alert can be triggered by two different things:

  • The supplier changed their price - for example, espresso went from EUR 0.41 to EUR 0.47 per serving.
  • The exchange rate moved - the espresso is still EUR 0.41 but the EUR/GBP rate shifted from 0.8560 to 0.9000, increasing the converted cost from GBP 0.35 to GBP 0.37.

Both are real cost changes from your perspective - either way, your margins are affected.

Understanding what changed​

When you review a price change on an ingredient that involves currency conversion, Brikly shows a Currency Conversion Breakdown so you can see exactly what caused the cost to move:

PreviousCurrent
Supplier priceEUR 0.41EUR 0.41
Exchange rate0.85600.9000
Converted costGBP 0.35GBP 0.37

In this example, the supplier price is unchanged - the cost increase is entirely due to exchange rate movement. This helps you decide whether to contact your supplier (if they raised prices) or simply wait for the rate to settle (if it is a currency fluctuation).

Supplier price vs exchange rate

If the supplier price is unchanged and only the exchange rate has moved, you might choose to wait and see whether the rate corrects itself. If the supplier has raised prices, it is worth contacting them to negotiate or considering an alternative supplier.

Entering the amount you paid​

The ECB mid-market rate gives you a close estimate of your converted costs straight away - accurate enough for most day-to-day costing. Banks do add a small margin and sometimes a fixed fee when they process the payment, so the amount that actually leaves your account will differ slightly (typically 1-3%). If you want your ingredient costs to reflect exactly what you paid, you can enter the bank charge and Brikly will recalculate using your real effective rate.

How to use it​

  1. Open any invoice where the invoice currency differs from your base currency.
  2. In the Invoice Summary section, you will see an Amount Paid input below the invoice total.
  3. Enter the amount your bank charged in your base currency (e.g. £85.50 for an €100 invoice).
  4. Click Save.

Brikly calculates the effective exchange rate from your entry:

Effective rate = Amount paid (GBP) / Invoice total (EUR)
= 85.50 / 100.00
= 0.8550

What happens to existing prices​

If you have already matched line items on this invoice, Brikly automatically re-converts their ingredient costs using the real rate. You will see a confirmation showing how many prices were updated.

You will typically process invoices when they arrive and then see the bank charge a day or two later on your statement. You can come back to the invoice at any time to enter the actual amount - there is no deadline.

Future matches on the same invoice​

Any line items you match after entering the amount paid will automatically use the effective exchange rate.

This step is optional

The ECB rate is already a good estimate of your costs. This feature is there for operators who want penny-precise costing - if the estimate is close enough for your needs, you can skip it entirely.

Sending a foreign-currency invoice to your accounting platform​

Most accounting platforms keep your books in one currency. Xero will only accept a USD bill if your organisation has multi-currency switched on (a paid add-on), and Sage and QuickBooks bills carry no currency at all. So a foreign-currency invoice can reach your books in one of two ways:

  • Converted into your base currency, at the amount your bank actually charged. This is what you would do by hand, and it works on every platform. Each line is converted at your effective rate (amount paid divided by the invoice total), the lines add up to the bank charge to the penny, and the bill's reference records the original figure, for example USD 298.00, 1 USD = 0.7612 GBP. The submission history in Settings > Integrations shows both the invoice amount and what was sent (for example, "Sent as £226.84").
  • Sent in the invoice's own currency, when your Xero organisation accepts it. Xero then converts the bill at its own rate and records any exchange difference when you pay it.

Choosing how they are sent​

Each accounting connection has a Foreign-currency invoices setting: open Settings > Integrations, choose Manage on the connection, and it is under Settings on the overview:

  • Automatic (recommended) - Brikly checks which currencies your Xero organisation accepts. An invoice in one of them is sent as-is; anything else is converted at the bank charge.
  • Always convert - every foreign-currency invoice is sent in your base currency for the amount your bank charged, so the figure in your books always matches your bank statement.
  • Always send in the invoice currency - for organisations with multi-currency switched on (it is greyed out until Brikly can see a second currency on your organisation). If your organisation later stops accepting a currency, those invoices are blocked with a clear message rather than sent wrongly.

The setting also shows which currencies Brikly has found your organisation accepts, with a Check again link if you have just added one in Xero. Sage and QuickBooks connections do not show it, because their bills are always converted.

What Brikly needs from you​

When an invoice is being converted, Amount Paid must be entered before you submit. If it is missing, the invoice page says so above the submit button and takes you straight to the Amount Paid field. Brikly never guesses from the ECB rate here: the figure in your books has to match your bank statement. When an invoice is being sent in its own currency, the bank charge is only used for your ingredient costs, not for the bill.

If your accounting platform turns a currency down (for example a USD bill sent to a Xero organisation that is not subscribed to USD), the invoice page explains why and offers Send as GBP instead, which resubmits it converted at your bank charge. Tick Always convert for this connection at the same time and future foreign-currency invoices take that route without asking.

A foreign-currency credit note follows the same rules: enter the amount your bank received and it is sent as a credit note in your base currency, or in its own currency where your organisation accepts it.

Bank charge not known yet?

If the payment has not left your account yet, you can still match the line items and come back to submit once you know the amount. The invoice stays in your queue until it is sent.

What if the exchange rate API is unavailable?​

In the rare event that the exchange rate cannot be fetched (e.g. a temporary network issue), Brikly will still process the invoice and store the prices - but without conversion. The prices will be stored in the original invoice currency. This avoids blocking your workflow. A warning is logged so the Brikly team can investigate.

Set your base currency early

Make sure your base currency is set correctly in Settings > Account before you start processing invoices. All ingredient costs are stored in this currency, and changing it later does not retroactively convert existing prices.