Short answer: use a form, not an XML editor

No, a small business does not need to write XML to send a Peppol invoice. A Peppol invoice is a structured data file that follows the Peppol BIS Billing 3.0 specification. That means an invoice whose fields are machine-readable: a computer can process them automatically, without anyone retyping the numbers by hand. You fill in an ordinary invoice form in your e-invoicing or accounting software: customer name, amounts, VAT, due date. The software builds the XML file itself and sends it across the Peppol network. On 17 August 2026, a new version of BIS Billing 3.0 became mandatory, so it’s worth checking that your operator is running the latest set of validation rules.

Your job stops at entering ordinary invoice data. If a client or operator tells you the invoice “failed validation,” that doesn’t mean you need to fix XML code by hand. It means a field in the form is missing or wrong, and you need to go back and check it there.

What Peppol is, and what it isn’t

Peppol is a secure network that carries structured invoices from one system to another. Peppol itself isn’t software, and it isn’t a form you fill in. Think of it as a postal service for invoices. Whatever travels on that network has to follow the Peppol BIS Billing 3.0 rules, which set out exactly which data fields an invoice needs and how they’re structured. That structure is called UBL (Universal Business Language), one of the most common XML-based invoice formats. XML (Extensible Markup Language) is simply a machine-readable file format computers use to exchange data; you’ll usually never see it.

A Peppol invoice is not the same thing as a PDF invoice emailed to a client, and it’s not the same as filing a VAT return with the tax authority. These are three separate obligations: sending the invoice to the customer, making the data machine-readable, and reporting figures to the state. They often happen together, but they don’t have to.

What to check before you create the invoice

Before you open the invoice screen, run through this:

  • Is the client Peppol-ready? Can the buyer actually receive Peppol invoices, and do you have their exact Peppol ID, the address the invoice needs to be routed to?
  • Buyer reference or order number: under the current Peppol rules, an invoice needs either a buyer reference or an order number. Without one, validation fails.
  • Client-specific instructions: some larger clients and public bodies want their own internal code, not a reference you’ve made up. Ask the client for that number directly. Don’t guess.

Send a Peppol invoice in five steps

  1. Pick the client and the sending method. Mark in the software that the invoice goes out through the Peppol channel, not by email.
  2. Add the seller’s and buyer’s identifiers. Your Peppol ID and the client’s are usually pulled in automatically from the client record.
  3. Enter the line items, VAT and payment terms. Products or services, prices, VAT rate, due date.
  4. Add the buyer reference or order number. This field isn’t optional.
  5. Run validation and send. The software checks the invoice automatically before it goes out and flags anything missing.

Which fields matter more than they look?

Picture a €1,200 invoice to a client in Latvia. The amount and VAT are correct, but the invoice can still bounce back if:

  • the invoice number isn’t unique and repeats an earlier one;
  • the currency code is wrong or missing;
  • the VAT category and rate don’t match (say, 0% VAT with no justification given);
  • the seller’s or buyer’s identifier has a typo;
  • payment details, IBAN, reference number, are missing or wrong;
  • the buyer reference or order number field is blank.

That last point is the most common mistake by far. Under the Peppol rules, it’s a mandatory field, and leaving it out is a hard validation failure, not a suggestion you can skip.

PDFs, attachments, and rejected invoices

A PDF invoice is readable by a person, but it isn’t a Peppol invoice. According to the Estonian Ministry of Finance’s guidance, an e-invoice is a machine-readable file that the recipient doesn’t need to retype by hand. An image or a PDF doesn’t meet that bar. Plenty of software attaches a PDF copy alongside the structured invoice so a person can quickly glance at the content, but that’s a convenience, not a substitute.

If an invoice never reaches the client, that’s a delivery problem, usually a wrong Peppol ID or a connection issue. If it reaches the client but their system rejects it, that’s a business-rules problem, most often a missing buyer reference or a wrong detail somewhere. Check those two things first before you start doubting the software.

What applies in Estonia and Latvia now, and what’s coming

In Estonia, a business that has registered itself as an e-invoice recipient in the e-Business Register can, from 2025 onward, require its suppliers to send an e-invoice, unless both sides have agreed otherwise. Estonia allows either the local standard or the European one, Peppol, and the ministry recommends the latter for businesses, since it’s used far more widely across the EU.

Latvia’s rules are stricter and the timeline is clearer. From 1 January 2025, a structured e-invoice is mandatory for G2G, B2G and G2B transactions, and from 1 January 2026, invoice data from those same transactions also has to be reported to the State Revenue Service (Valsts ieņēmumu dienests, VID). For B2B transactions, reporting that data to VID stays voluntary until 31 December 2027. From 1 January 2028, both the structured e-invoice and reporting its data to VID become mandatory for transactions between Latvian businesses too.

At EU level, the next deadline that matters is 1 July 2030, when the ViDA reform, VAT in the Digital Age, makes e-invoicing the default for cross-border B2B transactions. If you’re already sending Peppol invoices today, you’re ready for that deadline years before it becomes anyone else’s problem.

FAQ

Kas väikeettevõtja peab Peppol-arve saatmiseks XML-i kirjutama?

Ei, väikeettevõtja ei pea XML-i kirjutama. Täidad tavalise arve vormi oma tarkvaras ja tarkvara koostab XML-faili ise ning saadab selle Peppol-võrgu kaudu.

Mis on Peppol?

Peppol on turvaline andmevahetusvõrk arvete jaoks. See ei ole tarkvara, vaid nagu postiteenus, mis edastab struktureeritud arveid.

Millised on kõige levinumad vead Peppol-arve saatmisel?

Kõige levinum viga on ostja viite või tellimuse numbri puudumine. See on kohustuslik väli ja selle puudumine põhjustab valideerimisvea.

Mis vahe on Peppol-arvel ja PDF-arvel?

PDF-arve on inimesele loetav, kuid ei ole masinloetav. Peppol-arve on struktureeritud XML-fail, mida arvutid saavad automaatselt töödelda.