VAT and tax exports · 4 min read

VAT control statement — generating XML

What the VAT control statement (KH1) is, which invoices belong in sections A and B, filing deadlines, and how to generate the XML in Taxorio and upload it to the Financial Administration's EPO portal.

What the VAT control statement is

The VAT control statement (KH) is a special tax declaration that every VAT payer in the Czech Republic must file. The duty has applied since 1 January 2016. KH is different from the VAT return — it lets the tax office run a cross-check of transactions between VAT payers and helps detect tax fraud.

The VAT control statement is filed exclusively electronically — in XML format through the EPO portal or via a data box.

Who files it, and how often

  • Legal entities (s.r.o., a.s.) — file the control statement monthly, always by the 25th day of the following month.
  • The self-employed (OSVČ) — file on the same rhythm as the VAT return: monthly or quarterly.
  • An identified person doesn't file the control statement (§ 101c ZDPH) — it isn't a VAT payer. In Taxorio it therefore sees the card greyed out with an explanation; it keeps filing the VAT return (DP3).
  • Non-VAT payers don't file the statement at all.

Structure of the control statement

The control statement is split into two main parts:

Section A — output tax

Section A covers everything on which you remit the tax — including some received supplies where you declare the tax as the recipient.

  • A1 — transactions under reverse charge where you're the supplier (domestic § 92a ZDPH — for example, construction work for another VAT payer). Taxorio generates this section: one row per document plus the supply-type code, regardless of the amount (the CZK 10,000 threshold doesn't apply here). You turn the regime on directly on the invoice — this is covered in a separate help article on domestic reverse charge for issued documents.
  • A2 — received supplies where you declare the tax: goods acquired from the EU (§ 16), services received from a person registered for VAT in the EU, and services from a person not established in the Czech Republic (§ 108). Taxorio generates this section too, document by document, in the same amounts as in the VAT return. Regardless of the amount — the CZK 10,000 threshold doesn't apply here either.
  • A4 — issued invoices over CZK 10,000 including tax to another VAT payer (a domestic taxable supply). States the customer's VAT ID, the document number, the date of taxable supply (DUZP), and the base and VAT by rate.
  • A5 — the rest of the taxable supplies, i.e. documents up to CZK 10,000 including tax and supplies to non-VAT payers (one summary row, no document-level detail).

Section B — input tax (deduction)

  • B1 — received invoices under reverse charge (you're the recipient).
  • B2 — received invoices over CZK 10,000 including tax with a right to deduct. States the supplier's VAT ID, the document number, the DUZP, and the base and VAT by rate.
  • B3 — received supplies up to CZK 10,000 including tax (one summary row).
⚠️ The CZK 10,000 threshold is calculated from the document's total amount including VAT, not from the tax base — that's what the instructions for completing the control statement require. A document for CZK 9,000 excluding VAT, i.e. CZK 10,890 with tax, belongs in the detailed part A.4 / B.2. Taxorio evaluates the threshold from the total amount itself.
💡 Tip: Invoices with no right to a VAT deduction (for example, business entertainment, or fuel without a logbook) don't belong in the control statement — nor in the deduction part of the VAT return.

How to generate the XML in Taxorio

  1. Go to Taxes & insurance → VAT. The control statement has its own VAT control statement card next to the return's card.
  2. Choose the tax period.
  3. At the top, the card shows how many documents will go into the statement, and below that, the counts for Section A (issued invoices) and Section B (received invoices). Check them, and go through the findings listed under Review before submitting.
  4. Click Download (XML) — the file DPHKH1_2026-03.xml is ready to file through the MOJE daně portal (EPO).

The control statement is filed even for a period in which no tax came out payable.

Filing deadlines and penalties

The control statement must be filed by the 25th day after the tax period ends. Penalties for missing the deadline (§ 101h ZDPH):

  • CZK 1,000 — you file it late yourself, without a request from the tax office.
  • CZK 10,000 — you file it only after a request from the tax office.
  • CZK 30,000 — you don't respond to the request, but you file the KH eventually.
  • CZK 50,000 — you don't file it at all, even after a request, or you seriously obstruct the administration of taxes.
💡 An OSVČ pays half. For natural persons, quarterly payers, and an s.r.o. with a single shareholder who is a natural person, these fines are halved — CZK 500 / 5,000 / 15,000 / 25,000 (§ 101h odst. 2 ZDPH, since 2023). As an OSVČ, count on these amounts, not the full rates above.

The CZK 1,000 fine (CZK 500 for an OSVČ) doesn't arise for your first delay in a calendar year (§ 101j ZDPH) — the condition is that you haven't already been late that same year. For a repeated or serious breach, the tax office can impose a fine of up to CZK 500,000.

⚠️ Watch the deadlines on requests (§ 101g ZDPH): if you didn't file the control statement at all, the tax administrator sends you a request, and the replacement deadline is 5 days from the request being served. If it instead has doubts about the correctness or completeness of a filed statement, it asks you to change, complete or confirm it — and you have 17 days from the request being delivered to your data box. Not responding doesn't pay off: you risk a fine of CZK 30,000 to 50,000.