Taxes: how the system decides#
For every payment, order and document the system works out two things on its own: which document to issue and what VAT to apply. It decides based on three inputs — the seller's tax status (VAT payer, identified person, non-payer), where the customer is and whether they are a business with a verified VAT ID, and what is being sold (goods, a service, an electronic service, work on immovable property). The result is stored on the document as an imprint, so even years later you can see what it was based on.
What feeds into the decision#
| Input | Where the system gets it from |
|---|---|
| Seller status | Fakturace → Moje firmy, the "Daňový status" (tax status) fieldset — the status applies from a date, history is kept |
| Customer's country | the customer's address; for goods, the delivery address; failing that, the payment region's country, otherwise the seller's country |
| Business or consumer | the customer's company details and VAT ID; for an EU business, a verified VAT ID decides |
| Supply kind | set on the item — tariff, category, product, shipping, payment method, work at a company |
| Date | the day the duty to declare tax arises — the earlier of the payment date and the supply date |
The rate is not taken from the item, but from the pair supply kind × country as of that date. That is why no percentage is entered on a product or a tariff.
Treatment: who, where and what#
The following three tables show how the system decides. They are simplified summaries of the decision rules — they do not cover every edge case, but they never contradict one.
"EU business with a verified VAT ID" means a VAT ID verified via VIES within the last 30 days, or verified by hand by an administrator. An EU business without such verification is treated as a consumer.
The seller is a VAT payer#
| Where the customer is | What you sell | VAT | Document |
|---|---|---|---|
| Domestic (business or consumer) | goods, a service, an electronic service, work on domestic immovable property | seller's country rate | Faktura — daňový doklad (tax invoice) |
| EU, business with a verified VAT ID | service, electronic service | 0 — the customer accounts for the tax | Faktura — přenesení daňové povinnosti (reverse charge invoice); goes into the EC sales list, code 3 |
| EU, business with a verified VAT ID | goods dispatched to another state | 0 — exempt (§ 64 VAT Act) | Faktura — daňový doklad with an exemption clause; EC sales list, code 0 |
| EU, business with a verified VAT ID | goods that are not dispatched anywhere | seller's country rate | Faktura — daňový doklad |
| EU, other (consumer, or a business without a verified VAT ID) | service, electronic service, goods sold at a distance | seller's country rate | Faktura — daňový doklad |
| Outside the EU, business | service, electronic service | 0 — place of supply is outside the domestic territory | Faktura with the clause "Místo plnění mimo tuzemsko" (place of supply outside the domestic territory) |
| Outside the EU, business or consumer | goods | 0 — export is exempt (§ 66 VAT Act) | Faktura — daňový doklad with an exemption clause |
| Outside the EU, consumer | a general service | seller's country rate | Faktura — daňový doklad |
| Outside the EU, consumer | electronic service | 0 — place of supply is outside the domestic territory | Faktura with the clause "Místo plnění mimo tuzemsko" |
| Anywhere | work on immovable property | property in the seller's country → the normal rate; property abroad → 0, outside the domestic territory | depends on the branch; for property abroad the system warns that a registration duty may arise there |
The seller is an identified person#
An identified person does not charge domestic VAT. Documents print the clause "Identifikovaná osoba k DPH, není plátcem DPH." (identified person for VAT purposes, not a VAT payer) and the VAT ID.
| Where the customer is | What you sell | VAT | Document |
|---|---|---|---|
| Domestic (business or consumer) | goods, service, electronic service | 0, tax is not shown | Faktura (a commercial document, not a tax one) with the status clause |
| EU, business with a verified VAT ID | service, electronic service | 0 — the customer accounts for the tax | Faktura — přenesení daňové povinnosti; EC sales list, code 3 |
| EU, business with a verified VAT ID | goods | 0 — domestic supply without VAT | Faktura with the status clause; not "customer accounts for the tax", does not go into the EC sales list |
| EU, other | service, electronic service, goods | 0 | Faktura with the status clause |
| Outside the EU, business | service, electronic service | 0 — place of supply is outside the domestic territory | Faktura with the clause "Místo plnění mimo tuzemsko" |
| Outside the EU, business or consumer | goods | 0 — place of supply stays domestic, the export exemption does not apply to you | Faktura with the status clause |
| Outside the EU, consumer | a general service | 0 | Faktura with the status clause |
| Outside the EU, consumer | electronic service | 0 — place of supply is outside the domestic territory | Faktura with the clause "Místo plnění mimo tuzemsko" |
| Anywhere | work on immovable property | property domestic → status clause; property abroad → outside the domestic territory | depends on the branch; for property abroad the system warns of a possible registration duty |
The seller is a non-payer#
A non-payer behaves like an identified person — just with the clause "Nejsme plátci DPH." (we are not VAT payers) and no VAT ID. There is one case that differs, and it matters.
| Where the customer is | What you sell | VAT | Document |
|---|---|---|---|
| Domestic, EU consumers, outside the EU | anything | same as an identified person | Faktura with the clause "Nejsme plátci DPH." |
| EU, business with a verified VAT ID | service, electronic service | 0 — the customer accounts for the tax | Faktura — přenesení daňové povinnosti; on the day of supply you become an identified person |
| EU, business with a verified VAT ID | goods | 0 — domestic supply without VAT | Faktura with the clause "Nejsme plátci DPH." |
Your first service to an EU business changes your status
By providing a service to a business in another EU state, a non-payer becomes an identified person and must file a registration application within 15 days (§ 6i, § 97 VAT Act). The system recognizes this: it holds back the document until you fill in the "identifikovaná osoba" status and a VAT ID under Moje firmy, and sends a notice. It also watches the 15th-of-the-following-month deadline for issuing the document — from the tenth day it offers the Vystavit bez DIČ (issue without a VAT ID) action, and once you are registered it reminds you to issue a correcting document with the VAT ID.
The seller's country need not be Czechia
The tables speak of "domestic" as your company's country. The sections quoted are from the Czech VAT Act; for a seller from another country the same structure applies under the directive, but check the exact wording with your accountant.
Two branches kept at medium confidence: work on property, and selling credit
The treatment of work on immovable property for EU consumers, and of selling credit, is documented at only medium confidence. Before you build regular sales on them, check them with an accountant or a tax advisor.
Checklist: what to set up for your status#
You are a VAT payer#
- In Fakturace → Moje firmy, set the country, VAT ID and the "plátce" (payer) status with the date it applies from.
- Under Platby a měny → Daně → Sazby, check the rates for your country and for every supply kind you use.
- Assign a supply kind to tariffs, products, categories, shipping and payment methods.
- Under Fakturace → Typy faktur, check the PDF matrix — every treatment code should have its own variant, otherwise the document will not be generated.
- Note that for a domestic reverse charge (construction work between payers), the system does not decide on its own — the treatment is overwritten by hand on the document.
You are an identified person#
- Set the status to "identifikovaná osoba" (identified person) and a VAT ID — a reverse-charge document cannot be issued without a VAT ID.
- Expect that a document for a domestic customer is a commercial one, not a tax one. The PDF variant for it must not carry the title "Daňový doklad" (tax document).
- Watch to whom you sell goods within the EU: it is a domestic supply without VAT, not a reverse charge — it does not belong in the EC sales list.
- You file the EC sales list for services to EU businesses yourself, by the 25th of the following month. The system prints the code and the date on the document; it does not file the return itself.
You are a non-payer#
- Set the status to "neplátce" (non-payer) and the country. Leave the VAT ID empty.
- Before you first invoice a service to an EU business, read the warning above — from that day a 15-day registration deadline runs.
- Track your own turnover. The system does not calculate it (see below).
- Check that the PDF variant for your documents prints the clause "Nejsme plátci DPH."
What the system does NOT do#
The engine handles one document and one supply. Everything that is calculated across documents stays with you and your accountant:
- it does not track turnover for VAT registration (2,000,000 CZK, nor the 2,536,500 CZK threshold),
- it does not track the EUR 10,000 limit for electronic services and distance-sold goods to EU consumers — and once it is exceeded, the place of supply moves to the customer's state, which the system cannot handle,
- it does not handle OSS (One Stop Shop),
- it does not keep VAT records, does not file the EC sales list or the VAT return,
- it does not calculate credit for accounting purposes.
What it does do instead: it prints on the document everything an accountant needs — both parties' VAT IDs, the date the taxable supply took place, the treatment code, the clause and the EC sales list code.
Watch the thresholds yourself, outside the system
Your turnover also includes any other business income with a place of supply domestically, which the system knows nothing about. A total taken from documents in the CMS would always be only indicative — which is exactly why it is not calculated at all.
Supply kinds and rates#
Find them under Platby a měny → Daně. The screen has three tabs.
| Tab | What is in it |
|---|---|
| Druhy plnění (supply kinds) | a key, a name per language, the nature (goods, service, electronic service, work on immovable property), a default for new items, active |
| Sazby (rates) | supply kind × country × percentage, with a validity start and end date |
| Země (countries) | code, name, EU membership from–to, active |
Nature is the only thing the decision logic reads from a supply kind. You can name it whatever you like; the nature only changes when the law does.
Seven kinds are set up by default: Zboží (goods), Zboží — snížená sazba (goods — reduced rate), Služba (service), Elektronicky poskytovaná služba (electronically supplied service), Práce na nemovitosti (work on immovable property), Nákup kreditů (purchase of credit) and Doprava (shipping). You can add more — a second reduced goods rate, for instance.
Step by step: adding a new rate from a date#
- Open Platby a měny → Daně → Sazby.
- Click Přidat (add) and pick the supply kind and the country.
- Fill in the percentage and Platnost od (valid from) with the day the new rate starts applying.
- Save. The previous rate ends automatically on the day before.
Never edit a rate retroactively
The percentage on an existing rate is the value old documents were issued with. A rate change is always entered as a new row from a date — otherwise the history stops matching.
Where the supply kind is assigned#
| Where | Note |
|---|---|
| Tariffs (adverts, company catalogue, discussion, users) | replaces the earlier product type and VAT rate |
| Categories for adverts and the catalogue | optional; empty = the kind from the tariff is used |
| Products in the e-shop | replaces the VAT rate selection |
| Shipping | its own kind only where shipping is its own supply |
| Payment methods | empty = follows the order's main supply |
| Work and companies in the Moje firma module | a default kind on the company, overridable on the work item; for work on immovable property the country of the place of supply is also entered |
| Document template line items and manual documents | the kind is picked per line, the rate is read-only |
A gateway fee and shipping that have no kind of their own share the treatment of the main supply. Where a document has items with different rates, the fee is apportioned in proportion to the tax bases.
Verifying a VAT ID#
For an EU business, a verified VAT ID decides the price. The system verifies it via VIES itself:
- on registration, saving the profile, and saving a contact in the Adresář (address book),
- when an order or payment form is submitted — that is the day of supply, so it is always verified, at most once a day per VAT ID,
- with the Ověřit ve VIES (verify via VIES) button on a user, contact, order or payment.
Verification is valid for 30 days. An administrator can use Ověřit ručně (verify manually) with a mandatory note and evidence — such a verification counts the same and stays valid until the VAT ID changes. For a customer outside the EU, the Doložit firmu (document the company) button serves the same purpose.
| Situation | What happens |
|---|---|
| VAT ID verified | treated as an EU business — reverse charge, or an exempt supply of goods |
| VAT ID filled in but not verified | the customer is treated as a consumer — for a payer, that means with VAT; the order and the payment form both show "DIČ není ověřeno za posledních 30 dní" (VAT ID not verified in the last 30 days) |
| VIES did not respond, but a valid verification exists within 30 days | that older one is used; the outage is logged and the document refers to it |
| VIES did not respond and there is no valid verification | the customer = consumer; the purchase is not blocked |
A limit on front-end verification
A customer can use the Ověřit DIČ (verify VAT ID) button on their profile at most 5 times per 24 hours; automatic verification on registration and profile save is capped at 20 attempts per hour per IP address. Once used up, the button hides and the status is read from the last record. An administrator is not limited, and verification at order submission does not count against the limit.
A later verification means a correcting document
When a VAT ID is verified only after a document was issued, the system finds documents flagged "DIČ neověřeno" (VAT ID not verified) and flags them K opravě (needs correction) in the invoice grid. It does not recalculate automatically — you fix it by hand: a credit note and a new document with the current verification.
A domestic customer's Czech VAT ID is not verified, because it changes nothing about the treatment. It can still be verified manually.
Premium SMS through an intermediary#
With a premium SMS gateway, the operator — not you — bills the customer. Under Platby a měny → Platební brány (payment gateways) the gateway has a toggle for this: Službu zákazníkovi vyúčtuje zprostředkovatel vlastním jménem (the intermediary bills the customer in its own name).
With the toggle on, no document is issued to the customer — the payment is marked as intermediated and the tax logic does not apply to it. You then issue the document to the aggregator, by hand, in Fakturace → Faktury, for the amount paid out (net of its commission); the date of supply is the last day of the billing period, unless the contract says otherwise.
Only turn this on if the contract supports it
The toggle assumes the aggregator acts in its own name. If the contract does not say so, the customer is the recipient of the service and the toggle must stay off. Confirm the setting with an accountant or a tax advisor.
Credit#
The system treats credit as a single-purpose voucher. In practice that means three rules:
| Moment | VAT | Document |
|---|---|---|
| Buying a credit package with money | a taxable supply as of the payment date, with the nature of an electronic service and by the customer's country — the same as any other tariff | yes: a payer gets a tax invoice, an identified person and a non-payer get a commercial document with the status clause, an EU business with a verified VAT ID gets a reverse-charge invoice with the EC sales list code for the month of purchase |
| Spending credit (paying for a service with credit) | not a taxable supply — the tax was already settled on purchase | none |
| Free bonus credit | a discount off a future price, not a supply — no VAT | none |
The credit package price is entered as a final amount; for a payer, the tax base is worked out from it only on the document. Credit is an internal currency — how it is set up is described under Měny, DPH a jednotky (currencies, VAT and units).
For your terms and conditions
For bonus credit, the sentence "Bonusové kredity jsou slevou z budoucí ceny, nikoli bezúplatným plněním." (bonus credit is a discount off a future price, not a gratuitous supply) is worth including. Align its wording with your accountant.
The date the calculation goes by#
The day the duty to declare tax arises decides — the earlier of the supply date and the date the payment was received. The same date also determines the rate, the seller's status and the EC sales list month.
| Situation | Decisive date |
|---|---|
| Tariff paid via an instant gateway | day of payment |
| Bank transfer payment, the service starts once it clears | day it clears = day the service starts |
| Document issued by a cron job several days after payment | day the payment was received, not the day the document was issued |
| Buying credit | day of payment |
| Order paid in advance | day of payment |
| Order paid after dispatch (cash on delivery, invoice due date) | day of dispatch — the rate is determined again at dispatch |
| Manual document | the entered supply date, or the day the payment was received if earlier |
A period-based service — an advert, membership, promotion — is deemed supplied on the day it starts, not on the last day of the period. An advert paid for on 20 March therefore belongs to the EC sales list for March.
The rate can change between ordering and paying
For a consumer, the amount paid holds and the tax base is worked out from it. For a business with a price excluding tax, a shortfall can arise — the document gets a flag pointing out the date/rate mismatch and it is resolved by hand. The system offers no bulk recalculation.
Where the result shows up#
| Screen | What you see |
|---|---|
| Fakturace → Faktury (edit) | the "DPH" panel: treatment code, the date and country the rate came from, the clause, the VAT ID verification status, flags; the supply kind per line |
| Fakturace → Faktury (list) | filters and badges "K opravě" (needs correction), the seller's missing VAT ID, a VIES outage |
| Platby a měny → Přehled plateb | treatment code, country and flags for every payment |
| E-shop → Objednávky (edit) | the same "DPH" panel, read-only |
| PDF document | the document title based on the type, the treatment and the seller's status, the clause in both the document's language and Czech |
A manual override is possible, but leaves a trace
Both the treatment code and the rate can be overwritten by hand on a document, with a reason. The document then carries a manual-intervention flag — precisely so that it is obvious the decision did not come from the rules.