Invoice generator

Country and format

Country you invoice from

This tool builds your invoice and checks it against the GOBL rules. It does not send it to the tax authority.

Fill in the invoice and the document appears here.

The whole document

Computed by GOBL from what you typed, rather than entered on the form. It is part of the document all the same.
GOBL

Powered by GOBL

Invopop is built on GOBL, an open-source global format for invoices and business documents. One structured JSON file becomes a compliant document anywhere.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{
  "$schema": "https://gobl.org/draft-0/bill/invoice",
  "currency": "EUR",
  "issue_date": "2022-11-14",
  "supplier": {
    "tax_id": {
      "country": "ES",
      "code": "B28774008"
    },
    "name": "Invopop S.L.",
    "emails": [
      {
        "addr": "billing+es@invopop.com"
      }
    ],
    "addresses": [
      {
        "num": "22",
        "street": "Calle Guadalquivir",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28002",
        "country": "ES"
      }
    ]
  },
  "customer": {
    "tax_id": {
      "country": "ES",
      "code": "B33105842"
    },
    "name": "Customer Spain S.L.",
    "emails": [
      {
        "addr": "sam@customer.com"
      }
    ],
    "addresses": [
      {
        "num": "10",
        "street": "Calle Mayor",
        "locality": "Madrid",
        "region": "Madrid",
        "code": "28003",
        "country": "ES"
      }
    ]
  },
  "lines": [
    {
      "quantity": 50,
      "item": {
        "name": "Promotional mug",
        "price": "16.00"
      },
      "taxes": [
        {
          "cat": "VAT",
          "rate": "standard"
        }
      ]
    }
  ]
}

Transparent by design

See precisely how every document is built and validated, nothing hidden.

Developer-friendly

A clean, modern, open-source format that's easy to integrate and understand.

Built to grow

Expands quickly to new countries and use cases, with an open community you can contribute to.

FAQ

Questions about this tool

What it checks, what it does not, and where the rules come from.

Yes, and there is no account. The tool runs in your browser against the public GOBL API, which needs no key and charges nothing.

29 tax regimes and 17 e-invoicing formats, taken live from GOBL. That includes Factur-X and Chorus Pro in France, XRechnung and ZUGFeRD in Germany, FacturaE in Spain, FatturaPA in Italy, KSeF in Poland, and the EN 16931 European core.

Not from this tool. It gives you a validated GOBL document and a printable PDF, and it tells you every rule your invoice passes or fails. Turning that into the XML your tax authority accepts, delivering it and archiving it is what Invopop does.

Yes, with the types your country recognises. Spain takes a credit note, a debit note and a corrective invoice; Italy and Portugal two of the three; Mexico only a credit note. Pick one and the tool asks for the invoice it corrects, plus whatever rectification code the format requires.

The layout does not, and GOBL carries no per-country template. The required wording does: a Spanish reverse-charge invoice has to say “Inversión del sujeto pasivo”, a German one “Umkehr der Steuerschuld”. Tick the flag that applies and the sentence GOBL prescribes for that country appears on the sheet, in the language it is prescribed in.

Yes. Discounts and charges can be added to the whole invoice or to a single line, as a percentage or a flat amount, and several of each. A deposit already paid is recorded separately, so the invoice shows both the total and what is still due. A due date can be split into instalments. Every figure is calculated by GOBL, not by this page.

The invoice still builds. GOBL has no tax regime to check it against, so you state the VAT percentage yourself and get a plain invoice with correct arithmetic and no compliance claim attached.

GOBL, the open-source business document library Invopop is built on. Every requirement shown is a rule GOBL returned, cited by its own identifier, such as BR-8 for a missing supplier address or BR-DE-5 for a missing German contact person.