Models

Transmitted Document Summary

Properties

NameTypeRequiredDescription
idstringYesThe Recommand document ID. Use it with the other document endpoints. Example: "doc_01JQZ8X0M4T7RB6K9V2NDHW3PA"
teamIdstringYesThe ID of the team the document belongs to. Example: "team_01JQZ8X0M4T7RB6K9V2NDHW3PA"
companyIdstringYesThe ID of the company the document was sent for or received by. Example: "c_01JQZ8X0M4T7RB6K9V2NDHW3PA"
directionincoming | outgoingYesWhether the document was received by this company (incoming) or sent by it (outgoing). Example: "incoming". Values: incoming, outgoing
senderIdstringYesThe Peppol address of the sender, as scheme:identifier. Example: "0208:1012081766"
receiverIdstring | nullYesThe Peppol address of the receiver, as scheme:identifier. Null for documents that were never addressed on the network, such as email-only sends and French e-reporting reports. Example: "0208:0428643097"
docTypeIdstringYesThe full Peppol document type identifier the document was exchanged under. It names the syntax and the customization the document follows. Example: "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1"
processIdstringYesThe Peppol process identifier the document was exchanged under. It names the business process the document type is used in. Example: "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"
countryC1stringYesThe country of the originating sender (Peppol corner 1), in ISO 3166-1 alpha-2 format. Peppol requires it on every transmission so receivers can apply country-specific rules. Example: "BE"
typestring (enum)YesWhat kind of document this is. unknown means the document could not be recognised as one of the supported types, in which case parsed is null and only the XML is available. Example: "invoice". Values: invoice, creditNote, selfBillingInvoice, selfBillingCreditNote, messageLevelResponse, frenchInvoicingCdar, frenchB2CSalesReport, frenchB2CPaymentReport, frenchB2BiInvoiceReport, frenchB2BiPaymentReport, unknown
readAtstring | nullYesWhen the document was marked as read. Null while it is unread, which is what puts an incoming document in the inbox
createdAtstringYesWhen the document was sent or received
updatedAtstringYesWhen the document record last changed
parsedInvoiceCredit NoteSelf Billing Invoice
validationDocument ValidationnullYes
sentOverPeppolbooleanYesWhether the document was handed over to the Peppol network. False for a document that was only delivered by email. Whether it reached the recipient is what deliveryStatus and deliveries say. Example: true
sentOverEmailbooleanYesWhether the document was delivered by email, either as the only channel or alongside Peppol. Example: false
emailRecipientsstring[]YesThe email addresses the document was delivered to. Empty when it was not sent by email. Example: []
labelsobject[]YesThe labels assigned to this document. Manage them with the assign and unassign label endpoints
peppolMessageIdstring | nullYesThe AS4 message ID of the transmission. Null when the document did not travel over Peppol, and for playground teams, whose transmissions are simulated
peppolConversationIdstring | nullYesThe AS4 conversation ID the transmission belongs to. It ties a document to the responses that follow it
receivedPeppolSignalMessagestring | nullYesThe AS4 signal message the receiving access point returned to acknowledge an outgoing transmission. Null for incoming documents and when the access point returned none
envelopeIdstring | nullYesThe envelope ID of the document, also known as the SBDH instance identifier (Standard Business Document Header Instance Identifier)
reportingFrench Reporting StatusnullYes
deliveryStatuspending | delivered | failed | nullYesWhether the document reached its recipient, summarised over its deliveries: delivered when at least one delivery was confirmed, failed when every delivery failed, pending while any is still awaiting the channel's confirmation. Null for documents without deliveries, such as incoming documents and filed reports. Example: "delivered". Values: pending, delivered, failed, null
deliveriesobject[]YesWhere an outgoing document stands with each recipient: one entry per channel and address it was sent to. Empty for incoming documents and filed reports. sentOverPeppol says the document was handed to the network; a delivery says whether it arrived

parsed (Any of)

Invoice:

NameTypeRequiredDescription
invoiceNumberstringYesThe number the seller assigned to the invoice. Example: "INV-2024-001"
issueDatestring (date)YesThe date the invoice was issued, as YYYY-MM-DD. Example: "2024-03-20". Format: date
dueDatestring | nullNoThe date the payment is due, as YYYY-MM-DD. Example: "2024-04-20". Format: date
notestring | nullNoA free text note about the invoice as a whole. Example: "Thank you for your business"
buyerReferencestring | nullNoA reference the buyer asked you to put on the invoice so they can route it internally (BT-10). If neither this nor purchaseOrderReference is provided, the invoice number is used. For a German public authority addressed by its Leitweg-ID (recipient scheme 0204), this must be that Leitweg-ID: it is filled in when left out, and a different value is refused. Example: "PO-2024-001"
purchaseOrderReferencestring | nullNoA reference to a related purchase order. Example: "PO-2024-001"
salesOrderReferencestring | nullNoA reference to a related sales order. Example: "SO-2024-001"
despatchReferencestring | nullNoA reference to a related despatch advice document (e.g. packing slip). Example: "DE-2024-001"
sellerobjectYes
buyerobjectYes
deliveryDeliverynullNo
paymentMeansobject[] | nullNoOptional payment information. For most invoices, this should be provided. For prepaid invoices, this could be omitted
paymentTermsobject | nullNoOptional payment terms
linesobject[]YesThe invoice lines. At least one line is required. Min items: 1
discountsobject[] | nullNoOptional global discounts
surchargesobject[] | nullNoOptional global surcharges
totalsTotalsnullNo
vatProvided VAT totalsnullNo
attachmentsobject[] | nullNoOptional attachments to the invoice
currencystring (enum)NoThe currency of the invoice. Defaults to EUR. Default: EUR. Example: "EUR". Values: XUA, AFN, DZD, ARS, AMD, AWG, AUD, AZN, BSD, BHD, THB, PAB, BBD, BYN, BZD, BMD, VES, VED, BOB, XBA, XBB, XBD, XBC, BRL, BND, BGN, BIF, CVE, CAD, KYD, XOF, XAF, XPF, CLP, XTS, COP, KMF, CDF, BAM, NIO, CRC, CUP, CZK, GMD, DKK, MKD, DJF, STN, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, XAU, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, KWD, AOA, MMK, LAK, GEL, LBP, ALL, HNL, LRD, LYD, SZL, LSL, MGA, MWK, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, MRU, TOP, PKR, XPD, MOP, UYU, PHP, XPT, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, XDR, RSD, SCR, SLE, XAG, SGD, PEN, SBD, KGS, SOS, TJS, SSP, LKR, XSU, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, XXX, TTD, MNT, TND, TRY, TMT, AED, UGX, CLF, COU, UYW, UYI, USD, USN, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWG, PLN
countrySpecificCountry Specific BillingnullNo

parsed.seller properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.buyer properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.delivery (One of)

Delivery:

NameTypeRequiredDescription
datestring | nullNoThe date of the delivery. Example: "2025-03-20". Format: date
locationIdentifierobject | nullNoThe identifier of the delivery location. Schemes can be found here. Example: {"scheme":"0088","identifier":"123456789"}
locationobjectNo
recipientNamestringNoThe name of the party to which the goods and services are delivered. Example: "Company Ltd."
parsed.delivery.locationIdentifier properties
NameTypeRequiredDescription
schemestringYesExample: "0088"
identifierstringYesExample: "123456789"
parsed.delivery.location properties
NameTypeRequiredDescription
streetstring | nullNoExample: "Example Street 1"
street2string | nullNoExample: "Suite 100"
citystring | nullNoExample: "Brussels"
postalZonestring | nullNoExample: "1000"
countrystringYesExample: "BE"

parsed.paymentMeans properties

NameTypeRequiredDescription
namestring | nullNoThe name of the payment means. Example: "Credit Transfer"
paymentMethodcash | credit_transfer | debit_transfer | bank_card | credit_card | debit_card | sepa_credit_transfer | sepa_direct_debit | otherNoHow the invoice is to be paid. Defaults to credit_transfer. Accepted values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other. Default: credit_transfer. Example: "credit_transfer". Values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other
referencestringNoThe payment reference the buyer should quote when paying, such as a structured communication. Default: ``. Example: "INV-2026-001"
ibanstring | nullNoThe account the payment is to be made to, usually an IBAN. A credit transfer needs one. Leave it out when there is no account to pay into, as with a direct debit or a card payment. Example: "BE1234567890"
financialInstitutionBranchstring | nullNoAn identifier for the payment service provider where a payment account is located. Such as a BIC or a national clearing code where required

parsed.paymentTerms properties

NameTypeRequiredDescription
notestringYesThe payment terms as free text. Example: "Net 30"

parsed.lines properties

