Skip to Content

Peppol Credit Note EU

51.45 51.45

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Peppol Credit Note EU

Peppol BIS Billing 3.0 (EN 16931) UBL credit-note generator with referenced-invoice linkage and reason codes

What this module does

This module turns any posted Odoo customer credit note (refund) into a fully structured Peppol BIS Billing 3.0 UBL CreditNote document. The generated XML is EN 16931 compliant, carries the mandatory CustomizationID and ProfileID identifiers, and - crucially for a credit note - links back to the preceding invoice through the BillingReference / InvoiceDocument Reference business group (BT-25 / BT-26).

Everything runs on the Odoo Community accounting base. There are no external accreditation requirements: the module produces the standards-compliant payload, which you transmit through your own Peppol Access Point or archive as required.

Key features

UBL 2.1 CreditNote (type 381)

Generates the Peppol BIS Billing 3.0 CreditNote with the strict UBL element ordering, document type code 381 (and the other Peppol-allowed credit-note codes 396 / 81 / 83 / 532).

Referenced-invoice linkage

Automatically fills cac:BillingReference / cac:InvoiceDocumentReference from the reversed invoice or the document reference, so every credit note points at the invoice it corrects.

Credit reason codes

A catalogue of business credit reasons (goods returned, damaged goods, price correction, quantity correction, duplicate invoice, order cancelled, post-sale discount, VAT correction) drives the cbc:Note on the document.

EN 16931 VAT breakdown

One cac:TaxSubtotal per VAT category with the correct UNCL 5305 category code, rate and the mandatory exemption-reason text for reverse-charge, intra-Community, export, exempt and out-of-scope supplies.

EU VAT validation

Structural VIES checks for every EU/EEA country plus real check-digit algorithms for Germany (MOD 11,10), France (DGFiP key), the Netherlands (11-test), Belgium (97-complement), Italy (Luhn) and Spain (NIF control letter).

Business-rule pre-check

A Peppol/EN 16931 rule engine flags missing billing references, invalid VAT identifiers, inconsistent totals and wrong VAT categories before you generate or send.

Standards & codes implemented

ElementValue / source
CustomizationID urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
ProfileID urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
Credit note type code (BT-3) UNCL 1001 subset: 381, 396, 81, 83, 532
VAT category codes (BT-118) UNCL 5305: S, Z, E, AE, K, G, O, L, M
Allowance / charge reasons UNCL 5189 / UNCL 7161
Payment means (BT-81) UNCL 4461 subset
Document syntax OASIS UBL 2.1 CreditNote

How it works

  1. Enable Peppol credit notes on the company and set the seller electronic address (EndpointID) and scheme.
  2. Set the Peppol endpoint on your customers.
  3. Post a customer credit note (refund). It is flagged To Generate.
  4. Pick a credit reason and credit-note type code, then run Validate Peppol to check the business rules.
  5. Run Generate Peppol Credit Note to produce the downloadable UBL XML, or use the batch wizard / cron for bulk generation.

Scope & disclosure

This module is a pure format generator. It builds the Peppol BIS Billing 3.0 credit-note payload; it does not act as a certified Peppol Access Point. Transmission is performed through your own Access Point with your own credentials. All data stays in your Odoo database.

Screenshots

Batch Generate

Batch Generate

Credit Notes

Credit Notes

Update date: 2026-07-02