Here’s a more detailed breakdown of the required mappings for PEPPOL
Invoices and Credit Notes, including field-level descriptions,
mandatory/optional distinctions, and XML examples.
Detailed Mapping of Segments: Invoice vs. Credit Note
Credit
Invoice
Segment Note Example
(380)
(381)
Unique
Unique
Credit <cbc:ID>INV12345</cbc:ID>
cbc:ID Invoice
Note <cbc:ID>CRN54321</cbc:ID>
ID.
ID.
Date of
Date of
Credit <cbc:IssueDate>2025-01-13</
cbc:IssueDate Invoice
Note cbc:IssueDate>
issue.
issue.
Currenc
Currency
y of the
of the
Credit
cbc:DocumentCur Invoice <cbc:DocumentCurrencyCode>EUR</
Note
rencyCode (ISO cbc:DocumentCurrencyCode>
(ISO
4217
4217
code).
code).
380 for Not
cbc:InvoiceTypeC <cbc:InvoiceTypeCode>380</
standard applica
ode cbc:InvoiceTypeCode>
Invoice. ble.
Not 381 for
cbc:CreditNoteTyp <cbc:CreditNoteTypeCode>381</
applicabl Credit
eCode cbc:CreditNoteTypeCode>
e. Notes.
cbc:Note Optional Require <cbc:Note>Adjustment for
explanat d to overpayment</cbc:Note>
ory note. explain
the
reason
for the
Credit
Invoice
Segment Note Example
(380)
(381)
Credit
Note.
Not
applicabl Mandat
<cac:BillingReference>
e unless ory to
<cac:InvoiceDocumentReference>
cac:BillingReferen referenci referen
<cbc:ID>INV12345</cbc:ID>
ce ng a ce the
</cac:InvoiceDocumentReference>
previous original
</cac:BillingReference>
documen Invoice.
t.
Mandat
Mandato
ory
ry <cac:AccountingSupplierParty>
supplier
cac:AccountingSu supplier <cbc:PartyName>Supplier
details
pplierParty details Ltd</cbc:PartyName>
(name,
(name, </cac:AccountingSupplierParty>
ID,
ID, etc.).
etc.).
Mandat
Mandato ory
<cac:AccountingCustomerParty>
ry buyer buyer
cac:AccountingCu <cbc:PartyName>Buyer
details details
stomerParty Inc</cbc:PartyName>
(name, (name,
</cac:AccountingCustomerParty>
ID, etc.). ID,
etc.).
Refund
Terms of or
payment adjust
<cac:PaymentTerms>
(e.g., ment
cac:PaymentTerm <cbc:Note>Payment due in 30
due payme
s days</cbc:Note>
date, nt
</cac:PaymentTerms>
late terms if
fees). applica
ble.
Credit
Invoice
Segment Note Example
(380)
(381)
Negativ
e tax <cac:TaxTotal> <cbc:TaxAmount
Positive
amount currencyID="EUR">200.00</cbc:TaxAm
tax
s ount> </cac:TaxTotal> <cac:TaxTotal>
cac:TaxTotal amounts
reflecti <cbc:TaxAmount currencyID="EUR">-
based on
ng 200.00</cbc:TaxAmount>
Invoice.
adjust </cac:TaxTotal>
ments.
<cac:LegalMonetaryTotal>
Total <cbc:PayableAmount
Total amount currencyID="EUR">1000.00</cbc:Payab
cac:LegalMonetar amounts s leAmount> </cac:LegalMonetaryTotal>
yTotal (positive (negati <cac:LegalMonetaryTotal>
values). ve <cbc:PayableAmount
values). currencyID="EUR">-1000.00</cbc:Paya
bleAmount> </cac:LegalMonetaryTotal>
Line- <cac:InvoiceLine> <cbc:ID>1</cbc:ID>
Line-
level <cbc:InvoicedQuantity
level
reversa unitCode="PCS">10</cbc:InvoicedQuan
cac:InvoiceLine details of
ls or tity> <cbc:LineExtensionAmount
goods/se
adjust currencyID="EUR">100.00</cbc:LineEx
rvices.
ments. tensionAmount> </cac:InvoiceLine>
Key XML Example for an Invoice (PEPPOL BIS)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>INV12345</cbc:ID>
<cbc:IssueDate>2025-01-13</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cbc:PartyName>Supplier Ltd</cbc:PartyName>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cbc:PartyName>Buyer Inc</cbc:PartyName>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">200.00</cbc:TaxAmount>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount
currencyID="EUR">1200.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="PCS">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount
currencyID="EUR">1000.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
</Invoice>
Key XML Example for a Credit Note (PEPPOL BIS)
<CreditNote
xmlns="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2">
<cbc:ID>CRN54321</cbc:ID>
<cbc:IssueDate>2025-01-13</cbc:IssueDate>
<cbc:CreditNoteTypeCode>381</cbc:CreditNoteTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:Note>Adjustment for overpayment</cbc:Note>
<cac:BillingReference>
<cac:InvoiceDocumentReference>
<cbc:ID>INV12345</cbc:ID>
</cac:InvoiceDocumentReference>
</cac:BillingReference>
<cac:AccountingSupplierParty>
<cbc:PartyName>Supplier Ltd</cbc:PartyName>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cbc:PartyName>Buyer Inc</cbc:PartyName>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">-200.00</cbc:TaxAmount>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:PayableAmount
currencyID="EUR">-1200.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:CreditedQuantity unitCode="PCS">10</cbc:CreditedQuantity>
<cbc:LineExtensionAmount
currencyID="EUR">-1000.00</cbc:LineExtensionAmount>
</cac:InvoiceLine>
</CreditNote>
Comparison in Practice
1. Invoice Focus: Reflects what is sold, delivered, and owed, with a
strong emphasis on line-level details of the goods/services.
2. Credit Note Focus: Focuses on reversing or correcting an Invoice,
ensuring traceability to the original document with negative totals.
Let me know if you need further elaboration on specific segments or more
tailored mappings!