How to Create a Peppol Invoice from Scratch (No PDF Needed)

When You Need to Create an Invoice from Scratch

Not every business starts with a PDF. Maybe you are a freelancer who has been invoicing informally, a small business setting up e-invoicing for the first time, or a company that needs to generate a one-off invoice outside your usual accounting system. Whatever the reason, InvoicePeppol lets you create a fully compliant Peppol BIS 3.0 invoice from scratch — no existing PDF required.

Peppol BIS 3.0 is the most widely accepted e-invoicing format across Europe. It uses UBL 2.1 XML and complies with the EN 16931 European standard, meaning your invoice will be accepted by government portals, Peppol Access Points, and accounting software across the EU. Countries like Belgium, the Netherlands, Denmark, and Sweden either mandate or strongly encourage Peppol for B2B and B2G invoicing.

Here is exactly how to create a Peppol invoice using the InvoicePeppol invoice builder.

Step-by-Step: Create a Peppol BIS 3.0 Invoice

  1. Go to the Create Invoice page.

    Navigate to Create Invoice from the dashboard or navigation menu. This opens the invoice builder form where you will enter all the details for your new invoice.

  2. Enter invoice details.

    Fill in the invoice header: invoice number, issue date, due date, and currency code (e.g., EUR, SEK, DKK). The invoice number should follow your own numbering scheme — it must be unique for each invoice you issue. If you leave the due date blank, it defaults to the payment terms you specify.

  3. Fill in seller details.

    Enter your company information: legal name, street address, city, postal code, country, and VAT number. If you are registered on the Peppol network, include your Peppol participant ID (endpoint identifier). For B2G invoicing in some countries, you may also need a specific registration number (e.g., KVK in the Netherlands, CBE in Belgium).

  4. Fill in buyer details.

    Enter the recipient's information: company name, address, country, and VAT number. If the buyer has a Peppol participant ID, include it — this is required when the invoice will be sent through the Peppol network. For government buyers, you may need a specific identifier like a Leitweg-ID (Germany) or GLN (Global Location Number).

  5. Add line items.

    Add each product or service as a line item. For each line, enter: a description, quantity, unit of measure (e.g., "each," "hour," "piece"), unit price, and the applicable VAT rate (e.g., 21%, 19%, 25%). The line total is calculated automatically from quantity multiplied by unit price. You can add as many line items as needed.

  6. Select Peppol BIS 3.0 as the output format.

    Choose "Peppol BIS 3.0" from the format options. This ensures the generated XML uses UBL 2.1 syntax with the correct Peppol customization ID and business rules applied.

  7. Review the summary.

    Before generating the XML, review the full invoice summary: check that seller and buyer details are correct, verify that line item totals add up, and confirm the VAT breakdown matches your expectations. This is your final chance to catch any errors.

  8. Download your Peppol XML.

    Click download to get your compliant UBL 2.1 XML file. You can then submit this to your Peppol Access Point for delivery over the Peppol network, upload it to a government portal, or send it to your buyer through whatever channel they require.

Tips for Creating a Valid Peppol Invoice

  • Required fields matter: Peppol BIS 3.0 has strict validation rules. At minimum, you need: invoice number, issue date, currency, seller name and address, buyer name and address, at least one line item, and a tax breakdown. Missing any of these will cause validation to fail.
  • VAT number format: Enter VAT numbers in the correct format for the country — e.g., BE0123456789 (Belgium), NL123456789B01 (Netherlands), DE123456789 (Germany). The country prefix is required. Invalid VAT numbers are the most common cause of rejected invoices.
  • Line item totals must be consistent: The sum of all line item net amounts must equal the invoice's total net amount. The total VAT must equal the sum of VAT calculated on each tax category. Peppol validation checks these calculations — rounding errors of even one cent will cause the invoice to fail.
  • Use standard unit codes: Peppol expects UN/ECE Recommendation 20 unit codes. Common ones: EA (each), HUR (hour), DAY (day), KGM (kilogram), MTR (metre), LTR (litre). Using free-text units may cause validation issues.
  • Payment information: While not strictly mandatory for all countries, including IBAN and BIC makes it much easier for the buyer to pay you. Add payment means code 30 (credit transfer) or 58 (SEPA credit transfer) for bank transfers.

What You Get: The Output XML

The file you download is a standard UBL 2.1 Invoice XML that conforms to Peppol BIS Billing 3.0. It contains:

  • The correct Peppol customization ID and profile ID in the document header
  • Seller and buyer parties with structured addresses, VAT identifiers, and endpoint IDs
  • Payment means and payment terms
  • Tax totals grouped by VAT category and rate
  • Individual invoice lines with item descriptions, quantities, prices, and per-line tax information
  • Legal monetary totals (line extension amount, tax exclusive amount, tax inclusive amount, payable amount)

The XML validates against both the UBL 2.1 schema and Peppol's business rule checks. You can submit it directly to any Peppol Access Point or government e-invoicing portal that accepts Peppol BIS 3.0.

Frequently Asked Questions

Do I need to be registered on the Peppol network to create a Peppol invoice?

No. The Peppol BIS 3.0 format is an open specification — you can generate a compliant XML file regardless of whether you have a Peppol registration. However, if you want to send the invoice through the Peppol network, both you and your buyer need to be registered with a Peppol Access Point. InvoicePeppol generates the file; delivery is handled separately.

What if I need a different format, not Peppol?

InvoicePeppol also supports Factur-X, ZUGFeRD, and XRechnung. The invoice builder works the same way for all formats — you enter the data once and choose your output format at the end. If you are unsure which format to use, check our country guides for your trading partner's country.

Can I also create credit notes this way?

Yes. The invoice builder supports both invoices and credit notes. Select "Credit Note" as the document type and reference the original invoice number. See our credit note how-to guide for the full walkthrough.

Next Steps

Ready to convert your invoices?

InvoicePeppol converts your PDF invoices to compliant e-invoicing XML in seconds. AI-powered extraction, manual review, and instant download.