Invoice to check
Drop .json, .xml, or Factur-X .pdf files here, or choose them.
Up to 50 files, 1 MB each. Multiple files also flag repeated invoice numbers.
Or paste one JSON invoice:
Preflight result
No invoice checked yet.
FOR BOOKKEEPERS AND ERP ADAPTERS
Check an invoice Try a broken example
Drop a JSON, UBL, CII, or Factur-X PDF invoice or credit note — or paste the JSON shape — and get rule IDs plus a suggested fix for missing fields, totals that do not add up, a credit sent as a commercial invoice, a missing original invoice reference, a prepaid that does not leave the stated amount due, a missing remittance on an IBAN transfer, mixed VAT rates without a per-rate breakdown, a 0% line without an exemption reason, a buyer electronic address that fails its GLN or EAS scheme, an invoice period that is incomplete or ends before it starts, a SEPA payment means without an IBAN, a purchase-order field that repeats the invoice number, a header discount that does not match its percent, payment terms days that do not match the due date, and transposed VAT, IBAN, BIC, or RF values. After using this, you can now review a structured invoice in the browser in seconds, which used to mean running a CLI or waiting for a network rejection. Everything stays on this page.
Drop .json, .xml, or Factur-X .pdf files here, or choose them.
Up to 50 files, 1 MB each. Multiple files also flag repeated invoice numbers.
Or paste one JSON invoice:
No invoice checked yet.
The same local rules as the CLI: required fields, ISO dates, currency shape,
party identifiers, line arithmetic, totals, optional prepaid versus amount
due (INV-028 and INV-029), optional VAT, IBAN, and BIC typo catches
(INV-022 through INV-027), remittance matching (INV-030 and INV-031),
credit-note document type plus original-invoice reference
(INV-032 through INV-034), 0% or exempt lines that omit a tax
reason (INV-035 and INV-036), mixed tax rates without a
per-rate breakdown (INV-037 and INV-038), and optional buyer or
seller electronic addresses (INV-039 through INV-041), and an
optional invoice period that is incomplete or ends before it starts
(INV-042 and INV-043), optional payment means versus IBAN
(INV-044 through INV-046), optional buyer or purchase-order
references (INV-047 through INV-049), optional header
allowances or charges (INV-050 through INV-052), and optional
payment terms days versus due date (INV-053 and INV-054).
UBL XML, UN/CEFACT CII, and Factur-X / ZUGFeRD PDFs (the embedded XML) are mapped into that shape.
A PDF result says Unwrapped factur-x.xml (CII) from the PDF
when the standard attachment was opened; custom attachment names are not shown. UBL mapping includes CreditNote,
BillingReference, payee account, branch,
PaymentID, PaymentMeansCode, TaxExemptionReason, TaxSubtotal, EndpointID, InvoicePeriod, BuyerReference, OrderReference, invoice-level AllowanceCharge, and PaymentTerms SettlementPeriod DurationMeasure. It is not
a Peppol, EN 16931, or tax-law validator and it does not submit anything.
Prefer a pipeline? The same checks run from
python3 -m einvoice_preflight invoice.json in this directory.
No. The page only reads files or pasted JSON in your browser and reports observations. It never contacts a tax authority or submission network.
Drop a JSON, UBL, or CII (XRechnung / Factur-X) XML invoice or credit note, a Factur-X / ZUGFeRD / XRechnung PDF with an embedded invoice, or paste the JSON shape. The checker unwraps the PDF in the browser when needed and reports missing fields, date-shape mistakes, a header allowance or charge whose amount does not match its percentage, a purchase-order reference that repeats the invoice number or is a placeholder, payment terms days that do not match the due date, a SEPA or credit-transfer payment means without an IBAN, an invoice period that is incomplete or ends before it starts, totals that do not match the line items, mixed tax rates without a per-rate breakdown, a buyer electronic address that fails its GLN or EAS scheme, a credit sent as a commercial invoice, a missing original-invoice reference, a 0% or exempt line without a tax reason, prepaid versus amount-due mismatches, a missing remittance on an IBAN invoice, and optional VAT, IBAN, BIC, and RF typo catches, with a rule ID and a suggested fix. It does not decide tax treatment or legal validity.
Group the lines by rate, sum each rate's net, multiply by that rate, and round to the cent — see the worked example the INV-037/INV-038 checks are built from.
Every rule this checker reports has an INV- code naming one specific defect and the field it was found in — the rule reference lists all of them with a fix for each. They are this tool's own identifiers, not EN 16931 BR- rules or a submission network's rejection codes.
Receiving structured e-invoices has been mandatory since 1 January 2025; issuing is mandatory from 2027 (businesses above 800,000 euro prior-year turnover) and 2028 (everyone) for domestic B2B. See the dates, the formats that count and a free XRechnung check.
France: every business must receive e-invoices from 1 September 2026, and large and mid-size companies must issue them; the rest follow on 1 September 2027. See the French dates, formats and mentions.
All countries side by side: e-invoicing mandates by country, with dates, formats and what this checker covers.
Slovakia: domestic B2B and B2G e-invoicing is reported to become mandatory on 1 January 2027 over Peppol; vendor sources only, said plainly. See the Slovak dates and what this checker does not cover.
Hungary: every domestic B2B invoice is reported to NAV (Online Számla) but there is no general structured e-invoice mandate yet; vendor sources only, said plainly. See the Hungarian rules and what this checker does not cover.
Denmark: no general B2B e-invoice date, but the Bookkeeping Act pulls businesses onto registered systems and NemHandel in 2027; secondary sources only, said plainly. See the Danish dates and what this checker does not cover.
Estonia: public buyers have taken e-invoices since 2019 and, since 1 July 2025, a business registered as an e-invoice recipient can require them from suppliers; a full B2B mandate is only discussed for 2027. See the Estonian dates, where sources disagree, and what this checker does not cover.
Latvia: e-invoices for state budget bodies since 1 January 2025; the domestic B2B mandate was postponed from 2026 to 1 January 2028 (vendor sources only). See the Latvian dates and what this checker does not cover.
Slovenia: domestic B2B e-invoicing adopted 23 October 2025 for 1 January 2028, PDFs excluded (vendor sources only). See the Slovenian dates and formats.
Serbia: every B2B and B2G invoice is cleared through the state SEF platform (UBL 2.1) and the buyer accepts it there; vendor sources only. See the Serbian dates, where sources disagree and what this checker does not cover.
Czech Republic: public bodies have accepted e-invoices since 2016; no domestic B2B mandate was enacted as of mid-2026 (advisory sources). See what is known and what is not.
Singapore: GST InvoiceNow phases in from 1 November 2025 for new voluntary GST registrants. See the dates and what is unconfirmed.
India: GST e-invoices are registered with the government portal above ₹5 crore turnover (secondary guides); this checker does not read India's format, but the page has a GSTIN check and an IRN calculator. See India's rules and what is not covered.
Australia: federal agencies receive Peppol e-invoices; B2B is voluntary. See the dates and what is unconfirmed.
Ireland: structured EN 16931 e-invoicing over Peppol is planned from November 2028 for large corporates, with every VAT-registered business receiving; vendor sources only, said plainly. See the Irish phases and what is unconfirmed.
Norway: bookkeeping-liable businesses must be able to send EHF / Peppol e-invoices to each other from 1 January 2027; receiving follows in 2030. See the Norwegian dates and format.
Lithuania: B2G e-invoicing is mandatory through SABIS and i.SAF reports invoice data monthly, but no domestic B2B mandate is enacted (2028 and 2030 are floated by secondary sources). See what is in force and what is only planned.
United Kingdom: structured e-invoicing for VAT invoices (B2B and B2G) is confirmed from April 2029 over Peppol; phasing and penalties are still to come. See what is confirmed and what is not.
Luxembourg: a draft bill would make domestic B2B e-invoicing mandatory over Peppol, receiving from 1 January 2028 and issuing from July 2028 (large and medium) and January 2029 (all); it is not law yet. See what the draft says and what is open.
Austria: federal government suppliers must send EN 16931 e-invoices (ebInterface or Peppol); B2B is voluntary with no adopted date. See what is law and what is only forecast.
Finland: no domestic B2B e-invoicing mandate yet (voluntary, though a buyer can ask for a structured invoice); government buyers take Peppol BIS 3.0 since 2019 to 2020, and EU rules reach intra-EU B2B in 2030. See what is reported and what sources disagree on.
Japan: since 1 Oct 2023 buyers claim the consumption-tax credit only on a qualified invoice with a T-number, and the transitional credit for unregistered sellers halves on 1 Oct 2026. Check a T-number and see the dates.
Mexico: every invoice is a CFDI, XML stamped by a SAT-authorised PAC, and version 4.0 requires the customer's RFC, exact name, postal code and tax regime. Check an RFC and see how it works.
Colombia: electronic sales invoices are UBL 2.1 XML that the tax authority, DIAN, validates before the buyer gets them, each with a CUFE. Check a NIT and see how it works.
Chile: tax documents are signed XML numbered with folios the SII authorises, and a received invoice is presumed accepted after 8 days without a claim. Check a RUT and see how it works.
Peru: invoices are electronic payment vouchers (CPE) regulated by SUNAT and issued from its free portal, a company system or a service operator. Check a RUC and see how it works.
Argentina: an electronic invoice needs a CAE from the tax authority, ARCA, to have tax value. Check a CUIT and see how it works.
Paraguay: the tax authority DNIT runs the SIFEN, and press reports electronic invoicing brought in by taxpayer group between June 2026 and September 2027. Check a RUC and see how it works.
Ecuador: the tax authority, the SRI, authorises electronic receipts, each identified by a 49-digit clave de acceso. Check a RUC or a clave de acceso and see how it works.
Indonesia: VAT invoices (faktur pajak) are issued and approved in the tax authority's Coretax system since January 2025, and the NPWP now has 16 digits. Check an NPWP's format and see what the sources leave open.
Vietnam: electronic invoices have been compulsory for most taxpayers since July 2022, with a tax authority code or without, and Decree 70/2025 added cash-register invoices from June 2025. Check a tax code and see what sources differ on.
South Korea: tax invoices must be electronic and reported to the National Tax Service by the next day. Check a business registration number and see what the sources leave open.
Egypt: B2B and B2G invoices go through the Egyptian Tax Authority's e-invoicing system, signed and validated, and B2C sales use e-receipts. Check a tax registration number's format and see what the sources leave open.
Kenya: invoices go through the Kenya Revenue Authority's eTIMS, and expenses without one are reported as non-deductible. Check a KRA PIN's format and see what the sources leave open.
Nigeria: clearance through the Nigeria Revenue Service's Merchant Buyer Solution, phased by taxpayer size. See who is in scope and where the sources disagree.
Israel: tax invoices above NIS 5,000 (before VAT, from 1 June 2026) need an allocation number from the Tax Authority. Check an ID or company number and see what sources differ on.
Uruguay: tax receipts are electronic (CFE) in the tax authority DGI's format, and recent resolutions reportedly extend the duty to all VAT taxpayers. Check a RUT and see how it works.
Brazil: goods invoices are NF-e, XML the state authorises before the goods move, and from July 2026 a new CNPJ can contain letters. Check a CNPJ or CPF and see what sources differ on.
Sweden: no domestic B2B e-invoicing mandate yet (optional); public-sector suppliers send e-invoices since 2019, with Peppol BIS 3.0 preferred, and EU rules reach intra-EU B2B in 2030. See what is reported and what sources disagree on.
Malta: no domestic B2B e-invoicing mandate yet (voluntary); public bodies receive EN 16931 invoices over Peppol BIS 3.0, and EU rules reach intra-EU B2B in 2030. See what is reported and what sources disagree on.
Turkey: e-Fatura is mandatory above TRY 3 million gross sales (TRY 500,000 in some sectors) and e-Arşiv covers every other invoice, in the national UBL-TR format. This checker has no UBL-TR rules. See what is reported and what it cannot check.
Cyprus: public bodies must receive e-invoices (since 2019) but suppliers are not required to send them, and no domestic B2B mandate has been reported. See what guides report and what is unknown.
Switzerland: e-invoices are required from suppliers to the federal administration on contracts of CHF 5,000 or more, with no private B2B mandate. See what is reported and what sources disagree on.
Belgium: structured Peppol e-invoicing has been mandatory for domestic B2B since 1 January 2026, with fines from the second quarter. See the Belgian date, fines and format.
Poland: KSeF became mandatory on 1 February 2026 for the largest taxpayers and on 1 April 2026 for most others; its FA(3) format is not EN 16931. See the Polish dates, penalty position and what to check first.
Croatia: structured EN 16931 e-invoicing with reporting to the Tax Administration has been mandatory for VAT-registered domestic B2B and B2G since 1 January 2026. See the Croatian date and format.
Romania: domestic B2B invoices have gone through ANAF's RO e-Factura as UBL 2.1 XML (RO_CIUS) since 1 January 2024, with B2C added in 2025. See the Romanian dates and format.
Bulgaria: no B2B e-invoicing mandate is in force; a draft VAT Act amendment (consultation to 23 October 2026) proposes structured EN 16931 invoices through the NRA's NISSEF mostly from 1 January 2028. See what is law and what is proposed.
United Arab Emirates: e-invoicing in the Peppol-based PINT AE format through an Accredited Service Provider becomes mandatory on 1 January 2027 for businesses with revenue of AED 50 million or more and on 1 July 2027 for the rest. See the dates and what this checker covers.
Malaysia: MyInvois e-invoicing has been phased in by turnover since 1 August 2024, with a relaxation period reported to run to 31 December 2027. See the phases, the penalties and what this checker covers.
Saudi Arabia: ZATCA e-invoicing integrates taxpayers with the Fatoora platform in waves; Wave 24 was due on 30 June 2026 and Wave 25 (taxable turnover above SAR 187,500) must integrate by 1 February 2027. See the waves and what this checker covers.
Portugal: no B2B e-invoicing date is confirmed; B2G is phased in, certified software and monthly reporting apply, and PDFs need a qualified signature from 2027 per most sources. See what applies and where sources disagree.
Greece: B2B invoices are cleared through AADE's myDATA platform via a certified provider (MARK number), phased in from early 2026 for larger businesses and from October 2026 for the rest; the format is not EN 16931. See the Greek dates and model.
Spain: B2B e-invoicing starts 6 October 2027 for businesses with turnover above 8 million euro and 6 October 2028 for the rest (Order HAC/1028/2026, as reported); Verifactu, a separate rule for invoicing software, is delayed to 2027. See the dates and what this checker does.
Italy: e-invoices have gone through the SdI exchange as FatturaPA XML since 2019, a national format rather than EN 16931. See how SdI works and what this checker covers.
Netherlands: e-invoices are mandatory for government suppliers (NLCIUS, a Dutch EN 16931 profile); domestic B2B is still voluntary. See the dates, format and what this checker covers.
Different jobs: Avalara (or a comparable platform) calculates and files tax and routes e-invoices across a whole operation as an ongoing subscription. This checker is a free, local, no-account validation of one invoice file's fields and arithmetic before it reaches that pipeline — see this checker vs. Avalara.