Why the money comes up short
A foreign currency invoice can leave you with less than its total when the money reaches your bank. A customer pays in euros, the payment company converts them and takes its own cut, and the exchange rate used decides the rest. Nobody warns you, so the shortfall shows up weeks later with no clear cause.
Key takeaways
- Write the currency code on every invoice, and note which currency your bank account takes.
- Check card and conversion fees before you set the price.
- Show early-payment discounts in the invoice currency, with their last date.
- Pick one exchange rate source, and record its name and date on every foreign invoice.
- Keep proof of every rate and payment, and check tax with your accountant before a new country.
Where the gap comes from
Most of the time nobody made a mistake. The invoice was correct and the payment did arrive. The gap came from a rule nobody checked before the invoice went out, and that is what the six checks are for.
For a small business, a few percent lost on each foreign invoice adds up. Say you send twenty foreign invoices a month and lose two percent on each. That is money you planned to keep and did not.
These six checks are meant to run before you send the invoice, not after the money goes missing. They are written for owners and bookkeepers who bill or pay out in more than one currency. You do not need to be a tax expert to use them. Where a question is about tax, take it to your accountant or tax adviser, because the rules depend on where you and your customer are.
1. Know both currencies before you send
Every foreign payment has two currencies in it. The first is the currency on your invoice, the one the customer agrees to pay. The second is the currency your bank account takes. Stripe, a payment company, calls that second one the settlement currency.
Stripe's currency guide explains what happens when they differ: Stripe converts the charge into your settlement currency. In plain terms, if a customer pays in euros while your bank account takes dollars, the euros are changed into dollars, and the rate used sets how many dollars arrive.
Here is a made-up example. You invoice a client in euros, and your bank account takes dollars. The dollars that land will rarely match a quick calculation at the rate you saw online, because the rate used and any fees both take a share. If you do not know which rate applies, ask your payment provider before you send the invoice, not after.
Pricing in their currency or yours is a real choice. A price in the customer's money is easier for them to accept, but it means you are carrying the risk that the rate moves before the money arrives. A price in your money is simpler for your books, but the customer may pay a little more to cover the conversion. Pick one approach for each customer and say which one on the invoice. For the invoice settings involved, see Cross-border billing: 8 settings across 5 apps.
Before you send anything, do three things:
- Write the currency code on the invoice, such as USD, EUR or GBP.
- Write down which currency your bank account takes.
- If they differ, decide who takes the risk of the rate moving, and say so on the invoice.
Do not let the conversion happen by surprise. A customer who sees one amount and pays a different one will ask questions, and you will spend more time on the dispute than the money is worth.
Three common mistakes: assuming your bank takes the same currency as the invoice, quoting a total with no currency code, and pricing from the rate you saw online instead of the rate you will actually get.
2. Check the card fees before you set the price
If your customer pays by card, the payment company usually takes a fee from each sale. When the card is from another country, or the money needs converting, the fee can go up. Stripe's public pricing page lists an extra charge for conversion: plus 1% if currency conversion is required.
These are one provider's list prices, so check your own provider's current page, and read every line for the product you use, before you set a price.
Your fee is on your payment provider's pricing page or in its agreement with you. Save a copy of the page with the date you saved it, so you can show which fee applied when you set the price.
Ask your provider three questions: which fee applies to the card types my customers use, whether a conversion fee is added on top of the card fee, and what the fee is on a refund.
Refunds cost money too. Stripe's refund guide refers to processing fees from the original transaction. Check how a refund treats those fees before you promise one.
A simple habit helps. Before you quote a foreign customer, check how they plan to pay, then work out what you will actually receive. If the number looks thin, change the price or the terms before the invoice goes out, not after.
Illustrative example: a 385 euro invoice with a conversion charge
Suppose a client owes 385 euros, and the payment company adds a 1% conversion charge. Before you send, write down the currency code, the rate source and the date. When the money arrives, compare the amount received with what you expected after the charge. If the gap is larger than the charge explains, check the rate and date in your record before you contact the customer.
3. Show early-payment discounts in the invoice currency
Some businesses offer a small discount for paying early. Odoo, an accounting software company, calls these cash discounts, and its help page defines them as reductions in the amount a customer must pay. The discount is usually a percentage of the total, and it applies only if payment arrives inside a set window.
Foreign currency makes this harder. A percentage discount on an invoice in euros is a sum the customer can easily check. What you receive in your own currency depends on the exchange rate used when the money is converted, so your margin on a discounted invoice can shift from the one you planned.
Here is a made-up example. An invoice in pounds offers a discount if paid within a set window. The customer pays the discounted amount inside that window, and the dollars you receive depend on the rate used when the money is converted, which may not be the rate on the invoice date. You planned for a margin, but the margin moved.
Decide in advance what happens when a customer pays late or a few cents short. Write that rule into your payment terms, so both sides know it before any money is owed. A rule made after the payment arrives is much harder to defend.
On the invoice, show three things: the discount as a percentage, the discount in the invoice currency, and the last date the discount applies.
Keep the discount rule the same for every customer in the same currency, so no one can say they were treated differently. For customers who pay in parts, see Deposits and partial payments in 5 invoice tools.
4. Choose one exchange rate and use it every time
An exchange rate is the number that turns one currency into another. Two invoices for the same amount can produce different dollar figures if you pick different rates, and an auditor may ask why. Pick one source, write it down, and use it the same way every time.
The IRS, the US tax agency, gives a plain starting rule: use the exchange rate in effect on the day you receive, pay or accrue the item. Accrue means the day you record the amount as earned or owed. Its yearly average table lists yearly averages, not daily rates, so that table cannot give you the rate for a single invoice.
Whichever source you pick, use it the same way each time and be able to show where it came from.
In practice:
- Pick a rate source, such as your bank's posted rate or your payment provider's rate, and write its name down.
- Record the date and the rate on every foreign invoice and payment.
- Use the same source all year, and write down the date if you ever switch.
The rate can also move between the day you send the invoice and the day the money arrives. Your books may then show a gain or a loss on the currency change, even though the customer paid the agreed amount. How that gain or loss should be recorded and taxed depends on your country and your setup, so ask your accountant how to show it.
Example: you record an invoice at one dollar figure, then the money arrives when the rate has moved. The difference between the two dollar figures is the gain or loss. Write both figures down, so you can explain the difference later.
A good rate note has four parts: the two currencies, such as EUR to USD, the rate, where it came from and the date. Written out, a made-up note might read "EUR to USD, illustrative rate of 1, posted by the bank, date of the invoice." Anyone can check that later.
5. Keep proof of every rate and payment
A rate you cannot prove is a rate you cannot defend. For each foreign invoice, keep these together in one folder or one record:
- The invoice, in the currency it was written in.
- The exact amount you received, and the fee taken.
- The rate used, its source and the date.
- Any refund, credit or discount, with its date.
- The bank or payment record that shows the money arrived.
The IRS gives a clear rule for US federal tax records. Its record-keeping page says to keep records for 3 years.
That 3-year rule is for US federal taxes. If you live elsewhere or bill customers in other countries, ask your accountant how long to keep records there.
Use one folder per year, and inside it one file for each foreign invoice. Name each file with the date, the customer and the currency code, so you can find it in seconds at tax time.
Check your records each month. Match each foreign invoice to the payment that arrived, and note any difference. A difference found in the month is easy to explain. The same difference found a year later is hard to trace back. For the matching itself, see Reconcile bank statements in software: 4 matching steps.
6. Check tax, then write your rules down
Tax is the one area where a checklist cannot give you the final answer. Whether tax applies, and who handles it, can depend on where you are, where your customer is, and what you sell. Before you send the first invoice to a new country, ask your accountant three questions:
- Does tax apply to this sale, and at what rate?
- Should the invoice show the tax separately?
- Does the currency change the amount of tax I owe, and in which currency do I report it?
Tax also depends on how you describe the sale. A service, a product and a digital download can be treated differently, so describe what you sold clearly on the invoice. A clear description also helps your accountant answer the tax questions above quickly, and it helps the customer see what they are paying for.
Bring your accountant the list of countries you bill, the currencies you use, and two or three real invoices. Ask them the three questions above, plus how to record currency gains and losses. Ask for the answers in writing, and keep them with your rules page.
Write the answers into one short page of rules. List the currencies you accept, the fee each payment method adds, your rate source, your early-payment terms, and the date you last checked each figure. Fees and tax rules change, so check the figures again every year. For Stripe's conversion costs, check the current pricing page and its figures.
Before your next invoice
Pick the next foreign invoice you will send. Run the six checks on it, in order, and write down your answer for each. That one exercise will show you where your money leaks, and the page of rules you make from it will save time on every invoice after.
If one check raises a question you cannot answer, take it to your accountant before the invoice goes out, not after the money arrives short.
Frequently asked questions
Which exchange rate should I use on a foreign invoice?
The IRS starting rule is to use the exchange rate in effect on the day you receive, pay or accrue the item. Use one posted source for every invoice and record its date.
How long should I keep records of foreign invoices?
For US federal taxes, the IRS says to keep records for 3 years, and your accountant can tell you how long to keep them in other countries.
Do payment companies charge more for foreign currency?
Stripe's pricing page lists an extra 1% when currency conversion is required, but check your own provider's current page.