NameTypeRequiredDescription
idstring | nullNoA line number. If not provided, it will be calculated automatically. Example: "1"
namestringNoThe name of the item or service being billed. Default: ``. Example: "Consulting Services"
descriptionstring | nullNoA longer description of the item or service. Example: "Professional consulting services"
notestring | nullNoA textual note that gives unstructured information that is relevant to this line
buyersIdstring | nullNoThe item identifier of the item as defined by the buyer. Example: "CS-001"
sellersIdstring | nullNoThe item identifier of the item as defined by the seller. This is typically a product code or SKU. Example: "CS-001"
standardIdobject | nullNoThe standard identifier of the item based on a registered scheme. Schemes can be found here
documentReferencestring | nullNoA reference to a related document, mostly used to refer to a related invoice. Example: "INV-2024-001"
orderLineReferencestring | nullNoA reference to a related order line
commodityClassificationsobject[] | nullNoOptional commodity classifications
additionalItemPropertiesobject[] | nullNoOptional additional item properties
originCountrystring | nullNoThe country of origin of the item. Example: "BE"
quantitystringNoThe number of units billed on this line, expressed in unitCode. Default: 1.00. Example: "21.00"
unitCodestringNoRecommended unit codes can be found here. Default: C62. Example: "HUR"
netPriceAmountstringYesThe price of one unit excluding VAT, after any discount that is already reflected in the price. Example: "12.40"
baseQuantitystring | nullNoThe number of units to which the price refers. When greater than 1, the price is for a batch/pack of this size. The actual unit price is netPriceAmount / baseQuantity. Example: "1"
discountsobject[] | nullNoOptional discounts for the line
surchargesobject[] | nullNoOptional surcharges for the line
netAmountstring | nullNoThe total net amount of the line: quantity * netPriceAmount. Rounded to 2 decimal places. If not provided, it will be calculated automatically. Example: "21.00"
vatobjectYes
parsed.lines.standardId properties
NameTypeRequiredDescription
schemestringYesExample: "0160"
identifierstringYesExample: "10986700"
parsed.lines.commodityClassifications properties
NameTypeRequiredDescription
schemestring (enum)YesThe scheme of the item classification code. Can be found here. Example: "SN". Values: AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK, AL, AM, AN, AO, AP, AQ, AR, AS, AT, AU, AV, AW, AX, AY, AZ, BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP, BQ, BR, BS, BT, BU, BV, BW, BX, BY, BZ, CC, CG, CL, CR, CV, DR, DW, EC, EF, EMD, EN, FS, GB, GMN, GN, GS, HS, IB, IN, IS, IT, IZ, MA, MF, MN, MP, NB, ON, PD, PL, PO, PV, QS, RC, RN, RU, RY, SA, SG, SK, SN, SRS, SRT, SRU, SRV, SRW, SRX, SRY, SRZ, SS, SSA, SSB, SSC, SSD, SSE, SSF, SSG, SSH, SSI, SSJ, SSK, SSL, SSM, SSN, SSO, SSP, SSQ, SSR, SSS, SST, SSU, SSV, SSW, SSX, SSY, SSZ, ST, STA, STB, STC, STD, STE, STF, STG, STH, STI, STJ, STK, STL, STM, STN, STO, STP, STQ, STR, STS, STT, STU, STV, STW, STX, STY, STZ, SUA, SUB, SUC, SUD, SUE, SUF, SUG, SUH, SUI, SUJ, SUK, SUL, SUM, TG, TSN, TSO, TSP, TSQ, TSR, TSS, TST, TSU, UA, UP, VN, VP, VS, VX, ZZZ, PPI
schemeVersionstring | nullNo
valuestringYesThe value of the item classification code. Example: "123456"
parsed.lines.additionalItemProperties properties
NameTypeRequiredDescription
namestringYesExample: "Color"
valuestringYesExample: "Red"
parsed.lines.discounts properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.surcharges properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.discounts properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.discounts.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.surcharges properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.surcharges.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.totals (One of)

Totals:

If not provided, the totals will be calculated from the document lines.

NameTypeRequiredDescription
linesAmountstring | nullNoThe tax exclusive total amount of all lines. Rounded to 2 decimal places. Example: "21.00"
discountAmountstring | nullNoThe tax exclusive total amount of all discounts. If not provided, this will be calculated automatically. Example: "21.00"
surchargeAmountstring | nullNoThe tax exclusive total amount of all surcharges. If not provided, this will be calculated automatically. Example: "21.00"
taxExclusiveAmountstringYesThe tax exclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
taxInclusiveAmountstringYesThe tax inclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
payableAmountstring | nullNoThe amount to be paid. If not provided, this will be taxInclusiveAmount. Can be used in combination with paidAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"
paidAmountstring | nullNoThe amount paid. If not provided, this will be taxInclusiveAmount - payableAmount. Can be used in combination with payableAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"

parsed.vat (One of)

Provided VAT totals:

NameTypeRequiredDescription
totalVatAmountstringYesThe total VAT amount of the document, the sum of the VAT amounts of all subtotals. Example: "21.00"
subtotalsobject[]YesOne entry for every combination of VAT category and rate used in the document
parsed.vat.subtotals properties
NameTypeRequiredDescription
taxableAmountstringYesThe total amount in this VAT category and rate that the VAT is calculated on. Example: "21.00"
vatAmountstringYesThe VAT amount for this VAT category and rate. Example: "21.00"
categoryAE | E | S | Z | G | O | K | L | M | BYesVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"
exemptionReasonCodestring | nullNoIf the invoice is exempt from VAT, this (or exemptionReason) is required. The exemption reason code identifier must belong to the CEF VATEX code list found here
exemptionReasonstring | nullNoIf the invoice is exempt from VAT, this (or exemptionReasonCode) is required. The exemption reason must be a textual statement of the reason why the amount is exempt from VAT or why no VAT is charged

parsed.attachments properties

NameTypeRequiredDescription
idstringYesAn identifier for the attachment within the document. Example: "ATT-001"
mimeCodestringNoMIME type of the document (e.g. application/pdf, text/csv, image/png). Default: application/pdf. Example: "application/pdf"
filenamestringYesFilename for an embedded attachment. This is included in the Peppol XML only when embeddedDocument is provided. For URL-only attachments, the document contains an external reference and the filename is not embedded. Example: "contract.pdf"
descriptionstring | nullNoA short description of what the attachment contains. Example: "Signed contract"
embeddedDocumentstring | nullNoThe contents of the attachment, base64 encoded. Provide this or url
urlstring | nullNoA link to the attachment, for when the contents are not embedded. Provide this or embeddedDocument. Example: "https://example.com/contract.pdf"

parsed.countrySpecific (One of)

Credit Note:

NameTypeRequiredDescription
creditNoteNumberstringYesExample: "CN-2024-001"
issueDatestring (date)YesExample: "2024-03-20". Format: date
dueDatestring | nullNoThe date the credited amount is due (BT-9). Optional: when left out, the credit note states no due date. In CII, including Factur-X, it is the payment due date of the payment terms; in UBL it is stated on the first payment means, so a UBL credit note without paymentMeans does not carry it. Example: "2024-04-20". Format: date
notestring | nullNoExample: "Thank you for your business"
buyerReferencestring | nullNoA reference the buyer asked you to put on the credit note so they can route it internally (BT-10). If neither this nor purchaseOrderReference is provided, the credit note number is used. For a German public authority addressed by its Leitweg-ID (recipient scheme 0204), this must be that Leitweg-ID: it is filled in when left out, and a different value is refused. Example: "PO-2024-001"
invoiceReferencesobject[]NoReferences to one or more invoices that are being credited. A French regulated credit note (countrySpecific.country FR) needs at least one reference with its issueDate. Default: ``
purchaseOrderReferencestring | nullNoA reference to a related purchase order. Example: "PO-2024-001"
salesOrderReferencestring | nullNoA reference to a related sales order. Example: "SO-2024-001"
despatchReferencestring | nullNoA reference to a related despatch advice document (e.g. packing slip). Example: "DE-2024-001"
sellerobjectYes
buyerobjectYes
deliveryDeliverynullNo
paymentMeansobject[] | nullNo
paymentTermsobject | nullNo
linesobject[]YesMin items: 1
discountsobject[] | nullNoOptional global discounts
surchargesobject[] | nullNoOptional global surcharges
totalsTotalsnullNo
vatProvided VAT totalsnullNo
attachmentsobject[] | nullNoOptional attachments to the credit note
currencystring (enum)NoThe currency of the credit note. Defaults to EUR. Default: EUR. Example: "EUR". Values: XUA, AFN, DZD, ARS, AMD, AWG, AUD, AZN, BSD, BHD, THB, PAB, BBD, BYN, BZD, BMD, VES, VED, BOB, XBA, XBB, XBD, XBC, BRL, BND, BGN, BIF, CVE, CAD, KYD, XOF, XAF, XPF, CLP, XTS, COP, KMF, CDF, BAM, NIO, CRC, CUP, CZK, GMD, DKK, MKD, DJF, STN, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, XAU, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, KWD, AOA, MMK, LAK, GEL, LBP, ALL, HNL, LRD, LYD, SZL, LSL, MGA, MWK, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, MRU, TOP, PKR, XPD, MOP, UYU, PHP, XPT, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, XDR, RSD, SCR, SLE, XAG, SGD, PEN, SBD, KGS, SOS, TJS, SSP, LKR, XSU, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, XXX, TTD, MNT, TND, TRY, TMT, AED, UGX, CLF, COU, UYW, UYI, USD, USN, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWG, PLN
countrySpecificCountry Specific BillingnullNo

parsed.invoiceReferences properties

NameTypeRequiredDescription
idstringYesThe reference to the invoice that is being credited. Example: "INV-2024-001"
issueDatestring | nullNoThe issue date of the invoice that is being credited. Example: "2024-03-20". Format: date

parsed.seller properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.buyer properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.delivery (One of)

Delivery:

NameTypeRequiredDescription
datestring | nullNoThe date of the delivery. Example: "2025-03-20". Format: date
locationIdentifierobject | nullNoThe identifier of the delivery location. Schemes can be found here. Example: {"scheme":"0088","identifier":"123456789"}
locationobjectNo
recipientNamestringNoThe name of the party to which the goods and services are delivered. Example: "Company Ltd."
parsed.delivery.locationIdentifier properties
NameTypeRequiredDescription
schemestringYesExample: "0088"
identifierstringYesExample: "123456789"
parsed.delivery.location properties
NameTypeRequiredDescription
streetstring | nullNoExample: "Example Street 1"
street2string | nullNoExample: "Suite 100"
citystring | nullNoExample: "Brussels"
postalZonestring | nullNoExample: "1000"
countrystringYesExample: "BE"

