
Peppol provides a standardized infrastructure for exchanging electronic invoices and other business documents. But standardization does not mean that every transaction will work automatically.
An invoice can fail because its data is invalid, the recipient cannot be found, the wrong business process is used or the buyer rejects it after delivery. In enterprise environments, the underlying cause may sit anywhere between the ERP, invoice mapping, master data, Peppol discovery services and the Access Point.
This guide explains ten common Peppol invoice errors. Each section starts with the practical problem in plain language and then examines the relevant technical details for enterprise and ERP integration teams.
Technical scope: Reviewed against Peppol BIS Billing 3.0 version 3.0.21 and the OpenPeppol eDelivery specifications available in August 2026. Country-specific requirements and specifications continue to change.
Three types of Peppol invoice failure
Before troubleshooting, determine where the failure occurred.
| Failure type | Beskrivelse | Consequence |
|---|---|---|
| Validering | The invoice contains missing, incorrectly formatted or inconsistent data | The invoice is rejected as invalid |
| Discovery or routing | Peppol cannot locate a compatible receiving service for the recipient | The invoice cannot be delivered |
| Business processing | The invoice was delivered but the buyer cannot approve or process it | The invoice is queried or rejected |
These failures require different responses. Resending an unchanged invoice will not correct invalid data. Changing the invoice will not help if the recipient’s Peppol registration is incomplete. A successful transport receipt does not mean the buyer has approved the invoice.
1. The recipient’s Peppol ID is incorrect
A Peppol ID works like a network address, but entering the right organization number is not always enough. The identifier must use the correct scheme and exactly match the identifier under which the recipient is registered.
A seemingly minor difference—such as the wrong prefix, a removed leading zero or use of a VAT number instead of a national business identifier—can prevent Peppol from finding the recipient.
How to fix Peppol ID errors
Store the Peppol identifier as controlled master data rather than free text. The identifier scheme and value should be held separately and validated before invoicing.
Before sending:
- Verify the recipient with a current Peppol ID search.
- Confirm the relevant legal entity, not only the corporate group.
- Preserve leading zeroes and required formatting.
- Avoid automatically adding or removing country prefixes.
- Establish ownership of Peppol identifiers in the customer master-data process.
Technical detail
Peppol participant identifiers consist of a scheme and a value. The permitted schemes are maintained in OpenPeppol’s Participant Identifier Scheme code list.
Peppol BIS Billing also requires electronic addresses for the seller and buyer. Rules PEPPOL-EN16931-R010 og R020 make the respective endpoint elements mandatory, while the applicable code-list rule checks the electronic-address scheme.
The identifiers used inside the invoice and in the Peppol transport envelope operate at different layers. ERP mappings and Access Point integrations must populate them consistently according to the relevant profile.
2. The recipient is registered, but not for the document being sent
A company can be present in Peppol without being able to receive every type of Peppol document.
For example, a recipient may be registered to receive standard Peppol BIS Billing invoices but not a particular PINT invoice, ordering message or business process. The Peppol ID is valid, but the requested receiving capability is not available.
How to fix it
Do not treat registration as a simple yes-or-no attribute in the ERP. The relevant question is whether the recipient can receive the exact combination of document type and business process being sent.
Your integration should:
- Check the recipient’s current capabilities.
- Select a supported document type and process.
- Handle capability changes without requiring manual ERP reconfiguration.
- Return a clear error to the user when the recipient is registered but incompatible with the selected document.
Technical detail
Receiving capabilities are published through a Service Metadata Publisher, or SMP. The metadata connects a participant identifier with supported document types, process identifiers, transport profiles, endpoints and certificates.
The sending Access Point performs a capability lookup before delivery. If the receiving Access Point does not service the participant for the requested document type and process, the Peppol AS4 specification defines an error with the detail PEPPOL:NOT_SERVICED.
The current optional Peppol Billing-with-Response profile also requires its own SMP registration. Support for standard Billing does not automatically imply support for every related profile.
3. Discovery information is outdated or temporarily unavailable
Even when the invoice and Peppol ID are correct, the network may temporarily look in the wrong place.
This can happen when a company changes Peppol service provider, when old routing information remains cached or while changes are being propagated. The sender may see an error suggesting that the recipient does not exist, although the actual problem concerns outdated discovery information.
How to fix outdated discovery information
ERP applications should not attempt to reproduce the complete Peppol discovery process themselves unless this is a deliberate part of the product architecture. Discovery, certificate validation, routing and retry handling are normally better managed by the Peppol service provider.
ERP and enterprise teams should still ensure that:
- Errors distinguish invalid invoice data from discovery failures.
- Temporary failures are retried according to a controlled policy.
- Repeated retries do not create duplicate invoices.
- Service-provider migrations are planned and monitored.
- Cached recipient capabilities are refreshed when necessary.
- Operational teams can trace which endpoint and capability were resolved.
Technical detail
Peppol discovery uses the Service Metadata Locator and DNS to locate the authoritative SMP for a participant. The SMP then provides signed metadata for the requested document type and process.
Current OpenPeppol specifications use NAPTR-based discovery and HTTPS-accessible SMP services. SMP metadata may also redirect a lookup to a secondary SMP, although clients are only required to follow one level of redirection.
Failures can originate from stale caches, incomplete participant migration, unavailable DNS resolution, invalid metadata signatures, expired endpoint information or certificate problems. These are infrastructure failures rather than errors in the invoice content.
4. The wrong Peppol profile or specification identifier is used
Every Peppol invoice states which rules it follows and which business process it belongs to. If these identifiers are missing or incorrect, the receiving system cannot safely interpret the document.
This often happens when an ERP exports an old invoice template, a converter inserts the wrong value or a mapping designed for one country or process is reused elsewhere.
How to fix wrong profile
Profile and specification identifiers should be centrally controlled. They should not be editable by users or reconstructed separately in every ERP connector.
For multi-market environments:
- Maintain supported profiles as version-controlled configuration.
- Separate standard Peppol BIS Billing from PINT and national variants.
- Validate the selected profile against the recipient’s capabilities.
- Regression-test mappings whenever specifications or code lists change.
- Prevent local implementations from overriding controlled identifiers.
Technical detail
In Peppol BIS Billing, CustomizationID identifies the specification applied to the invoice and ProfileID identifies the business process.
Rules PEPPOL-EN16931-R004 og R007 validate these values. For the standard Billing process, the expected identifiers include:
CustomizationID:urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0ProfileID:urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
A different ProfileID is used for the optional Billing-with-Response process. The document identifiers, transport envelope and SMP capability must describe a compatible process.
5. The buyer or purchase order reference is missing or incorrect
The invoice needs information that tells the buyer who ordered the goods or which purchase order the invoice belongs to.
Without that reference, the buyer may not know where to route the invoice. Peppol therefore requires either a buyer reference or a purchase order reference.
Adding “N/A” may make the field look complete, but it does not give the buyer usable information.
How to fix missing order reference
Capture the required reference before the invoice is created. Do not rely on accounts receivable teams to repair missing information after the invoice has failed.
A scalable process should:
- Obtain the reference during ordering, checkout or contract setup.
- Validate customer-specific formats where possible.
- Store the value in the correct ERP field.
- Prevent placeholder values from being inserted automatically.
- Return missing references to the responsible business process, not only to IT.
Technical detail
Rule PEPPOL-EN16931-R003 requires either Buyer Reference, business term BT-10, or Purchase Order Reference, business term BT-13.
These are document-level elements. An order line reference is a separate invoice line concept. Placing a purchase order number in an invoice note, description, attachment or arbitrary invoice line does not satisfy the semantic requirement.
The XML may pass a simple non-empty check when “N/A” is used, but the invoice can still fail the buyer’s business validation or matching process.
6. VAT information is inconsistent or invalid
An invoice can contain the correct total amount but still fail because the VAT information does not make sense.
The selected VAT category, VAT rate and exemption reason must agree with one another. Additional national requirements may apply depending on the countries involved.
How to fix invalid VAT information
Do not treat VAT as a formatting issue handled by the invoice converter. Tax determination should occur in the appropriate ERP or tax engine before the invoice is generated.
Enterprise controls should cover:
- VAT category and rate combinations
- Exemption reasons and codes
- Seller and buyer VAT identifiers
- Cross-border and domestic tax scenarios
- Country-specific Peppol validation rules
- Changes to tax configuration and code lists
A structurally valid invoice is not necessarily based on the correct legal tax treatment. Uncertain tax scenarios should be reviewed by a qualified tax specialist.
Technical detail
Peppol BIS Billing applies EN 16931 rules, Peppol-specific rules and approved country-specific validation rules.
The applicable rule context may depend on the supplier’s country and, for certain domestic rules, the buyer’s country. VAT category codes, rates, exemption reasons and VAT identifiers are validated as related business terms rather than independent text fields.
A validator can detect inconsistent combinations and invalid formats. It cannot independently determine whether the commercial transaction was classified correctly for tax purposes.
7. Totals, rounding, discounts or charges do not reconcile
The numbers on the invoice must add up according to defined calculation rules.
Problems often occur when the ERP, tax engine and invoice converter calculate the same values differently. A one-cent difference may be enough to cause a fatal validation error.
How to fix erroneous calculations
Use one documented calculation and rounding model throughout the invoice pipeline.
Pay particular attention to:
- Line-level rounding
- Multiple VAT rates
- Price base quantities
- Document- and line-level discounts
- Freight and other charges
- Credit notes and negative values
- Currency conversion and VAT accounting currency
- Transformations between ERP and Peppol formats
Always validate the final XML produced for transmission. Validating only the source ERP data will not detect errors introduced by the mapping or conversion layer.
Technical detail
Peppol and EN 16931 rules validate calculations at several levels.
Examples include:
PEPPOL-EN16931-R120: calculation of the invoice-line net amountBR-CO-10: the sum of invoice-line net amounts must equal the document’s line totalPEPPOL-EN16931-R040-R042: consistency between allowance or charge amount, base amount and percentagePEPPOL-EN16931-R051: currency identifiers must be consistent with the invoice currency, subject to the defined exception
Discounts and charges should use the structured allowance and charge elements. They should not be represented as artificial products merely to force the total to reconcile.
8. Empty elements or incorrectly mapped invoice lines
A structured invoice is not a digital version of a paper invoice. Blank rows, visual separators and arbitrary text should not be converted into invoice lines.
Every field and line has a defined meaning. Using a field for something else may pass data to the buyer, but it prevents reliable automation.
How to fix incorrect fields
ERP mappings should be semantic rather than visual. Map information according to what it means, not where it appears on a rendered invoice.
Common controls include:
- Omitting optional fields when no value exists
- Removing layout-driven blank rows
- Keeping payment information out of product descriptions
- Using structured allowance and charge fields
- Mapping order references to the correct level
- Preserving product identifiers, quantities, units and tax data
- Using notes only for genuinely unstructured information
Technical detail
Rule PEPPOL-EN16931-R008 states that a document must not contain empty elements.
An invoice line is a structured group containing required elements such as a line identifier, quantity, line net amount, item information and price. It can also include structured accounting, period, reference, allowance, charge and classification data.
A completely empty element should be omitted. A dummy line containing artificial values may escape the empty-element rule but still create matching, accounting and analytics problems for the buyer.
9. Essential invoice information exists only in an attachment
A PDF or other file can be attached to a Peppol invoice, but the recipient should not have to open it to understand or process the transaction.
If the purchase order number, payment details, VAT information or line descriptions exist only in the PDF, the buyer loses much of the automation that structured e-invoicing is intended to provide.
How to use attachments
Treat attachments as supporting material. Keep required and operationally important information in structured invoice fields.
Attachments may be appropriate for:
- Timesheets
- Delivery documentation
- Spesifikasjoner
- Supporting calculations
- Other evidence requested by the buyer
Also confirm media type, filename and size requirements. Service providers and receiving systems may impose operational limits even when the file type itself is supported.
Technical detail
Current Peppol BIS Billing supports additional supporting documents as embedded binary objects or external references. Embedded files require a permitted MIME code and filename.
Older Peppol guidance stated that attaching a PDF copy of the invoice was non-compliant. OpenPeppol removed that statement from BIS Billing version 3.0.20. A PDF copy is therefore not prohibited on that basis, but it does not replace the structured invoice.
The specification does not justify treating a particular PDF resolution, such as 600 dpi, as a general Peppol compliance limit.
10. Successful delivery is mistaken for invoice acceptance
“Delivered” does not mean “approved for payment.”
Peppol may successfully transport a technically valid invoice, but the buyer can still query or reject it because the price is incorrect, the purchase order does not match, goods have not been received or the wrong legal entity was invoiced.
How to use statuses
ERP and finance users need more than a sent/failed status. The integration should distinguish:
- Created
- Validated
- Submitted
- Delivered
- Processing
- Under query
- Accepted
- Rejected
- Paid, where supported by the business process
Responses should be connected to the original invoice and presented in a way that enables the responsible team to act. Automatic retries must not create duplicate invoices.
Technical detail
Peppol uses different mechanisms at different layers:
- AS4 receipts and errors provide transport-level information.
- Peppol Message Level Status, or MLS, supports service-provider processing status.
- Peppol Invoice Response communicates business statuses in the buyer’s approval and payment process.
OpenPeppol introduced MLS into the current eDelivery framework and is phasing out the older Message Level Response mechanism. ERP integrations should therefore avoid treating one legacy response type as the permanent model.
Invoice Response can communicate statuses such as acknowledged, in process, under query, conditionally accepted or rejected. Support depends on the selected profile and the capabilities registered by the participants.
Building a more reliable enterprise Peppol process
Reliable e-invoicing requires more than generating valid XML. The complete process must manage:
- Customer and supplier master data
- Peppol identifier schemes
- Recipient discovery and capability lookup
- Profile and document selection
- ERP-to-Peppol data mapping
- EN 16931 and Peppol validation
- Country-specific requirements
- Secure routing through Access Points
- Technical and business responses
- Monitoring, traceability and controlled retries
For enterprise organizations, these capabilities should be centralized rather than rebuilt independently in every ERP, subsidiary or market.
For ERP and platform partners, Peppol connectivity should be exposed as a managed service with stable APIs, clear error categories and actionable responses. Users should not need to understand SMP records or Schematron rules to correct an invoice—but the integration must handle them correctly underneath.
Connect to Peppol
Qvalia provides full Peppol connectivity for enterprises, ERP providers and software platforms through APIs and file-based integrations. The platform manages structured document exchange, participant discovery, validation, response messages, error handling and transaction traceability.
Explore the Qvalia Peppol Access Point.
