Commercial & VAT Invoice Generator
The generators that came before this one will happily produce a PDF with the customer VAT number missing and the reverse-charge wording forgotten. This one checks every mandatory particular while you type — the same rules a tax office or a customs broker applies — and only then lets you print.
🔒 Your invoice never leaves your browser. Drafts are saved locally.
Three documents, one discipline
A commercial invoice travels with the goods: customs reads it to classify (HS code), to value, and to work out duty by origin. A VAT invoice answers to tax law — in the EU, Article 226 of the VAT Directive lists the particulars it must carry, and a missing customer VAT number or a zero rate with no stated basis is what gets it queried. A proforma looks like an invoice but is not one: this generator marks it visibly, because a proforma booked as a VAT invoice is a bookkeeping incident waiting to be found.
The arithmetic cannot disagree here
Checkers — including our own invoice fields checker — verify that
net, VAT and total agree, quoting the official EN 16931 rules (BR-CO-15,
BR-CO-17) an e-invoicing platform would quote. A generator can do one better:
the totals here are calculated, per VAT rate as the directive requires, so those
rules cannot fail by construction. What is checked instead is what a calculator cannot know:
whether the particulars the law lists are actually on the page.
France: in force since 1 September 2026 — and why a paper invoice still matters
France's e-invoicing mandate took effect on 1 September 2026. Every VAT-registered business in France must now be able to receive electronic invoices, and large and mid-size companies must issue them; smaller businesses follow in September 2027. The mandate concerns structured invoices exchanged through registered platforms — but the data is the same Article 226 particulars this page checks. If your invoice is complete here, the structured version has what it needs; you can look up its Peppol participant ID and the EN 16931 code lists next.
What this tool deliberately does not do
No VAT rate tables (rates change; you know your rate, we do the arithmetic), no currency conversion, no e-signatures, no sending, no bookkeeping, and no XML output — a structured e-invoice is a different artifact with its own validators. This is a format and completeness check, not tax advice: national law adds particulars the directive does not list.
Every check this tool runs (25 rules, plus forwarded families)
Article 226 particulars (shared with the invoice fields checker)
INV-001 No invoice number
An invoice carries a sequential number that identifies it uniquely. It is the first thing a tax authority looks for and the thing every later correction refers back to.
Fix: Add the number from your own unbroken sequence.
INV-002 No issue date
The date of issue is a mandatory particular in its own right, separate from the date of supply. Where they differ, both are required.
INV-003 No supplier VAT identification number
The VAT identification number under which the supplier made the supply must appear on the invoice. Without it the customer cannot deduct the VAT, which turns a formatting problem into a cash problem for someone else.
INV-004 No customer VAT number on an intra-EU B2B supply
When the customer is liable for the tax on an intra-Community supply, their VAT identification number is mandatory — it is the evidence that the reverse charge applies at all.
Fix: Obtain and show the customer VAT number, and verify it in VIES before invoicing.
INV-005 No supplier name and address
The full name and address of the supplier are mandatory particulars.
INV-006 No customer name and address
The full name and address of the customer are mandatory particulars.
INV-007 No description of the goods or services
The quantity and nature of the goods, or the extent and nature of the services, have to be stated. "Services rendered" is the classic line that fails an audit.
INV-008 No date of supply
The date on which the supply was made or completed is required where it differs from the issue date. Invoices issued in a later period than the supply are exactly the case where it matters.
INV-009 No taxable amount
The taxable amount per rate, the unit price excluding VAT and any discounts not included in it are mandatory. A gross total alone does not satisfy this.
INV-010 No VAT rate
The VAT rate applied must be stated, per rate where several apply.
INV-011 No VAT amount
The VAT amount payable must be shown, except where a special scheme excludes it. It is the number the customer deducts, so an invoice without it is not deductible.
INV-012 Zero-rated or exempt without stating why
When VAT is not charged, the invoice must say on what basis — a reference to the applicable provision, or wording such as "Reverse charge". A zero amount with nothing beside it is the most common reason an intra-EU invoice is queried.
Fix: Add the exemption reference, or the words "Reverse charge" where the customer accounts for the tax.
INV-013 VAT charged to a customer in another EU member state
On a B2B supply to a VAT-registered customer in another member state the tax is normally accounted for by the customer, and the invoice carries no VAT. Charging it here is either a mistake or a case where a special rule applies — and the invoice does not say which.
Fix: Either apply the reverse charge and state it, or state the rule that makes this supply taxable where you are.
Source: yaktool engineering reading, not a quotation: the particulars listed here follow Article 226 of the EU VAT Directive (2006/112/EC) as commonly transcribed; national law adds further requirements this tool does not cover. Confirm against your own tax advice.
INV-014 Currency missing
Amounts without a currency are not amounts. EN 16931 makes the invoice currency a mandatory business term for exactly this reason.
INV-015 Supplier or customer VAT number is not well formed
The number does not match the length and character pattern its country prefix implies. A well-formed number can still be unregistered, but a malformed one is certainly wrong — and this check costs nothing.
Fix: Correct the number, then verify it in VIES before the invoice goes out.
Source: yaktool engineering reading, not a quotation: the particulars listed here follow Article 226 of the EU VAT Directive (2006/112/EC) as commonly transcribed; national law adds further requirements this tool does not cover. Confirm against your own tax advice.
INV-016 VAT number fails its country check digit
The format is right but the check digit built into the number does not agree with the rest of it — several member states (Germany, the Netherlands, Italy and others) build one in. This is a stronger signal than a format mismatch: the number was almost certainly mistyped rather than merely formatted oddly.
Fix: Re-key the number from the customer's own documentation, then verify it in VIES.
Source: yaktool engineering reading, not a quotation: the particulars listed here follow Article 226 of the EU VAT Directive (2006/112/EC) as commonly transcribed; national law adds further requirements this tool does not cover. Confirm against your own tax advice.
Customs & generator checks
CINV-002 Line has no HS code
Customs classifies the goods by tariff number. Without one on the invoice, the broker or carrier classifies for you — slower, and not always in your favour. US import law requires a description sufficient to classify; putting the number itself on the line is standard practice.
Fix: Add the 6-digit (or destination-specific 8–10 digit) HS code to each line.
CINV-003 Line has no country of origin
Origin determines duty rate and eligibility under trade agreements. Customs invoices are expected to state the country of origin per item.
Fix: Add the ISO country code where each item was manufactured (not where it ships from).
CINV-004 No Incoterms rule
Without a delivery term the invoice does not say who pays freight, insurance and duty. Carriers and brokers will ask, and customs value calculations depend on it.
Fix: Add an Incoterms 2020 rule and the named place, e.g. "DAP Rotterdam".
Source: yaktool engineering reading of carrier and customs practice, not a statutory quotation. The closest public statute is 19 CFR § 141.86 (US imports); EU customs law does not prescribe a commercial invoice format.
CINV-005 No net weight
Weights on the invoice are cross-checked against the packing list and the transport document. Missing weights are a common cause of manual queries at clearance.
Source: yaktool engineering reading of carrier and customs practice, not a statutory quotation. The closest public statute is 19 CFR § 141.86 (US imports); EU customs law does not prescribe a commercial invoice format.
CINV-006 EU party has no EORI number
Clearing goods through EU customs requires the declarant to be registered for an EORI number. An invoice heading for the EU border without one on it means someone will be asked for it later, with the shipment waiting.
Fix: Add the EORI number of the party responsible for customs clearance.
Source: yaktool engineering reading of carrier and customs practice, not a statutory quotation. The closest public statute is 19 CFR § 141.86 (US imports); EU customs law does not prescribe a commercial invoice format.
CINV-007 Proforma marking added automatically
A proforma invoice is not a VAT invoice: it cannot be used to deduct VAT and does not create a payment obligation. The generated document carries a visible "PROFORMA" marking so nobody books it as one.
Source: yaktool engineering note: the marking itself is standard practice; the VAT consequence follows from the invoice not being issued under Article 226.
CINV-008 Line quantity or unit price is not a usable number
Quantity must be a positive number and unit price a non-negative number. A line that cannot be multiplied cannot be invoiced.
Fix: Fix the quantity/price on this line, or remove the line.
Source: yaktool engineering rule: arithmetic precondition, not a statutory particular.
CINV-009 Country code is not an assigned ISO 3166-1 code
The country field does not match any assigned ISO 3166-1 alpha-2 code. Downstream systems (customs, carriers, tax) will reject or misroute it.
Fix: Use the assigned two-letter code — check it in the country code tool if unsure.
Source: yaktool engineering rule; the ISO 3166 registry is the underlying reference.
CINV-010 VAT rate out of range
A VAT rate has to be between 0 and 100 percent.
Fix: Enter the rate as a percentage, e.g. 19 for 19%.
Source: yaktool engineering rule: arithmetic precondition.
VAT numbers, EORI numbers, IBANs, RF payment references, HS codes and Incoterms are checked by
the same engines as their dedicated tools, and findings keep those tools' rule IDs — so a
HS- or IBAN- finding here can be explored in depth on its own page.