parsed.paymentMeans properties

NameTypeRequiredDescription
namestring | nullNoThe name of the payment means. Example: "Credit Transfer"
paymentMethodcash | credit_transfer | debit_transfer | bank_card | credit_card | debit_card | sepa_credit_transfer | sepa_direct_debit | otherNoHow the invoice is to be paid. Defaults to credit_transfer. Accepted values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other. Default: credit_transfer. Example: "credit_transfer". Values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other
referencestringNoThe payment reference the buyer should quote when paying, such as a structured communication. Default: ``. Example: "INV-2026-001"
ibanstring | nullNoThe account the payment is to be made to, usually an IBAN. A credit transfer needs one. Leave it out when there is no account to pay into, as with a direct debit or a card payment. Example: "BE1234567890"
financialInstitutionBranchstring | nullNoAn identifier for the payment service provider where a payment account is located. Such as a BIC or a national clearing code where required

parsed.paymentTerms properties

NameTypeRequiredDescription
notestringYesExample: "Net 30"

parsed.lines properties

NameTypeRequiredDescription
idstring | nullNoA line number. If not provided, it will be calculated automatically. Example: "1"
namestringNoThe name of the item or service being billed. Default: ``. Example: "Consulting Services"
descriptionstring | nullNoA longer description of the item or service. Example: "Professional consulting services"
notestring | nullNoA textual note that gives unstructured information that is relevant to this line
buyersIdstring | nullNoThe item identifier of the item as defined by the buyer. Example: "CS-001"
sellersIdstring | nullNoThe item identifier of the item as defined by the seller. This is typically a product code or SKU. Example: "CS-001"
standardIdobject | nullNoThe standard identifier of the item based on a registered scheme. Schemes can be found here
documentReferencestring | nullNoA reference to a related document, mostly used to refer to a related invoice. Example: "INV-2024-001"
orderLineReferencestring | nullNoA reference to a related order line
commodityClassificationsobject[] | nullNoOptional commodity classifications
additionalItemPropertiesobject[] | nullNoOptional additional item properties
originCountrystring | nullNoThe country of origin of the item. Example: "BE"
quantitystringNoThe number of units billed on this line, expressed in unitCode. Default: 1.00. Example: "21.00"
unitCodestringNoRecommended unit codes can be found here. Default: C62. Example: "HUR"
netPriceAmountstringYesThe price of one unit excluding VAT, after any discount that is already reflected in the price. Example: "12.40"
baseQuantitystring | nullNoThe number of units to which the price refers. When greater than 1, the price is for a batch/pack of this size. The actual unit price is netPriceAmount / baseQuantity. Example: "1"
discountsobject[] | nullNoOptional discounts for the line
surchargesobject[] | nullNoOptional surcharges for the line
netAmountstring | nullNoThe total net amount of the line: quantity * netPriceAmount. Rounded to 2 decimal places. If not provided, it will be calculated automatically. Example: "21.00"
vatobjectYes
parsed.lines.standardId properties
NameTypeRequiredDescription
schemestringYesExample: "0160"
identifierstringYesExample: "10986700"
parsed.lines.commodityClassifications properties
NameTypeRequiredDescription
schemestring (enum)YesThe scheme of the item classification code. Can be found here. Example: "SN". Values: AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK, AL, AM, AN, AO, AP, AQ, AR, AS, AT, AU, AV, AW, AX, AY, AZ, BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP, BQ, BR, BS, BT, BU, BV, BW, BX, BY, BZ, CC, CG, CL, CR, CV, DR, DW, EC, EF, EMD, EN, FS, GB, GMN, GN, GS, HS, IB, IN, IS, IT, IZ, MA, MF, MN, MP, NB, ON, PD, PL, PO, PV, QS, RC, RN, RU, RY, SA, SG, SK, SN, SRS, SRT, SRU, SRV, SRW, SRX, SRY, SRZ, SS, SSA, SSB, SSC, SSD, SSE, SSF, SSG, SSH, SSI, SSJ, SSK, SSL, SSM, SSN, SSO, SSP, SSQ, SSR, SSS, SST, SSU, SSV, SSW, SSX, SSY, SSZ, ST, STA, STB, STC, STD, STE, STF, STG, STH, STI, STJ, STK, STL, STM, STN, STO, STP, STQ, STR, STS, STT, STU, STV, STW, STX, STY, STZ, SUA, SUB, SUC, SUD, SUE, SUF, SUG, SUH, SUI, SUJ, SUK, SUL, SUM, TG, TSN, TSO, TSP, TSQ, TSR, TSS, TST, TSU, UA, UP, VN, VP, VS, VX, ZZZ, PPI
schemeVersionstring | nullNo
valuestringYesThe value of the item classification code. Example: "123456"
parsed.lines.additionalItemProperties properties
NameTypeRequiredDescription
namestringYesExample: "Color"
valuestringYesExample: "Red"
parsed.lines.discounts properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.surcharges properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.discounts properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.discounts.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.surcharges properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.surcharges.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.totals (One of)

Totals:

If not provided, the totals will be calculated from the document lines.

NameTypeRequiredDescription
linesAmountstring | nullNoThe tax exclusive total amount of all lines. Rounded to 2 decimal places. Example: "21.00"
discountAmountstring | nullNoThe tax exclusive total amount of all discounts. If not provided, this will be calculated automatically. Example: "21.00"
surchargeAmountstring | nullNoThe tax exclusive total amount of all surcharges. If not provided, this will be calculated automatically. Example: "21.00"
taxExclusiveAmountstringYesThe tax exclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
taxInclusiveAmountstringYesThe tax inclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
payableAmountstring | nullNoThe amount to be paid. If not provided, this will be taxInclusiveAmount. Can be used in combination with paidAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"
paidAmountstring | nullNoThe amount paid. If not provided, this will be taxInclusiveAmount - payableAmount. Can be used in combination with payableAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"

parsed.vat (One of)

Provided VAT totals:

NameTypeRequiredDescription
totalVatAmountstringYesThe total VAT amount of the document, the sum of the VAT amounts of all subtotals. Example: "21.00"
subtotalsobject[]YesOne entry for every combination of VAT category and rate used in the document
parsed.vat.subtotals properties
NameTypeRequiredDescription
taxableAmountstringYesThe total amount in this VAT category and rate that the VAT is calculated on. Example: "21.00"
vatAmountstringYesThe VAT amount for this VAT category and rate. Example: "21.00"
categoryAE | E | S | Z | G | O | K | L | M | BYesVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"
exemptionReasonCodestring | nullNoIf the invoice is exempt from VAT, this (or exemptionReason) is required. The exemption reason code identifier must belong to the CEF VATEX code list found here
exemptionReasonstring | nullNoIf the invoice is exempt from VAT, this (or exemptionReasonCode) is required. The exemption reason must be a textual statement of the reason why the amount is exempt from VAT or why no VAT is charged

parsed.attachments properties

NameTypeRequiredDescription
idstringYesAn identifier for the attachment within the document. Example: "ATT-001"
mimeCodestringNoMIME type of the document (e.g. application/pdf, text/csv, image/png). Default: application/pdf. Example: "application/pdf"
filenamestringYesFilename for an embedded attachment. This is included in the Peppol XML only when embeddedDocument is provided. For URL-only attachments, the document contains an external reference and the filename is not embedded. Example: "contract.pdf"
descriptionstring | nullNoA short description of what the attachment contains. Example: "Signed contract"
embeddedDocumentstring | nullNoThe contents of the attachment, base64 encoded. Provide this or url
urlstring | nullNoA link to the attachment, for when the contents are not embedded. Provide this or embeddedDocument. Example: "https://example.com/contract.pdf"

parsed.countrySpecific (One of)

Self Billing Invoice:

Self billing invoice

NameTypeRequiredDescription
invoiceNumberstringYesThe number the seller assigned to the invoice. Example: "INV-2024-001"
issueDatestring (date)YesThe date the invoice was issued, as YYYY-MM-DD. Example: "2024-03-20". Format: date
dueDatestring | nullNoThe date the payment is due, as YYYY-MM-DD. Example: "2024-04-20". Format: date
notestring | nullNoA free text note about the invoice as a whole. Example: "Thank you for your business"
buyerReferencestring | nullNoA reference the buyer asked you to put on the invoice so they can route it internally (BT-10). If neither this nor purchaseOrderReference is provided, the invoice number is used. For a German public authority addressed by its Leitweg-ID (recipient scheme 0204), this must be that Leitweg-ID: it is filled in when left out, and a different value is refused. Example: "PO-2024-001"
purchaseOrderReferencestring | nullNoA reference to a related purchase order. Example: "PO-2024-001"
salesOrderReferencestring | nullNoA reference to a related sales order. Example: "SO-2024-001"
despatchReferencestring | nullNoA reference to a related despatch advice document (e.g. packing slip). Example: "DE-2024-001"
sellerobjectYes
buyerobjectYes
deliveryDeliverynullNo
paymentMeansobject[] | nullNoOptional payment information. For most invoices, this should be provided. For prepaid invoices, this could be omitted
paymentTermsobject | nullNoOptional payment terms
linesobject[]YesThe invoice lines. At least one line is required. Min items: 1
discountsobject[] | nullNoOptional global discounts
surchargesobject[] | nullNoOptional global surcharges
totalsTotalsnullNo
vatProvided VAT totalsnullNo
attachmentsobject[] | nullNoOptional attachments to the invoice
currencystring (enum)YesThe currency of the invoice. Defaults to EUR. Default: EUR. Example: "EUR". Values: XUA, AFN, DZD, ARS, AMD, AWG, AUD, AZN, BSD, BHD, THB, PAB, BBD, BYN, BZD, BMD, VES, VED, BOB, XBA, XBB, XBD, XBC, BRL, BND, BGN, BIF, CVE, CAD, KYD, XOF, XAF, XPF, CLP, XTS, COP, KMF, CDF, BAM, NIO, CRC, CUP, CZK, GMD, DKK, MKD, DJF, STN, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, XAU, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, KWD, AOA, MMK, LAK, GEL, LBP, ALL, HNL, LRD, LYD, SZL, LSL, MGA, MWK, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, MRU, TOP, PKR, XPD, MOP, UYU, PHP, XPT, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, XDR, RSD, SCR, SLE, XAG, SGD, PEN, SBD, KGS, SOS, TJS, SSP, LKR, XSU, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, XXX, TTD, MNT, TND, TRY, TMT, AED, UGX, CLF, COU, UYW, UYI, USD, USN, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWG, PLN
countrySpecificCountry Specific BillingnullNo

