Peppol error codes

PEPPOL-EN16931-R002: more than one note on the invoice

Error code PEPPOL-EN16931-R002 means: the invoice contains more than one note at document level.

Rule set: Peppol BIS Billing 3.0 · Severity: error (fatal): an Access Point rejects the invoice · Checked against the official rules of May 2026

What does PEPPOL-EN16931-R002 mean?

The validator shows this message (as worded in the official rules):

[PEPPOL-EN16931-R002]-No more than one note is allowed on document level, unless both the buyer and seller are German organizations.

An invoice may contain at most one note at document level (BT-22, cbc:Note). Only when both buyer and seller are German organisations may it contain more. If you have several free texts, merge them into one note.

Common causes

  • The software puts every line of a free text in a separate cbc:Note.
  • A standard text (for example payment terms) and an invoice remark each get their own note.
  • A mandatory statement was added as an extra note.

How to fix it as the sender

  1. Merge all document-level free texts into one cbc:Note.
  2. Put payment terms in cac:PaymentTerms/cbc:Note instead of an extra note.
  3. Put a statement about an exemption or reverse charge in the exemption reason of the VAT breakdown.

Received an invoice with this error?

An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.

Example in the XML

❌ Wrong

<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Bedankt voor uw vertrouwen.</cbc:Note>
<cbc:Note>Payment within 30 days.</cbc:Note>

✅ Correct

<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Bedankt voor uw vertrouwen. Payment within 30 days.</cbc:Note>

Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.

Good to know

A note on an invoice line (InvoiceLine/cbc:Note) is not covered by this rule. You may use one per line.

Check your invoice

Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.

Official rule

The full rule with its technical test (Schematron) is in the official Peppol documentation:

Related error codes

Frequently asked questions about PEPPOL-EN16931-R002

Where do I put payment terms?

In cac:PaymentTerms/cbc:Note. That does not count as a document-level note.

Why is it allowed between German organisations?

German invoices follow extra arrangements that need several notes with their own meaning. That is why Peppol makes an exception for them.

← All Peppol error codes