New GoGlobal Agentic finance with local expertise in 85+ countries Read the announcement

Peppol e-invoicing

Guide
Admin guides
Reading
11 min read
On this page
  1. 01On this page
  2. 02At a glance
  3. 03What is Peppol?
  4. 04Getting registered
  5. 05What you need to fill in
  6. 06How a Peppol address is built
  7. 07Which code to use, by country
  8. 08Countries with something extra to know
  9. 09Document rules
  10. 10Credit notes
  11. 11Limits
  12. 12FAQ and troubleshooting
  13. 13Related articles

What is this page about: How to register an entity on the Peppol network, what you need on your customer records to send to them, and how Light handles the country-specific quirks that come up on Peppol. This article covers what is specific to Peppol. The wizard, registration statuses and EDIFACT codes are the same everywhere and are explained in E-invoicing in Light.

On this page

  • At a glance
  • What is Peppol?
  • Getting registered
  • What you need to fill in
  • How a Peppol address is built
  • Which code to use, by country
  • Countries with something extra to know
  • Document rules
  • Credit notes
  • Limits
  • FAQ and troubleshooting
  • Related articles

At a glance

Item Detail
Countries 40+, across Europe and beyond
Kind of network Delivery. The document travels to your customer
Set up yourself Yes
Sending / receiving Both, or sending only
Address issued Yes. EAS code and e-invoice address, filled in automatically

What is Peppol?

Peppol (Pan-European Public Procurement OnLine) is an open network for exchanging business documents. It is not run by any one tax authority. Certified service providers connect to it and route documents between participants, in much the same way email providers route mail.

Because it is a delivery network, both you and your customer need an address on it. Documents travel in UBL XML built to the EN 16931 European standard, which is what makes an invoice sent from Sweden readable by a system in Portugal.

Joining costs nothing. Many EU countries now require Peppol for invoicing public bodies, and several are extending that to business-to-business invoicing.

Getting registered

Peppol is the one network where you supply the verification, by proving your company owns the address being registered.

  1. Make sure the entity's country, VAT number and business registration number are filled in
  2. Open the entity, and in the E-invoicing section click + Add
  3. Choose Peppol, and choose whether you want Sending and receiving or Sending only
  4. When the wizard asks for verification, upload a proof-of-ownership document. It needs to be a PDF, up to 10 MB, that clearly shows your company owns the business it says it does
  5. Wait. The registration sits at Pending verification while your document is checked, moves to Processing, then reaches Active
  6. Once it is Active, Light writes your EAS code and e-invoice address onto the entity

Your Peppol address is unique to your organisation and is how everyone else on the network reaches you.

If the registration ends in Error, a Retry verification button appears. An unclear or incomplete verification document is the usual cause.

Sending only skips the receiving side. Choose it if you issue invoices over Peppol but take delivery of supplier invoices some other way. It leaves any existing receiving arrangement in place rather than removing it.

What you need to fill in

On your entity

Field Needed for Notes
Country Registration Any Peppol country
VAT number Registration
Business registration number Sending Required on every Peppol invoice
EAS code, E-invoice address Filled in for you when registration completes

On each customer you invoice

Field Notes
E-invoice network Set to Peppol
EAS code What kind of identifier their address is
E-invoice address Their identifier on the network
VAT number Required
Business registration number Required, with one exception. See Germany below
Billing address Required
Postal code Required
Customer type Business, government or consumer. This changes what is required

An invoice will not send if any of these is missing, and the error message names the field.

How a Peppol address is built

Every Peppol address has the same shape:

<EAS code>:<identifier value>

For example, 0007:5560360073 is a Swedish organisation number.

The EAS code is the four-digit prefix saying what kind of identifier follows. The value is the identifier itself, never with a country prefix, never with spaces or dashes.

Validity Example
Valid 0192:999888777
Invalid 192:999888777, because the leading zero matters
Invalid 0192-999888777, because the separator must be a colon
Invalid INVALIDID, because there is no scheme

Two code lists are in play, and mixing them up is a common cause of rejection. Codes in the 0xxx range are national identifier schemes: company registers, GLN, LEI. Codes in the 9xxx range are VAT and tax schemes. Some countries have both and either is valid, some have only one. Four countries (Denmark, Norway, Iceland and Sweden) have no VAT scheme code at all and use their national register code instead. If someone hands you a 99xx code for one of those, it is wrong.