parsed.seller properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.buyer properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.delivery (One of)

Delivery:

NameTypeRequiredDescription
datestring | nullNoThe date of the delivery. Example: "2025-03-20". Format: date
locationIdentifierobject | nullNoThe identifier of the delivery location. Schemes can be found here. Example: {"scheme":"0088","identifier":"123456789"}
locationobjectNo
recipientNamestringNoThe name of the party to which the goods and services are delivered. Example: "Company Ltd."
parsed.delivery.locationIdentifier properties
NameTypeRequiredDescription
schemestringYesExample: "0088"
identifierstringYesExample: "123456789"
parsed.delivery.location properties
NameTypeRequiredDescription
streetstring | nullNoExample: "Example Street 1"
street2string | nullNoExample: "Suite 100"
citystring | nullNoExample: "Brussels"
postalZonestring | nullNoExample: "1000"
countrystringYesExample: "BE"

parsed.paymentMeans properties

NameTypeRequiredDescription
namestring | nullNoThe name of the payment means. Example: "Credit Transfer"
paymentMethodcash | credit_transfer | debit_transfer | bank_card | credit_card | debit_card | sepa_credit_transfer | sepa_direct_debit | otherNoHow the invoice is to be paid. Defaults to credit_transfer. Accepted values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other. Default: credit_transfer. Example: "credit_transfer". Values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other
referencestringNoThe payment reference the buyer should quote when paying, such as a structured communication. Default: ``. Example: "INV-2026-001"
ibanstring | nullNoThe account the payment is to be made to, usually an IBAN. A credit transfer needs one. Leave it out when there is no account to pay into, as with a direct debit or a card payment. Example: "BE1234567890"
financialInstitutionBranchstring | nullNoAn identifier for the payment service provider where a payment account is located. Such as a BIC or a national clearing code where required

parsed.paymentTerms properties

NameTypeRequiredDescription
notestringYesThe payment terms as free text. Example: "Net 30"

parsed.lines properties

NameTypeRequiredDescription
idstring | nullNoA line number. If not provided, it will be calculated automatically. Example: "1"
namestringNoThe name of the item or service being billed. Default: ``. Example: "Consulting Services"
descriptionstring | nullNoA longer description of the item or service. Example: "Professional consulting services"
notestring | nullNoA textual note that gives unstructured information that is relevant to this line
buyersIdstring | nullNoThe item identifier of the item as defined by the buyer. Example: "CS-001"
sellersIdstring | nullNoThe item identifier of the item as defined by the seller. This is typically a product code or SKU. Example: "CS-001"
standardIdobject | nullNoThe standard identifier of the item based on a registered scheme. Schemes can be found here
documentReferencestring | nullNoA reference to a related document, mostly used to refer to a related invoice. Example: "INV-2024-001"
orderLineReferencestring | nullNoA reference to a related order line
commodityClassificationsobject[] | nullNoOptional commodity classifications
additionalItemPropertiesobject[] | nullNoOptional additional item properties
originCountrystring | nullNoThe country of origin of the item. Example: "BE"
quantitystringNoThe number of units billed on this line, expressed in unitCode. Default: 1.00. Example: "21.00"
unitCodestringNoRecommended unit codes can be found here. Default: C62. Example: "HUR"
netPriceAmountstringYesThe price of one unit excluding VAT, after any discount that is already reflected in the price. Example: "12.40"
baseQuantitystring | nullNoThe number of units to which the price refers. When greater than 1, the price is for a batch/pack of this size. The actual unit price is netPriceAmount / baseQuantity. Example: "1"
discountsobject[] | nullNoOptional discounts for the line
surchargesobject[] | nullNoOptional surcharges for the line
netAmountstring | nullNoThe total net amount of the line: quantity * netPriceAmount. Rounded to 2 decimal places. If not provided, it will be calculated automatically. Example: "21.00"
vatobjectYes
parsed.lines.standardId properties
NameTypeRequiredDescription
schemestringYesExample: "0160"
identifierstringYesExample: "10986700"
parsed.lines.commodityClassifications properties
NameTypeRequiredDescription
schemestring (enum)YesThe scheme of the item classification code. Can be found here. Example: "SN". Values: AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK, AL, AM, AN, AO, AP, AQ, AR, AS, AT, AU, AV, AW, AX, AY, AZ, BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP, BQ, BR, BS, BT, BU, BV, BW, BX, BY, BZ, CC, CG, CL, CR, CV, DR, DW, EC, EF, EMD, EN, FS, GB, GMN, GN, GS, HS, IB, IN, IS, IT, IZ, MA, MF, MN, MP, NB, ON, PD, PL, PO, PV, QS, RC, RN, RU, RY, SA, SG, SK, SN, SRS, SRT, SRU, SRV, SRW, SRX, SRY, SRZ, SS, SSA, SSB, SSC, SSD, SSE, SSF, SSG, SSH, SSI, SSJ, SSK, SSL, SSM, SSN, SSO, SSP, SSQ, SSR, SSS, SST, SSU, SSV, SSW, SSX, SSY, SSZ, ST, STA, STB, STC, STD, STE, STF, STG, STH, STI, STJ, STK, STL, STM, STN, STO, STP, STQ, STR, STS, STT, STU, STV, STW, STX, STY, STZ, SUA, SUB, SUC, SUD, SUE, SUF, SUG, SUH, SUI, SUJ, SUK, SUL, SUM, TG, TSN, TSO, TSP, TSQ, TSR, TSS, TST, TSU, UA, UP, VN, VP, VS, VX, ZZZ, PPI
schemeVersionstring | nullNo
valuestringYesThe value of the item classification code. Example: "123456"
parsed.lines.additionalItemProperties properties
NameTypeRequiredDescription
namestringYesExample: "Color"
valuestringYesExample: "Red"
parsed.lines.discounts properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.surcharges properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.discounts properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.discounts.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.surcharges properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.surcharges.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.totals (One of)

Totals:

If not provided, the totals will be calculated from the document lines.

NameTypeRequiredDescription
linesAmountstring | nullNoThe tax exclusive total amount of all lines. Rounded to 2 decimal places. Example: "21.00"
discountAmountstring | nullNoThe tax exclusive total amount of all discounts. If not provided, this will be calculated automatically. Example: "21.00"
surchargeAmountstring | nullNoThe tax exclusive total amount of all surcharges. If not provided, this will be calculated automatically. Example: "21.00"
taxExclusiveAmountstringYesThe tax exclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
taxInclusiveAmountstringYesThe tax inclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
payableAmountstring | nullNoThe amount to be paid. If not provided, this will be taxInclusiveAmount. Can be used in combination with paidAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"
paidAmountstring | nullNoThe amount paid. If not provided, this will be taxInclusiveAmount - payableAmount. Can be used in combination with payableAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"

parsed.vat (One of)

Provided VAT totals:

NameTypeRequiredDescription
totalVatAmountstringYesThe total VAT amount of the document, the sum of the VAT amounts of all subtotals. Example: "21.00"
subtotalsobject[]YesOne entry for every combination of VAT category and rate used in the document
parsed.vat.subtotals properties
NameTypeRequiredDescription
taxableAmountstringYesThe total amount in this VAT category and rate that the VAT is calculated on. Example: "21.00"
vatAmountstringYesThe VAT amount for this VAT category and rate. Example: "21.00"
categoryAE | E | S | Z | G | O | K | L | M | BYesVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"
exemptionReasonCodestring | nullNoIf the invoice is exempt from VAT, this (or exemptionReason) is required. The exemption reason code identifier must belong to the CEF VATEX code list found here
exemptionReasonstring | nullNoIf the invoice is exempt from VAT, this (or exemptionReasonCode) is required. The exemption reason must be a textual statement of the reason why the amount is exempt from VAT or why no VAT is charged

parsed.attachments properties

NameTypeRequiredDescription
idstringYesAn identifier for the attachment within the document. Example: "ATT-001"
mimeCodestringNoMIME type of the document (e.g. application/pdf, text/csv, image/png). Default: application/pdf. Example: "application/pdf"
filenamestringYesFilename for an embedded attachment. This is included in the Peppol XML only when embeddedDocument is provided. For URL-only attachments, the document contains an external reference and the filename is not embedded. Example: "contract.pdf"
descriptionstring | nullNoA short description of what the attachment contains. Example: "Signed contract"
embeddedDocumentstring | nullNoThe contents of the attachment, base64 encoded. Provide this or url
urlstring | nullNoA link to the attachment, for when the contents are not embedded. Provide this or embeddedDocument. Example: "https://example.com/contract.pdf"

