Ten invoices a month means ten bank-account checks and ten manual clicks on "paid" — and then, sooner or later, one payment you miss because the client sent the money without the Czech variable symbol (variabilní symbol, a numeric payment reference most Czech bank transfers carry). Matching payments to invoices solves exactly this problem, but there is more than one way to do it technically, and they do not all work the same way for everyone. Before picking a tool or a plan, it helps to understand how each method actually works under the hood, rather than just trusting the marketing word "matching."
This guide compares three approaches — direct bank API integration, forwarded email payment notifications, and manual statement import — and shows how the most-used Czech invoicing tools handle them as of 5 September 2026.
Three ways to get a payment matched to an invoice
Before deciding which tool to use, it is worth knowing what actually exists. In practice, there are three technically distinct paths.
- Direct bank API integration (open banking) — with your consent, the tool connects straight to your bank and reads account movements.
- Emailed payment notifications — the bank sends an email for every incoming payment, which you forward (or set up to forward automatically) to the invoicing tool.
- Manual statement import — you download a statement (CSV, or the Czech ABO format) from time to time and match payments yourself, sometimes with a suggested match from the tool.
Direct bank API integration
At first glance this looks like the most convenient option — the tool sees account activity without any forwarding at all. It comes with three practically important limits, though. First, it only works with banks that support open banking and that the tool has a technical integration with. Second, under EU payment-services rules, consent to third-party account access must be renewed periodically, typically roughly every 180 days, so it is an ongoing task rather than a one-off setup. Third, this feature tends to sit behind a higher, paid tier.
EU payment-services rules require the bank to periodically re-confirm that you still consent to third-party access to your account. Once consent expires (usually after around 180 days), you have to log back into your online banking and confirm again, or the connection breaks and matching stops until you renew it. If you hold accounts with several banks, you can end up renewing consent for a few of them in quick succession at the same time.
Emailed payment notifications
The second route uses the email notifications banks routinely send for every account movement. In your online banking you set up, once, which address these notifications go to (or you set a mailbox rule to forward them), and the tool reads the content of the message — the amount, the variable symbol, the date, sometimes the payer's IBAN.
The advantage is that this works with virtually any bank that offers email notifications at all, regardless of whether the invoicing tool has a technical integration with it. The downside is depending on the notification actually arriving — if you turn off email alerts in your banking app or accidentally delete the forwarding rule, matching stops.
Manual statement import or manual matching
The simplest and least automated option: you mark an invoice as paid yourself after receiving the money, or import a CSV or ABO statement once a week or month and let the tool suggest matches. For a handful of invoices a month, this is entirely sufficient and needs no setup in your online banking at all.
How matching actually decides, and when it fails
The vast majority of tools, Taxorio included, decide primarily on a match between the variable symbol and the exact amount. If both values match, the invoice is marked as paid automatically. Every other case waits for manual confirmation.
Automatic matching typically fails when a client leaves out the variable symbol or mistypes it, pays several invoices at once with a single transfer, rounds the amount up or down, or sends a payment from abroad in euros instead of Czech crowns. In none of these cases does anything break — the payment simply sits as a suggestion waiting for your confirmation instead of matching itself. Our companion guide on partial payments and overpayments goes into these edge cases in detail.
A typical failure scenario: a client receives an invoice for 12,500 CZK, then a week later another for 8,200 CZK, and decides to settle both at once with a single transfer of 20,700 CZK carrying the variable symbol of only one of them. The tool will not automatically match that payment to either invoice, because the amount does not correspond exactly to either one — it stays as a suggestion waiting to be split manually between the two.
The cheapest prevention is your own QR payment code on the invoice — the client just scans it in their banking app and both the variable symbol and the amount are filled in automatically, with no room for a typo.
What it costs: comparing Czech invoicing tools as of 5 September 2026
Prices and limits change over time, so check the current price list before you decide. As of 5 September 2026, payment matching across the most-used tools looks like this (prices exclude VAT, monthly billing):
| Tool | Matching method | Minimum plan | Price/month |
|---|---|---|---|
| Fakturoid | List of supported banks, plus forwarding from Gmail/Seznam | Na každý den | 212 CZK |
| iDoklad | Direct integration with selected banks | Oblíbený | 430 CZK |
| Vyfakturuj | Email alerts from any bank, plus Fio API | Mini | 175 CZK |
| SuperFaktura | Payment matching | Základní | 129 CZK |
| mPOHODA | Homebanking — statement import matched by variable symbol | check current pricing | 166–298 CZK |
| Taxorio | Emailed payment notifications, read by AI | Pro | 69 CZK |
A detailed comparison of two of the best-known Czech invoicing tools is available in our article Fakturoid vs. iDoklad 2026.
When comparing prices, it is worth checking what each tool's free tier actually gives you. Fakturoid, iDoklad, Vyfakturuj, and SuperFaktura all limit their free tier mainly by the number of customers or contacts (typically to 5), and none of them include payment matching or reminders for free. Taxorio's Free plan instead limits the number of new invoices per month (to 2), but does not limit the number of clients in your address book at all. Payment matching itself sits behind a paid tier in every case.
Security: what you are actually handing over
With emailed notifications, you only give the tool access to the content of the specific emails you forward, or set to be forwarded automatically — not access to your whole mailbox or your bank account. With API integration, you grant read access to account movements under the terms of open banking. You should never enter your online banking login credentials into an invoicing tool — no legitimate tool will ever ask for them.
If you suspect your forwarding address has leaked or is known to someone it should not be, change it in your settings and update the forwarding rule in your bank.
With emailed notifications, there is also no permanent link tying you exclusively to the tool — the forwarding rule runs inside your own mailbox, and you can cancel or change it at any time without touching anything in the invoicing tool's own settings. From the standpoint of control over your own data, that is an advantage over a permanent API connection, which has to be actively disconnected on the bank's side.
How much time this saves, and when it is not worth it
Automation pays off roughly in proportion to how many invoices you send. At 25 invoices a month and about two minutes spent finding each matching payment, that is roughly 50 minutes a month that matching saves. At two invoices a month, the difference is negligible and clicking "paid" by hand is entirely sufficient — there is no reason to pay for a higher tier just for that.
For a tradesperson or small business issuing 60 invoices a month, that becomes roughly two hours of saved time that would otherwise go into comparing a bank statement against issued invoices line by line. Conversely, for a seasonal business with a sharp spike in invoice volume, it can make sense to switch on paid automation only for a few months a year and match manually the rest of the time. If you also receive payments through services like Revolut, Wise, PayPal, or Stripe, those have their own matching and tax quirks — our article on Revolut, Wise, PayPal, and Stripe for Czech freelancers covers that in detail.
How Taxorio handles this
Taxorio matches payments using forwarded email notifications, not a direct bank API connection — the app does not read your email inbox or connect to your bank directly; it only processes what actually arrives at a dedicated address. You set up an address in the form platby-xxxxx@taxorio.cz, add it once in your online banking as the recipient of payment alerts (or forward it via a mailbox rule), and AI reads the amount, variable symbol, date, and IBAN from the email. When the variable symbol and the exact amount match, the invoice is marked paid automatically; every other suggestion waits for a one-click confirmation in the Bank section.
This works with any bank that offers email payment notifications; Taxorio has step-by-step guides for Komerční banka, ČSOB, Fio banka, Česká spořitelna (George), Raiffeisenbank, and mBank. A partial payment is not matched — the invoice stays unpaid until the client settles the rest; an overpayment is dealt with manually. This feature is part of the Pro plan.