Which code to use, by country

Where two codes are listed, either identifies the same business, but they are not the same Peppol participant. A company registered under one is not automatically reachable under the other. Use whichever your customer tells you they are registered under.

Country Code Identifier Example
Austria 9914, 9915, 9919 VAT, government, KUR 9914:ATU12345678
Belgium 0208, 9925 KBO/BCE enterprise no., VAT 0208:0267300029
Bulgaria 9926 VAT 9926:BG123456789
Croatia 9934 VAT (OIB) 9934:HR12345678901
Cyprus 9928 VAT 9928:CY12345678L
Czech Republic 9929 VAT 9929:CZ12345678
Denmark 0184 CVR (DIGSTORG) 0184:13585628
Estonia 9931, 0191 VAT, registry code 9931:EE100123456
Finland 0212, 0213 Y-tunnus, VAT 0212:12345678
France 9957 VAT 9957:FR40303265045
Germany 9930, 0204 VAT, Leitweg-ID for public sector 9930:DE123456789
Greece 9933 VAT, prefixed EL not GR 9933:EL123456789
Hungary 9910 VAT 9910:HU12345678
Iceland 0196 Kennitala 0196:1203748589
Ireland 9935 VAT 9935:IE1234567T
Italy 0211, 0210, 0201, 0202 Partita IVA, Codice Fiscale, IPA for public admin, PEC 0211:IT01234567890
Latvia 9939, 0218 VAT, unified reg. no. 9939:LV12345678901
Liechtenstein 9936 VAT 9936:CHE123456789
Lithuania 9937, 0200 VAT, legal entity code 9937:LT123456789
Luxembourg 9938 VAT 9938:LU12345678
Malta 9943 VAT 9943:MT12345678
Netherlands 9944, 0190 VAT, OIN for government (20 digits) 9944:NL123456789B01
Norway 0192 Organisasjonsnummer 0192:991825827
Poland 9945 VAT 9945:PL1234567890
Portugal 9946 VAT (NIF) 9946:PT501964843
Romania 9947 VAT 9947:RO12345678
Slovakia 9950 VAT 9950:SK1234567890
Slovenia 9949 VAT 9949:SI12345678
Spain 9920 VAT / CIF / NIF 9920:ESA12345678
Sweden 0007 Organisationsnummer, 10 digits 0007:5560360073
Switzerland 9927 VAT (UID) 9927:CHE123456789MWST
United Kingdom 9932 VAT 9932:GB123456789
Albania, Andorra, Bosnia, Montenegro, North Macedonia, San Marino, Serbia, Turkey, Vatican 9923, 9922, 9924, 9941, 9942, 9951, 9948, 9952, 9953 VAT 9952:TR1234567890
Australia 0151 ABN 0151:51824753556
New Zealand 0088 NZBN, in GLN format 0088:9429000000000
Singapore 0195 UEN 0195:200012345A
Japan 0188, 0221 Corporate Number, Qualified Invoice Issuer 0221:T1234567890123
Malaysia 0230 National e-invoicing framework 0230:C12345678901
United Arab Emirates 0235 TIN 0235:100123456700003
United States 9959, 0060 EIN, D-U-N-S 9959:123456789
Any country 0088, 0199 GS1 GLN, LEI 0088:7300009000009

Deprecated codes, do not use

These have been removed from the Peppol code list. A customer still quoting one has out-of-date information.

Old code Use instead
9906, Italy VAT 0211
9907, Italy Codice Fiscale 0210
9955, Sweden VAT 0007, with the 10-digit organisation number

Countries with something extra to know

Germany, public sector. German public bodies are addressed by their Leitweg-ID under 0204, never by VAT number. Set the customer's type to Government and their EAS code to 0204. Light then does two things automatically: it omits the business registration number, which German public bodies do not have, and it uses the Leitweg-ID as the invoice's buyer reference, which they require.

Norway. No VAT scheme code exists. The nine-digit organisation number under 0192 is the standard. Norwegian VAT numbers displayed with an MVA suffix are the same digits plus a label, so strip the suffix. See the EHF article.

Denmark. No VAT scheme code either, so the CVR number under 0184 is the standard. Denmark also has its own national network, Nemhandel, which is interoperable with Peppol, so a Peppol-registered sender can reach Danish receivers. Danish participants often publish a GLN rather than a CVR-based address, so use whichever they give you.