parsed.countrySpecific (One of)

Self Billing Credit Note:

Self billing credit note

NameTypeRequiredDescription
creditNoteNumberstringYesExample: "CN-2024-001"
issueDatestring (date)YesExample: "2024-03-20". Format: date
dueDatestring | nullNoThe date the credited amount is due (BT-9). Optional: when left out, the credit note states no due date. In CII, including Factur-X, it is the payment due date of the payment terms; in UBL it is stated on the first payment means, so a UBL credit note without paymentMeans does not carry it. Example: "2024-04-20". Format: date
notestring | nullNoExample: "Thank you for your business"
buyerReferencestring | nullNoA reference the buyer asked you to put on the credit note so they can route it internally (BT-10). If neither this nor purchaseOrderReference is provided, the credit note number is used. For a German public authority addressed by its Leitweg-ID (recipient scheme 0204), this must be that Leitweg-ID: it is filled in when left out, and a different value is refused. Example: "PO-2024-001"
invoiceReferencesobject[]YesReferences to one or more invoices that are being credited. A French regulated credit note (countrySpecific.country FR) needs at least one reference with its issueDate. Default: ``
purchaseOrderReferencestring | nullNoA reference to a related purchase order. Example: "PO-2024-001"
salesOrderReferencestring | nullNoA reference to a related sales order. Example: "SO-2024-001"
despatchReferencestring | nullNoA reference to a related despatch advice document (e.g. packing slip). Example: "DE-2024-001"
sellerobjectYes
buyerobjectYes
deliveryDeliverynullNo
paymentMeansobject[] | nullNo
paymentTermsobject | nullNo
linesobject[]YesMin items: 1
discountsobject[] | nullNoOptional global discounts
surchargesobject[] | nullNoOptional global surcharges
totalsTotalsnullNo
vatProvided VAT totalsnullNo
attachmentsobject[] | nullNoOptional attachments to the credit note
currencystring (enum)YesThe currency of the credit note. Defaults to EUR. Default: EUR. Example: "EUR". Values: XUA, AFN, DZD, ARS, AMD, AWG, AUD, AZN, BSD, BHD, THB, PAB, BBD, BYN, BZD, BMD, VES, VED, BOB, XBA, XBB, XBD, XBC, BRL, BND, BGN, BIF, CVE, CAD, KYD, XOF, XAF, XPF, CLP, XTS, COP, KMF, CDF, BAM, NIO, CRC, CUP, CZK, GMD, DKK, MKD, DJF, STN, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, XAU, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, KWD, AOA, MMK, LAK, GEL, LBP, ALL, HNL, LRD, LYD, SZL, LSL, MGA, MWK, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, MRU, TOP, PKR, XPD, MOP, UYU, PHP, XPT, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, XDR, RSD, SCR, SLE, XAG, SGD, PEN, SBD, KGS, SOS, TJS, SSP, LKR, XSU, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, XXX, TTD, MNT, TND, TRY, TMT, AED, UGX, CLF, COU, UYW, UYI, USD, USN, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWG, PLN
countrySpecificCountry Specific BillingnullNo

parsed.invoiceReferences properties

NameTypeRequiredDescription
idstringYesThe reference to the invoice that is being credited. Example: "INV-2024-001"
issueDatestring | nullNoThe issue date of the invoice that is being credited. Example: "2024-03-20". Format: date

parsed.seller properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.buyer properties

NameTypeRequiredDescription
vatNumberstring | nullNoThe VAT number including its country prefix, for example BE0123456789. Example: "BE1234567894"
enterpriseNumberSchemestring (enum)NoThe scheme that corresponds to the enterprise number. Can be found here. Example: "0208". Values: 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 0139, 0140, 0141, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, null
enterpriseNumberstring | nullNoThe national registration number without a country prefix, paired with enterpriseNumberScheme. Example: "1234567894"
namestringYesThe registered name of the party. Example: "Example Company"
streetstringYesThe street name and number of the party's address. Example: "Example Street 1"
street2string | nullNoAn extra address line, for example a suite or a building name. Example: "Suite 100"
citystringYesThe city of the party's address. Example: "Brussels"
postalZonestringYesThe postal code of the party's address. Example: "1000"
countrystringYesThe country of the party's address, as an ISO 3166-1 alpha-2 code. Example: "BE"
emailstring | nullNoThe email address of the party. If not provided, the email address will not be included in the document. Example: "email@example.com"
phonestring | nullNoThe phone number of the party. Must contain at least 3 digits. If not provided, the phone number will not be included in the document. Example: "887 654 321"

parsed.delivery (One of)

Delivery:

NameTypeRequiredDescription
datestring | nullNoThe date of the delivery. Example: "2025-03-20". Format: date
locationIdentifierobject | nullNoThe identifier of the delivery location. Schemes can be found here. Example: {"scheme":"0088","identifier":"123456789"}
locationobjectNo
recipientNamestringNoThe name of the party to which the goods and services are delivered. Example: "Company Ltd."
parsed.delivery.locationIdentifier properties
NameTypeRequiredDescription
schemestringYesExample: "0088"
identifierstringYesExample: "123456789"
parsed.delivery.location properties
NameTypeRequiredDescription
streetstring | nullNoExample: "Example Street 1"
street2string | nullNoExample: "Suite 100"
citystring | nullNoExample: "Brussels"
postalZonestring | nullNoExample: "1000"
countrystringYesExample: "BE"

parsed.paymentMeans properties

NameTypeRequiredDescription
namestring | nullNoThe name of the payment means. Example: "Credit Transfer"
paymentMethodcash | credit_transfer | debit_transfer | bank_card | credit_card | debit_card | sepa_credit_transfer | sepa_direct_debit | otherNoHow the invoice is to be paid. Defaults to credit_transfer. Accepted values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other. Default: credit_transfer. Example: "credit_transfer". Values: cash, credit_transfer, debit_transfer, bank_card, credit_card, debit_card, sepa_credit_transfer, sepa_direct_debit, other
referencestringNoThe payment reference the buyer should quote when paying, such as a structured communication. Default: ``. Example: "INV-2026-001"
ibanstring | nullNoThe account the payment is to be made to, usually an IBAN. A credit transfer needs one. Leave it out when there is no account to pay into, as with a direct debit or a card payment. Example: "BE1234567890"
financialInstitutionBranchstring | nullNoAn identifier for the payment service provider where a payment account is located. Such as a BIC or a national clearing code where required

parsed.paymentTerms properties

NameTypeRequiredDescription
notestringYesExample: "Net 30"

parsed.lines properties

NameTypeRequiredDescription
idstring | nullNoA line number. If not provided, it will be calculated automatically. Example: "1"
namestringNoThe name of the item or service being billed. Default: ``. Example: "Consulting Services"
descriptionstring | nullNoA longer description of the item or service. Example: "Professional consulting services"
notestring | nullNoA textual note that gives unstructured information that is relevant to this line
buyersIdstring | nullNoThe item identifier of the item as defined by the buyer. Example: "CS-001"
sellersIdstring | nullNoThe item identifier of the item as defined by the seller. This is typically a product code or SKU. Example: "CS-001"
standardIdobject | nullNoThe standard identifier of the item based on a registered scheme. Schemes can be found here
documentReferencestring | nullNoA reference to a related document, mostly used to refer to a related invoice. Example: "INV-2024-001"
orderLineReferencestring | nullNoA reference to a related order line
commodityClassificationsobject[] | nullNoOptional commodity classifications
additionalItemPropertiesobject[] | nullNoOptional additional item properties
originCountrystring | nullNoThe country of origin of the item. Example: "BE"
quantitystringNoThe number of units billed on this line, expressed in unitCode. Default: 1.00. Example: "21.00"
unitCodestringNoRecommended unit codes can be found here. Default: C62. Example: "HUR"
netPriceAmountstringYesThe price of one unit excluding VAT, after any discount that is already reflected in the price. Example: "12.40"
baseQuantitystring | nullNoThe number of units to which the price refers. When greater than 1, the price is for a batch/pack of this size. The actual unit price is netPriceAmount / baseQuantity. Example: "1"
discountsobject[] | nullNoOptional discounts for the line
surchargesobject[] | nullNoOptional surcharges for the line
netAmountstring | nullNoThe total net amount of the line: quantity * netPriceAmount. Rounded to 2 decimal places. If not provided, it will be calculated automatically. Example: "21.00"
vatobjectYes
parsed.lines.standardId properties
NameTypeRequiredDescription
schemestringYesExample: "0160"
identifierstringYesExample: "10986700"
parsed.lines.commodityClassifications properties
NameTypeRequiredDescription
schemestring (enum)YesThe scheme of the item classification code. Can be found here. Example: "SN". Values: AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK, AL, AM, AN, AO, AP, AQ, AR, AS, AT, AU, AV, AW, AX, AY, AZ, BA, BB, BC, BD, BE, BF, BG, BH, BI, BJ, BK, BL, BM, BN, BO, BP, BQ, BR, BS, BT, BU, BV, BW, BX, BY, BZ, CC, CG, CL, CR, CV, DR, DW, EC, EF, EMD, EN, FS, GB, GMN, GN, GS, HS, IB, IN, IS, IT, IZ, MA, MF, MN, MP, NB, ON, PD, PL, PO, PV, QS, RC, RN, RU, RY, SA, SG, SK, SN, SRS, SRT, SRU, SRV, SRW, SRX, SRY, SRZ, SS, SSA, SSB, SSC, SSD, SSE, SSF, SSG, SSH, SSI, SSJ, SSK, SSL, SSM, SSN, SSO, SSP, SSQ, SSR, SSS, SST, SSU, SSV, SSW, SSX, SSY, SSZ, ST, STA, STB, STC, STD, STE, STF, STG, STH, STI, STJ, STK, STL, STM, STN, STO, STP, STQ, STR, STS, STT, STU, STV, STW, STX, STY, STZ, SUA, SUB, SUC, SUD, SUE, SUF, SUG, SUH, SUI, SUJ, SUK, SUL, SUM, TG, TSN, TSO, TSP, TSQ, TSR, TSS, TST, TSU, UA, UP, VN, VP, VS, VX, ZZZ, PPI
schemeVersionstring | nullNo
valuestringYesThe value of the item classification code. Example: "123456"
parsed.lines.additionalItemProperties properties
NameTypeRequiredDescription
namestringYesExample: "Color"
valuestringYesExample: "Red"
parsed.lines.discounts properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.surcharges properties
NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
parsed.lines.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.discounts properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the discount. This must be one of the codes in the UNCL5189 subset code list. For example, 95 for regular discounts. Either reason or reasonCode must be provided. Example: "95"
reasonstring | nullNoThe reason for the discount. This is a free text field. Either reason or reasonCode must be provided. Example: "Discount"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.discounts.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.surcharges properties

