What an invoice PDF must contain: the fields tax authorities actually check

The eleven fields present on a compliant invoice in the EU, UK and US, the ones people forget, and how to bake them into a template so they are never missing.

Updated 31 August 2026

An invoice is a tax document before it is a request for money. Auditors do not care how it looks; they care that a fixed set of fields is present and consistent across the sequence.

Fields that are always required

  • Seller's legal name, address and tax registration number (VAT number in the EU/UK, EIN or state tax id in the US where applicable)
  • Buyer's legal name and address
  • A unique, sequential invoice number
  • Issue date; supply date if it differs
  • A description of each line: quantity, unit price, net amount
  • Tax rate and amount per rate (or the reason none applies — reverse charge, exemption)
  • Total net, total tax, total gross
  • Currency
  • Payment terms and due date

The ones people forget

  • Sequential numbering without gaps: a deleted invoice must be replaced by a credit note, not renumbered
  • Reverse-charge wording on cross-border B2B services in the EU
  • The buyer's VAT number on intra-EU supplies — without it the seller must charge VAT

Bake it into the template

The mistake is leaving fields optional in the form. Make the template fail loudly when a required field is empty, and store the invoice number generator on the server, not in the request. With the API, one JSON object per invoice and the numbering lives in your billing code.

Try it: convert HTML to PDF in the browser, or get a free API key — 50 documents a month.

More guides

Writing HTML templates for PDF: a style guide (Jinja, Django, Handlebars)

Templates that render well as PDFs follow a few rules: fixed page geometry, no external state, defensive filters, print CSS. Examples in Jinja and Django syntax.

Issuing 5,000 course certificates in one afternoon

A spreadsheet of names, one landscape template, batch requests of 100, and signed links per student. The full workflow including naming, verification codes and delivery.

Generating receipts at checkout without slowing the checkout

The receipt PDF should never sit between the customer and the order confirmation. A pattern: confirm first, render asynchronously, attach when ready.

URL-to-PDF and SSRF: how a PDF renderer becomes an attack surface

A renderer that fetches URLs can be pointed at your internal network. The attacks, the defences, and what to demand from a PDF API vendor.