Italy. Peppol addressing is not how Italian domestic invoices are routed. Those go through SDI, which uses its own codes. See the SDI article.

Belgium. Both 0208 and 9925 are in active use and identify the same company, but they are separate Peppol participants. Ask your customer which one they are registered under rather than deriving one from the other.

Greece. The Greek VAT prefix is EL, not GR. 9933:GR123456789 will not resolve.

Finland. Finland also has a domestic network, Finvoice, which uses OVT identifiers and operator IDs. Light supports Finvoice as its own network, so a customer who gives you an OVT identifier and an operator ID is describing a Finvoice address rather than a Peppol one. Set that customer's e-invoice network to Finvoice, or ask them for their Peppol address if you would rather reach them that way.

Luxembourg. Luxembourg's business register has no national scheme code, so Luxembourgish companies are identified by VAT number and routed under 9938. Some validators wrongly reject 9938. If a Luxembourgish invoice is refused on the scheme code, raise it with us rather than changing the customer's data.

Faroe Islands and Greenland. Part of the Kingdom of Denmark, but with their own identifiers. They are handled through Nemhandel rather than Peppol, so see that article.

Checking an address before you send

An address that is correctly formatted still will not work if the recipient is not registered. The Peppol Directory lets you look one up. A match is a strong signal the address is real. No match is inconclusive, since participants can choose not to be listed.

Document rules

Peppol imposes no format on your document numbers.

Tax codes are translated from their EDIFACT code into the EN 16931 classification, and every line without VAT is stamped with the reason it has none. The standard requires an explicit exemption reason, not just an absent rate.

EDIFACT code On the Peppol invoice
S Standard rate, at the tax code's percentage
Z Zero rated
E Exempt, with an exemption reason
AE Reverse charge, with a reverse-charge reason
K Intra-community supply, with the corresponding reason
G Export, with an export reason
O Outside scope, marked as not subject to VAT
L Canary Islands IGIC, sent as its own tax category rather than as VAT
M Ceuta/Melilla IPSI, sent as its own tax category rather than as VAT

A line with no tax code at all is sent as exempt.

Payment details. Bank transfer and direct debit are conveyed as SEPA credit transfer and direct debit respectively, along with the IBAN, BIC and bank name from the entity's bank account. Invoices paid by Stripe or Airwallex carry no payment instruction, because those are settled outside the banking instruction the invoice would describe.

Delivery address. If a customer has a shipping address that differs from their billing address, it is included on the invoice as the delivery address. If they are the same, it is left off.

Credit notes

Credit notes go over Peppol the same way invoices do, with the same field requirements. There is no special linking step. A credit note references the invoice it corrects through the normal invoice reference.

Limits

  • Finvoice is a separate network. A Finnish customer reachable only by OVT identifier is on Finvoice, not Peppol. See the country note above.
  • Peppol reaches Peppol participants only. A customer who is not registered on the network cannot be invoiced through it, however complete their record in Light is.
  • Sending to a country Light has not yet declared an identifier scheme for will be refused rather than guessed at. If you need a country that is not in the country notes above, contact support.

FAQ and troubleshooting

How do I find a customer's Peppol address?

Ask them, because their finance team will know it. It is normally their company registration number or VAT number, plus the code that says which. You can also search the Peppol Directory, though not every participant is listed.


My customer gave me a code starting with 99 and they are Danish.

Denmark has no VAT scheme code in Peppol. Use 0184 with their CVR number. The same applies to Norway, Sweden and Iceland, as shown in the country table above.


My customer's code is 9906 or 9907.

Those were removed from the Peppol code list. Italian companies now use 0211 for the Partita IVA and 0210 for the Codice Fiscale.


My customer gave me an OVT number and an operator ID.

That is a Finvoice address, not a Peppol one. Light supports Finvoice as its own network, so set that customer's e-invoice network to Finvoice, or ask them for a Peppol address instead.


The invoice was rejected because of the scheme code.

Usually a national code used where a VAT code belongs, or the reverse. Contact support with the rejection message rather than editing the customer's data by trial and error.


My German public-sector invoice was rejected for a missing business registration number.

Set the customer's type to Government and their EAS code to 0204. Light then omits the business registration number, which is what German public bodies expect.


Do I have to register to receive invoices?

Yes, and you must not choose Sending only if you want to receive.


Is Peppol free?

There is no fee to participate in the network itself.

Was this article helpful?