NameTypeRequiredDescription
reasonCodestring | nullNoThe reason code for the surcharge. This must be one of the codes in the UNCL7161 subset code list. For example, FC for freight services. Either reason or reasonCode must be provided. Example: "FC"
reasonstring | nullNoThe reason for the surcharge. This is a free text field. Either reason or reasonCode must be provided. Example: "Freight services"
amountstringYesDecimal number as a string with 2 decimal places. Example: "21.00"
vatobjectYes
parsed.surcharges.vat properties
NameTypeRequiredDescription
categoryAE | E | S | Z | G | O | K | L | M | BNoVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Default: S. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"

parsed.totals (One of)

Totals:

If not provided, the totals will be calculated from the document lines.

NameTypeRequiredDescription
linesAmountstring | nullNoThe tax exclusive total amount of all lines. Rounded to 2 decimal places. Example: "21.00"
discountAmountstring | nullNoThe tax exclusive total amount of all discounts. If not provided, this will be calculated automatically. Example: "21.00"
surchargeAmountstring | nullNoThe tax exclusive total amount of all surcharges. If not provided, this will be calculated automatically. Example: "21.00"
taxExclusiveAmountstringYesThe tax exclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
taxInclusiveAmountstringYesThe tax inclusive total amount of all lines, discounts and surcharges. Rounded to 2 decimal places. Example: "21.00"
payableAmountstring | nullNoThe amount to be paid. If not provided, this will be taxInclusiveAmount. Can be used in combination with paidAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"
paidAmountstring | nullNoThe amount paid. If not provided, this will be taxInclusiveAmount - payableAmount. Can be used in combination with payableAmount to indicate partial payment or payment rounding. Rounded to 2 decimal places. Example: "21.00"

parsed.vat (One of)

Provided VAT totals:

NameTypeRequiredDescription
totalVatAmountstringYesThe total VAT amount of the document, the sum of the VAT amounts of all subtotals. Example: "21.00"
subtotalsobject[]YesOne entry for every combination of VAT category and rate used in the document
parsed.vat.subtotals properties
NameTypeRequiredDescription
taxableAmountstringYesThe total amount in this VAT category and rate that the VAT is calculated on. Example: "21.00"
vatAmountstringYesThe VAT amount for this VAT category and rate. Example: "21.00"
categoryAE | E | S | Z | G | O | K | L | M | BYesVAT category code. All codes can be found here. When sending regular invoices, you should most often use the S category. When sending an invoice to another EU country, use the AE category for VAT Reverse Charge. In those cases, it is still recommended to include a note in the invoice explaining that the VAT Reverse Charge applies. Example: "S". Values: AE, E, S, Z, G, O, K, L, M, B
percentagestringYesThe VAT rate as a percentage, for example 21.00. Example: "21.00"
exemptionReasonCodestring | nullNoIf the invoice is exempt from VAT, this (or exemptionReason) is required. The exemption reason code identifier must belong to the CEF VATEX code list found here
exemptionReasonstring | nullNoIf the invoice is exempt from VAT, this (or exemptionReasonCode) is required. The exemption reason must be a textual statement of the reason why the amount is exempt from VAT or why no VAT is charged

parsed.attachments properties

NameTypeRequiredDescription
idstringYesAn identifier for the attachment within the document. Example: "ATT-001"
mimeCodestringNoMIME type of the document (e.g. application/pdf, text/csv, image/png). Default: application/pdf. Example: "application/pdf"
filenamestringYesFilename for an embedded attachment. This is included in the Peppol XML only when embeddedDocument is provided. For URL-only attachments, the document contains an external reference and the filename is not embedded. Example: "contract.pdf"
descriptionstring | nullNoA short description of what the attachment contains. Example: "Signed contract"
embeddedDocumentstring | nullNoThe contents of the attachment, base64 encoded. Provide this or url
urlstring | nullNoA link to the attachment, for when the contents are not embedded. Provide this or embeddedDocument. Example: "https://example.com/contract.pdf"

parsed.countrySpecific (One of)

Message Level Response:

Message Level Response received from a recipient

NameTypeRequiredDescription
idstringYes
issueDatestring (date)YesExample: "2024-03-20". Format: date
responseCodeAB | AP | REYesThe response code of the message level response (AB: Message acknowledgement, AP: Accepted, RE: Rejected). Example: "AB". Values: AB, AP, RE
envelopeIdstringYesIdentifies the document on which the message level response is based

French Invoicing CDAR:

French invoice lifecycle status using UN/CEFACT Cross Domain Acknowledgement and Response

