Invoices and documents · 4 min read

Paying an invoice in foreign currency — what landed on the account

How to mark an invoice in EUR, USD or another foreign currency as paid in Taxorio — the Amount received field, a bank fee taken along the way, a payment received in CZK, the exchange-rate difference, and what counts as income.

Why you enter the amount received

For an invoice in foreign currency, your income isn't the amount on the document, but what actually arrived on the account. A correspondent bank's fee shrinks a foreign payment along the way, or the client sends CZK converted at their own bank's rate straight away. So for a foreign-currency document, Taxorio offers a field where you enter the amount received, and it calculates your income tax income from that.

Where you enter it

  1. Open the invoice's detail and click the Mark as paid button.
  2. Fill in the payment date — the CNB rate is fetched based on it.
  3. In the Amount received field, enter what arrived on the account, and pick the currency next to it: the document's currency, or CZK.
  4. Confirm. The document's detail then shows a Paid line with the amount received, the CZK value and the rate used.

The Amount received field only appears for a document in foreign currency. For a CZK invoice and for a credit note, the panel only has a date field — the document's amount always becomes the income, even if the client sent euros.

Three situations you'll run into most often

  • A bit less arrived, in the document's currency. The bank deducts its fee along the way, straight from the transferred amount — instead of EUR 1,000, say EUR 985 arrives. If the shortfall is no more than 2% of the document's amount (and always at least 30 units of the currency, so the tolerance doesn't vanish on small amounts, but no more than 10% of the document), the invoice is treated as paid in full: your income becomes the EUR 985 converted at the rate as of the payment date, and a Bank fee EUR 15.00 line appears on the document's detail.
  • More is missing. Then it's a partial payment with a receivable still outstanding, and Taxorio doesn't yet track that, so it refuses to mark it as paid. Either issue a corrective tax document for the difference (§ 42 ZDPH), or wait for the balance and only mark the document paid once it arrives.
  • The client sent CZK. The bank converted it at its own rate, and your income is credited for exactly however much CZK arrived — nothing gets converted again with the CNB rate (§ 38 odst. 1 of the Income Tax Act doesn't apply to income received in CZK). The detail shows the difference against the CZK figure on the document as an exchange-rate difference; it's informational — tax records don't book exchange-rate differences anywhere.

What the app checks

  • The amount received can't differ from the document's amount by more than 10% — the app refuses a save like that as a likely typo.
  • You can only enter the document's currency, or CZK. We can't convert a third currency (say, złoty on a euro invoice) — sort a payment like that out with your bank and mark the document according to whichever of these two currencies actually arrived.
  • Without a CNB rate for the payment date, the app won't convert blindly. If the rate fails to load, it tells you so, and it's enough to try again shortly.

When you're confirming the payment in the Bank section

Payments forwarded to automatic payment matching follow the same rules, just with the rate compared as well. A payment in a different currency than the document is converted using the CNB rate as of the payment date, and you can approve it at a difference of up to 3% (at least one unit of the currency for small amounts) — because the bank converts at its own rate. A foreign-currency payment is never matched automatically — you always confirm it yourself; automatic matching stays strict (0.2%). The tolerance for a bank fee only applies to a confirmation you make by hand.

What goes into your taxes

  • Income tax works with the amount received: the base is the amount received minus the VAT on the document. Output tax is fixed in CZK using the rate as of the date of supply (exactly that much goes into the return), so the whole exchange-rate difference between the date of supply and the date of payment counts as income.
  • The income ledger carries, alongside the Currency column, a Foreign amount column (what arrived in that currency) and a CNB rate column (the rate as of the payment date), so your accountant can check the CZK base against the bank statement.
  • The income tax return (DPFDP7) and the income relevant to flat-rate tax both use that same CZK amount.
  • VAT doesn't change with the payment — the base and the tax stay in CZK, converted at the rate as of the day the duty to declare the tax arose. The exception is a tax document for a received advance, which uses its own rate valid as of the day the payment was received.
💡 You can say the same thing to the AI assistant: "mark invoice 20260012 as paid, EUR 985 arrived" (or "CZK 24,300," if the bank converted the payment). The rules and checks are the same as in the form.

How to issue an invoice in foreign currency, which rate applies for VAT, and how the SEPA QR payment works — see the article Invoicing abroad. Received documents in foreign currency are covered by Foreign-currency expenses.