NameTypeRequiredDescription
idstringYes
issueDatestring (date-time)string (date)Yes
businessProcessREGULATED | NON_REGULATED | B2C | B2CINT | B2BINT | OUTOFSCOPEYesFlow classification. | Value | Meaning | | --- | --- | | REGULATED | Regulated French domestic e-invoicing | | NON_REGULATED | Outside the regulated French e-invoicing perimeter | | B2C | B2C sales e-reporting | | B2CINT | International B2C sales e-reporting | | B2BINT | International B2B sales e-reporting | | OUTOFSCOPE | Outside the French e-invoicing and e-reporting reform |. Example: "REGULATED". Values: REGULATED, NON_REGULATED, B2C, B2CINT, B2BINT, OUTOFSCOPE
phase23 | 305YesCDAR phase. | Value | Meaning | | --- | --- | | 23 | Processing phase | | 305 | Transmission phase |. Example: "23". Values: 23, 305
senderRolestring (enum)YesRole of the CDAR sender. CDAR party role code (UNCL 3035). | Value | Meaning | | --- | --- | | BY | Buyer | | AB | Buyer's agent or representative | | DL | Factor | | SE | Seller | | SR | Seller's agent | | WK | Platform or dematerialisation operator | | DFH | French public invoicing portal (PPF) | | PE | Payee | | PR | Payer | | II | Invoicer (invoice issuer) | | IV | Invoicee (party invoiced) |. Example: "WK". Values: BY, AB, DL, SE, SR, WK, DFH, PE, PR, II, IV
issuerRolestring (enum)YesRole of the party that creates and issues the invoice lifecycle status. This is independent from the CDAR sender role. CDAR party role code (UNCL 3035). | Value | Meaning | | --- | --- | | BY | Buyer | | AB | Buyer's agent or representative | | DL | Factor | | SE | Seller | | SR | Seller's agent | | WK | Platform or dematerialisation operator | | DFH | French public invoicing portal (PPF) | | PE | Payee | | PR | Payer | | II | Invoicer (invoice issuer) | | IV | Invoicee (party invoiced) |. Example: "BY". Values: BY, AB, DL, SE, SR, WK, DFH, PE, PR, II, IV
issuerLegalIdstringNoLegal identifier of the party setting the status. Required when phase is 23; must be omitted when phase is 305 unless recipientRole is DFH. Example: "200000008"
issuerLegalIdSchemestringNoISO 6523 ICD scheme of the party-setting-status legal identifier. Required together with issuerLegalId. Example: "0002"
recipientRolestring (enum)YesRole of the CDAR recipient. CDAR party role code (UNCL 3035). | Value | Meaning | | --- | --- | | BY | Buyer | | AB | Buyer's agent or representative | | DL | Factor | | SE | Seller | | SR | Seller's agent | | WK | Platform or dematerialisation operator | | DFH | French public invoicing portal (PPF) | | PE | Payee | | PR | Payer | | II | Invoicer (invoice issuer) | | IV | Invoicee (party invoiced) |. Example: "SE". Values: BY, AB, DL, SE, SR, WK, DFH, PE, PR, II, IV
recipientLegalIdstringNoLegal identifier of the CDAR recipient. Example: "200000008"
recipientLegalIdSchemestringNoISO 6523 ICD scheme of the CDAR recipient legal identifier. Required together with recipientLegalId. Example: "0002"
recipientElectronicAddressstringNoElectronic address of the CDAR recipient. Required when recipientRole is not WK or DFH. Example: "100000009"
recipientElectronicAddressSchemestringNoElectronic Address Scheme (EAS) code of the CDAR recipient electronic address. Required together with recipientElectronicAddress. Example: "0225"
statusCodestring (enum)YesFrench invoice lifecycle status. | Value | Meaning | | --- | --- | | 200 | Submitted | | 201 | Issued | | 202 | Received | | 203 | Made available | | 204 | Taken in charge (processing started) | | 205 | Approved | | 206 | Partially approved | | 207 | In dispute | | 208 | Suspended | | 209 | Completed | | 210 | Refused | | 211 | Payment sent | | 212 | Collected (cashed) | | 213 | Rejected | | 214 | Validated or pre-validated ("Visée") | | 501 | Inadmissible file |. Example: "200". Values: 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 501
statusDatestring (date-time)string (date)Yes
invoiceIdstringYesNumber of the invoice this status relates to. For status 501, this is the filename of the inadmissible file
invoiceTypeCodestring (enum)NoType of the referenced invoice. Type of the referenced invoice (UNTDID 1001, restricted to the values allowed by BR-FR-04). | Value | Meaning | | --- | --- | | 380 | Commercial invoice | | 389 | Self-billed invoice | | 393 | Factored invoice | | 501 | Self-billed factored invoice | | 386 | Advance payment invoice | | 500 | Self-billed advance payment invoice | | 384 | Corrective invoice | | 471 | Self-billed corrective invoice | | 472 | Factored corrective invoice | | 473 | Self-billed factored corrective invoice | | 261 | Self-billed credit note | | 262 | Global rebate credit note | | 381 | Credit note | | 396 | Factored credit note | | 502 | Self-billed factored credit note | | 503 | Credit note for an advance payment invoice |. Example: "380". Values: 380, 389, 393, 501, 386, 500, 384, 471, 472, 473, 261, 262, 381, 396, 502, 503
invoiceIssueDatestring (date)NoIssue date of the referenced invoice. Required unless statusCode is 501. Example: "2024-03-15". Format: date
sellerLegalIdstringNoLegal identifier (e.g. SIREN) of the invoice seller. Required unless statusCode is 501. Example: "123456789"
sellerLegalIdSchemestringNoISO 6523 ICD scheme of the referenced invoice seller legal identifier. Required together with sellerLegalId. Example: "0002"
reasonCodestring (enum)NoCoded reason for the invoice lifecycle status. | Value | Meaning | | --- | --- | | JUSTIF_ABS | Supporting document missing or insufficient | | ROUTAGE_ERR | Routing error | | AUTRE | Other reason; provide an explanation in reasonNote | | COORD_BANC_ERR | Incorrect bank details | | TX_TVA_ERR | Incorrect VAT rate | | MONTANTTOTAL_ERR | Incorrect invoice total | | CALCUL_ERR | Invoice calculation error | | NON_CONFORME | Missing legal information | | DOUBLON | Duplicate invoice | | DEST_INC | Unknown recipient | | DEST_ERR | Incorrect recipient | | TRANSAC_INC | Unknown transaction | | EMMET_INC | Unknown issuer | | CONTRAT_TERM | Contract ended | | DOUBLE_FACT | Supply or service already invoiced on another invoice | | CMD_ERR | Incorrect or missing order number | | ADR_ERR | Incorrect electronic invoicing address | | SIRET_ERR | Incorrect or missing SIRET | | CODE_ROUTAGE_ERR | Incorrect or missing routing code | | REF_CT_ABSENT | Required contractual reference missing | | REF_ERR | Incorrect reference | | PU_ERR | Incorrect unit price | | REM_ERR | Incorrect discount | | QTE_ERR | Incorrect invoiced quantity | | ART_ERR | Incorrect invoiced item | | MODPAI_ERR | Incorrect payment terms | | QUALITE_ERR | Incorrect quality of delivered item | | LIVR_INCOMP | Incomplete or non-compliant delivery | | REJ_SEMAN | Rejected because of a semantic error | | REJ_UNI | Rejected by uniqueness control | | REJ_COH | Rejected by data-consistency control | | REJ_ADR | Rejected by addressing control | | REJ_CONT_B2G | Rejected by B2G business controls | | REJ_REF_PJ | Rejected because of an attachment-reference error | | REJ_ASS_PJ | Rejected because of an attachment-association error | | NON_TRANSMISE | Submitted but not transmitted because the recipient has no receiving platform | | IRR_VIDE_F | Inadmissible: a file in the submitted flow is empty | | IRR_TYPE_F | Inadmissible: a file in the flow has a wrong type or extension | | IRR_SYNTAX | Inadmissible: a file in the flow fails the syntax check | | IRR_TAILLE_PJ | Inadmissible: an attachment exceeds the size limit | | IRR_NOM_PJ | Inadmissible: an attachment name contains forbidden characters | | IRR_VID_PJ | Inadmissible: an attachment is empty | | IRR_EXT_DOC | Inadmissible: an attachment has a wrong extension | | IRR_TAILLE_F | Inadmissible: a file in the flow exceeds the maximum size | | IRR_ANTIVIRUS | Inadmissible: the flow fails the anti-virus check | | IRR_NOM_F | Inadmissible: a file name in the flow is invalid | | SUPPR_COMP_AVOIR | Public-sector refusal: withdrawn for offsetting against credit notes | | TRANSF_PMNT_REGIE | Public-sector refusal: transferred for payment through a régie | | CONTACT_ACHTR | Public-sector refusal: other reason, contact your buyer | | RETRAIT_MAN_SERV | Public-sector refusal reason, see the AFNOR XP Z12-012 reason code table | | ST_CT_NON_DECLAR | Public-sector refusal reason, see the AFNOR XP Z12-012 reason code table | The IRR_* codes are the reasons for an inadmissible file (501). The public-sector refusal codes are set by the public invoicing portal and only appear in CDARs you receive. When sending, statuses 200, 206, 207, 208, 210, 213 and 501 accept only the codes the French rules list for them (BR-FR-CDV-CL-09). A refusal (210) accepts TX_TVA_ERR, MONTANTTOTAL_ERR, CALCUL_ERR, NON_CONFORME, DOUBLON, DEST_ERR, TRANSAC_INC, EMMET_INC, CONTRAT_TERM, DOUBLE_FACT, CMD_ERR, ADR_ERR and REF_CT_ABSENT, so not AUTRE. Values: JUSTIF_ABS, ROUTAGE_ERR, AUTRE, COORD_BANC_ERR, TX_TVA_ERR, MONTANTTOTAL_ERR, CALCUL_ERR, NON_CONFORME, DOUBLON, DEST_INC, DEST_ERR, TRANSAC_INC, EMMET_INC, CONTRAT_TERM, DOUBLE_FACT, CMD_ERR, ADR_ERR, SIRET_ERR, CODE_ROUTAGE_ERR, REF_CT_ABSENT, REF_ERR, PU_ERR, REM_ERR, QTE_ERR, ART_ERR, MODPAI_ERR, QUALITE_ERR, LIVR_INCOMP, REJ_SEMAN, REJ_UNI, REJ_COH, REJ_ADR, REJ_CONT_B2G, REJ_REF_PJ, REJ_ASS_PJ, NON_TRANSMISE, IRR_VIDE_F, IRR_TYPE_F, IRR_SYNTAX, IRR_TAILLE_PJ, IRR_NOM_PJ, IRR_VID_PJ, IRR_EXT_DOC, IRR_TAILLE_F, IRR_ANTIVIRUS, IRR_NOM_F, SUPPR_COMP_AVOIR, TRANSF_PMNT_REGIE, CONTACT_ACHTR, RETRAIT_MAN_SERV, ST_CT_NON_DECLAR
reasonstringNoOptional free-text status reason. This is distinct from the IncludedNote explanation required for reasonCode AUTRE
reasonNotestringNoFree-text comment in the status detail IncludedNote. Required when reasonCode is AUTRE. Example: "The invoice needs manual review."
collectedAmountsobject[]NoCollected amounts with VAT rates (TypeCode MEN). Required for status 212; at least one entry

parsed.issueDate (Any of)

parsed.statusDate (Any of)

parsed.collectedAmounts properties

NameTypeRequiredDescription
amountstringYesNet collected amount (positive) or disbursed amount (negative), for status 212. Example: "12000.00"
currencystring (enum)YesISO 4217 currency code of the collected amount. Example: "EUR". Values: XUA, AFN, DZD, ARS, AMD, AWG, AUD, AZN, BSD, BHD, THB, PAB, BBD, BYN, BZD, BMD, VES, VED, BOB, XBA, XBB, XBD, XBC, BRL, BND, BGN, BIF, CVE, CAD, KYD, XOF, XAF, XPF, CLP, XTS, COP, KMF, CDF, BAM, NIO, CRC, CUP, CZK, GMD, DKK, MKD, DJF, STN, DOP, VND, XCD, EGP, SVC, ETB, EUR, FKP, FJD, HUF, GHS, GIP, XAU, HTG, PYG, GNF, GYD, HKD, UAH, ISK, INR, IRR, IQD, JMD, JOD, KES, PGK, KWD, AOA, MMK, LAK, GEL, LBP, ALL, HNL, LRD, LYD, SZL, LSL, MGA, MWK, MYR, MUR, MXN, MXV, MDL, MAD, MZN, BOV, NGN, ERN, NAD, NPR, ANG, ILS, TWD, NZD, BTN, KPW, NOK, MRU, TOP, PKR, XPD, MOP, UYU, PHP, XPT, GBP, BWP, QAR, GTQ, ZAR, OMR, KHR, RON, MVR, IDR, RUB, RWF, SHP, SAR, XDR, RSD, SCR, SLE, XAG, SGD, PEN, SBD, KGS, SOS, TJS, SSP, LKR, XSU, SDG, SRD, SEK, CHF, SYP, BDT, WST, TZS, KZT, XXX, TTD, MNT, TND, TRY, TMT, AED, UGX, CLF, COU, UYW, UYI, USD, USN, UZS, VUV, CHE, CHW, KRW, YER, JPY, CNY, ZMW, ZWG, PLN
vatPercentstringYesVAT rate applicable to the collected amount. Example: "20.00"

validation (One of)

Document Validation:

NameTypeRequiredDescription
resultvalid | invalid | not_supported | errorYesvalid: the document passed every rule that applies to it. invalid: at least one rule was violated; see errors. not_supported: no ruleset is available for this document type, so nothing was checked. error: the validation service could not be reached or its answer could not be read. Example: "valid". Values: valid, invalid, not_supported, error
errorsobject[]YesThe findings the validation produced. Empty when the document is valid, and also when the result is not_supported or error

validation.errors properties

NameTypeRequiredDescription
ruleCodestring | nullNoThe identifier of the rule that was violated, for example an EN 16931 or Peppol BIS business rule code. Null for findings that come from something other than a coded rule, such as a schema error. Example: "PEPPOL-EN16931-R010"
errorMessagestringYesWhat the rule expected, in the words of the ruleset that raised it
errorLevelstringYesHow serious the finding is. Only findings the ruleset treats as errors make a document invalid. Example: "ERROR"
fieldNamestring | nullNoWhere in the document the finding applies, usually as an XPath. Null when the finding is not tied to one place
sourcestringNoWhich ruleset produced the finding, for example the syntax schema or a Peppol business rule set

labels properties

NameTypeRequiredDescription
colorHexstringYesThe colour the label is shown in, as a hex code. Example: "#3B82F6"
externalIdstring | nullYesYour own identifier for the label, if you set one. It is unique within the team, so you can address a label by the id your system already uses. Example: "erp-routing-inbox"
idstringYesThe label's identifier, used wherever a label is assigned or unassigned. Example: "lbl_01JQZ8X0M4T7RB6K9V2NDHW3PA"
namestringYesThe label's name, as it is shown in the dashboard and returned on the documents and suppliers it is assigned to. Example: "ERP"

reporting (One of)

French Reporting Status:

NameTypeRequiredDescription
reportingStatusaccepted | pending_rectificative | filed | filed_rectificative | superseded | rejectedYesaccepted: on file, inside its reporting period. pending_rectificative: arrived after the period was filed and will be carried by a corrective filing. filed / filed_rectificative: carried on a filing transmitted to the tax administration; not final until outcomeCode is 300, see final. superseded: replaced by a correction or cancelled. rejected: refused by the tax administration; see outcomeCode. Values: accepted, pending_rectificative, filed, filed_rectificative, superseded, rejected
finalbooleanYesTrue once nothing more will be heard about the report: filed or filed_rectificative with outcomeCode 300, superseded, or rejected. A filed report whose outcome is still empty or 500 is not final and keeps being refreshed
receivedAtstring | nullYesWhen the report reached the reporting service
periodStartstring | nullYesFirst day of the reporting period the report belongs to
periodEndstring | nullYesLast day of the reporting period; the cutoff for on-time filing
submissionIdstring | nullYesThe period filing the report was carried on, once assembled
outcomeCodestring | nullYesThe tax administration's outcome code for the filing the report is carried on. It moves independently of reportingStatus: empty at first, then 500 while the deposit is being processed, then 300 once it is accepted. 501 means the deposit was refused and has to be resolved with support. A filed report is final only with 300
outcomeAtstring | nullYesWhen the tax administration returned its outcome
checkedAtstring | nullYesWhen the status was last refreshed from the reporting service
simulatedbooleanYesTrue for playground and test-network reports, which are recorded but never filed

deliveries properties

NameTypeRequiredDescription
idstringYesThe delivery ID. It identifies this delivery in document.delivery_status_changed webhook events. Example: "dlv_01JQZ8X0M4T7RB6K9V2NDHW3PA"
channelpeppol | emailYesHow the document was sent to this address. Example: "peppol". Values: peppol, email
addressstringYesThe Peppol address or email address the document was sent to. Example: "0208:0428643097"
statuspending | delivered | failedYespending: the channel accepted the document and has not confirmed arrival. delivered: the channel confirmed arrival; for Peppol the recipient's access point acknowledged the document, for email the recipient's mail server accepted the message. failed: the document did not arrive; for email the message bounced or was refused. See failure. Example: "delivered". Values: pending, delivered, failed
statusChangedAtstringYesWhen the delivery reached its current status
failureDelivery FailurenullYes
referencesobjectYesThe identifiers the delivery is known by on its channel: the AS4 and envelope IDs for peppol deliveries, the mail service's messageId for email deliveries

deliveries.failure (One of)

Delivery Failure:

NameTypeRequiredDescription
categoryrecipient_not_found | document_not_supported | validation | transport | recipient_rejected | duplicate | otherYesWhy the delivery failed, in the same terms for every channel and access point: recipient_not_found (the address is not registered on the network, or the mailbox does not exist), document_not_supported (the recipient does not receive this document type), validation (the document was refused by a rule), transport (it could not be transmitted, or the mail server did not take the message), recipient_rejected (the recipient or their server refused it, for email a block or spam complaint), duplicate or other. Example: "validation". Values: recipient_not_found, document_not_supported, validation, transport, recipient_rejected, duplicate, other
messagestring | nullYesWhat went wrong, as the channel or access point described it
providerCodestring | nullYesThe access point's or mail service's own code for the failure, when it reported one: an access point error code, or a bounce type such as HardBounce. Example: "TXE-1005"

deliveries.references properties

NameTypeRequiredDescription
peppolMessageIdstring | nullNoThe AS4 message ID of the transmission
peppolConversationIdstring | nullNoThe AS4 conversation ID of the transmission
envelopeIdstring | nullNoThe envelope ID (SBDH instance identifier) of the transmission
messageIdstring | nullNoThe mail service's message ID of the email, for email deliveries. It is the ID a bounce or delivery notification from the mail service refers to. Null when the delivery predates message tracking

Used by

On this page

Propertiesparsed (Any of)parsed.seller propertiesparsed.buyer propertiesparsed.delivery (One of)parsed.delivery.locationIdentifier propertiesparsed.delivery.location propertiesparsed.paymentMeans propertiesparsed.paymentTerms propertiesparsed.lines propertiesparsed.lines.standardId propertiesparsed.lines.commodityClassifications propertiesparsed.lines.additionalItemProperties propertiesparsed.lines.discounts propertiesparsed.lines.surcharges propertiesparsed.lines.vat propertiesparsed.discounts propertiesparsed.discounts.vat propertiesparsed.surcharges propertiesparsed.surcharges.vat propertiesparsed.totals (One of)parsed.vat (One of)parsed.vat.subtotals propertiesparsed.attachments propertiesparsed.countrySpecific (One of)parsed.invoiceReferences propertiesparsed.seller propertiesparsed.buyer propertiesparsed.delivery (One of)parsed.delivery.locationIdentifier propertiesparsed.delivery.location propertiesparsed.paymentMeans propertiesparsed.paymentTerms propertiesparsed.lines propertiesparsed.lines.standardId propertiesparsed.lines.commodityClassifications propertiesparsed.lines.additionalItemProperties propertiesparsed.lines.discounts propertiesparsed.lines.surcharges propertiesparsed.lines.vat propertiesparsed.discounts propertiesparsed.discounts.vat propertiesparsed.surcharges propertiesparsed.surcharges.vat propertiesparsed.totals (One of)parsed.vat (One of)parsed.vat.subtotals propertiesparsed.attachments propertiesparsed.countrySpecific (One of)parsed.seller propertiesparsed.buyer propertiesparsed.delivery (One of)parsed.delivery.locationIdentifier propertiesparsed.delivery.location propertiesparsed.paymentMeans propertiesparsed.paymentTerms propertiesparsed.lines propertiesparsed.lines.standardId propertiesparsed.lines.commodityClassifications propertiesparsed.lines.additionalItemProperties propertiesparsed.lines.discounts propertiesparsed.lines.surcharges propertiesparsed.lines.vat propertiesparsed.discounts propertiesparsed.discounts.vat propertiesparsed.surcharges propertiesparsed.surcharges.vat propertiesparsed.totals (One of)parsed.vat (One of)parsed.vat.subtotals propertiesparsed.attachments propertiesparsed.countrySpecific (One of)parsed.invoiceReferences propertiesparsed.seller propertiesparsed.buyer propertiesparsed.delivery (One of)parsed.delivery.locationIdentifier propertiesparsed.delivery.location propertiesparsed.paymentMeans propertiesparsed.paymentTerms propertiesparsed.lines propertiesparsed.lines.standardId propertiesparsed.lines.commodityClassifications propertiesparsed.lines.additionalItemProperties propertiesparsed.lines.discounts propertiesparsed.lines.surcharges propertiesparsed.lines.vat propertiesparsed.discounts propertiesparsed.discounts.vat propertiesparsed.surcharges propertiesparsed.surcharges.vat propertiesparsed.totals (One of)parsed.vat (One of)parsed.vat.subtotals propertiesparsed.attachments propertiesparsed.countrySpecific (One of)parsed.issueDate (Any of)parsed.statusDate (Any of)parsed.collectedAmounts propertiesvalidation (One of)validation.errors propertieslabels propertiesreporting (One of)deliveries propertiesdeliveries.failure (One of)deliveries.references propertiesUsed by