Skip to content

Base model example

Overview

A base invoice model contains all fields required for a valid electronic invoice that can be processed automatically via the Peppol network. The example below uses the Peppol BIS Billing 3.0 format and shows the data structure in JSON and XML.

Example scenario

In this example, an invoice is created with number INV-2024-001, issue date 13 November 2017 and due date 1 December 2017. The invoice is in euros with payment terms "Payment within 10 days, 2% discount". Accounting cost code 4025:123:4343, customer reference PO-2024-0150.

The invoice is issued by TechSolutions GmbH (trading name TechSolutions). Supplier: Friedrichstraße 45, Berlin, 10117, Germany. VAT ID DE123456789, registration number HRB 98765 B (Amtsgericht Berlin-Charlottenburg), Peppol endpoint DE123456789 (scheme 9930). Supplier identifier 98765432.

The recipient is Digital Services NV (Digital Services), Rue de la Loi 200, Brussels, 1040, Belgium. Buyer VAT ID BE0123456789, registration number 2301147529 (scheme 0208), Peppol endpoint 9121155354532 (scheme 0088). Contact: Contact Person, +32 2 000 00 00, contact@example.com.

Delivery: Digital Services NV, Avenue Louise 250, Brussels, 1050, Belgium, 1 November 2017. Delivery location identifier 541234567891 (scheme 0088).

One line item: "Software License - Annual Subscription" — annual license for enterprise management system including support and updates. Quantity 1, price 5000 EUR, line amount 5000 EUR. Order line reference PO-2024-0150-001, accounting cost "Software Licenses", country of origin Germany. VAT 19%, code S, scheme VAT.

A charge of 100 EUR for setup and configuration, also VAT 19%, code S, scheme VAT.

Payment: SEPA credit transfer (code 58), account DE99 9999 9999 9999 9999 99, bank EXMPDE00XXX. Payee TechSolutions GmbH, remittance information "INV-2024-001".

Taxable amount 5100 EUR (5000 line items + 100 charge). VAT 19% = 969 EUR.

Totals: line sum 5000 EUR, after charge 5100 EUR, VAT 969 EUR, payable 6069 EUR.

Implementation

Below are examples of this invoice's data structure in two formats: JSON and XML (the standard format for electronic document exchange).

{
    "format": "peppol_bis_billing.invoice.3_0.xml_ubl",
    "document": {
        "number": "INV-2024-001",
        "type_code": "380",
        "issue_date": "2017-11-13",
        "due_date": "2017-12-01",
        "currency_code": "EUR",
        "terms": "Payment within 10 days, 2% discount",
        "accounting_cost": "4025:123:4343",
        "customer_reference": "PO-2024-0150"
    },
    "supplier": {
        "address_line_1": "Friedrichstraße 45",
        "address_line_2": null,
        "city": "Berlin",
        "zip": "10117",
        "country": "DE",
        "ids": [
            {
                "value": "98765432",
                "scheme": null
            }
        ],
        "name": "TechSolutions GmbH",
        "trading_name": "TechSolutions",
        "vat_id": "DE123456789",
        "endpoint_id": {
            "value": "DE123456789",
            "scheme": "9930"
        },
        "legal_registration_id": {
            "value": "HRB 98765 B",
            "scheme": null
        }
    },
    "customer": {
        "address_line_1": "Rue de la Loi 200",
        "address_line_2": null,
        "city": "Brussels",
        "zip": "1040",
        "country": "BE",
        "id": {
            "value": "9121155354532",
            "scheme": "0088"
        },
        "name": "Digital Services NV",
        "trading_name": "Digital Services",
        "vat_id": "BE0123456789",
        "endpoint_id": {
            "value": "9121155354532",
            "scheme": "0088"
        },
        "legal_registration_id": {
            "value": "2301147529",
            "scheme": "0208"
        },
        "contact_name": "Contact Person",
        "contact_phone": "+32 2 000 00 00",
        "contact_email": "contact@example.com"
    },
    "delivery": {
        "address_line_1": "Avenue Louise 250",
        "address_line_2": null,
        "city": "Brussels",
        "zip": "1050",
        "country": "BE",
        "id": {
            "value": "541234567891",
            "scheme": "0088"
        },
        "name": "Digital Services NV",
        "date": "2017-11-01"
    },
    "discounts_charges": [
        {
            "sign": "+",
            "amount": "100",
            "tax_code": "S",
            "tax_scheme": "VAT",
            "tax_percent": "19.0",
            "reason": "Setup and Configuration"
        }
    ],
    "payment_details": [
        {
            "method_code": "58",
            "method_name": "SEPA credit transfer",
            "iban": "DE99999999999999999999",
            "bic": "EXMPDE00XXX",
            "account_name": "TechSolutions GmbH",
            "remittance_information": "INV-2024-001"
        }
    ],
    "taxes": [
        {
            "taxable_amount": "5100",
            "currency_code": "EUR",
            "amount": "969",
            "percent": "19.0",
            "code": "S",
            "scheme": "VAT"
        }
    ],
    "totals": {
        "item_subtotal": "5000",
        "subtotal": "5100",
        "total": "6069",
        "charge": "100",
        "payable": "6069",
        "tax_total": "969"
    },
    "items": [
        {
            "subtotal": "5000",
            "position": "1",
            "name": "Software License - Annual Subscription",
            "description": "Annual software license for enterprise management system including support and updates",
            "quantity": "1",
            "unit_code": "C62",
            "price": "5000",
            "order_position_reference": "PO-2024-0150-001",
            "tax_percent": "19.0",
            "tax_code": "S",
            "tax_scheme": "VAT",
            "accounting_cost": "Software Licenses",
            "origin_country": "DE"
        }
    ]
}
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
    xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
    <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
    <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
    <cbc:ID>INV-2024-001</cbc:ID>
    <cbc:IssueDate>2017-11-13</cbc:IssueDate>
    <cbc:DueDate>2017-12-01</cbc:DueDate>
    <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
    <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
    <cbc:AccountingCost>4025:123:4343</cbc:AccountingCost>
    <cbc:BuyerReference>PO-2024-0150</cbc:BuyerReference>
    <cac:AccountingSupplierParty>
        <cac:Party>
            <cbc:EndpointID schemeID="9930">DE123456789</cbc:EndpointID>
            <cac:PartyIdentification>
                <cbc:ID>98765432</cbc:ID>
            </cac:PartyIdentification>
            <cac:PartyName>
                <cbc:Name>TechSolutions</cbc:Name>
            </cac:PartyName>
            <cac:PostalAddress>
                <cbc:StreetName>Friedrichstraße 45</cbc:StreetName>
                <cbc:CityName>Berlin</cbc:CityName>
                <cbc:PostalZone>10117</cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>DE</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                <cbc:CompanyID>DE123456789</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:PartyLegalEntity>
                <cbc:RegistrationName>TechSolutions GmbH</cbc:RegistrationName>
                <cbc:CompanyID>HRB 98765 B</cbc:CompanyID>
            </cac:PartyLegalEntity>
        </cac:Party>
    </cac:AccountingSupplierParty>
    <cac:AccountingCustomerParty>
        <cac:Party>
            <cbc:EndpointID schemeID="0088">9121155354532</cbc:EndpointID>
            <cac:PartyIdentification>
                <cbc:ID schemeID="0088">9121155354532</cbc:ID>
            </cac:PartyIdentification>
            <cac:PartyName>
                <cbc:Name>Digital Services</cbc:Name>
            </cac:PartyName>
            <cac:PostalAddress>
                <cbc:StreetName>Rue de la Loi 200</cbc:StreetName>
                <cbc:CityName>Brussels</cbc:CityName>
                <cbc:PostalZone>1040</cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>BE</cbc:IdentificationCode>
                </cac:Country>
            </cac:PostalAddress>
            <cac:PartyTaxScheme>
                <cbc:CompanyID>BE0123456789</cbc:CompanyID>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:PartyTaxScheme>
            <cac:PartyLegalEntity>
                <cbc:RegistrationName>Digital Services NV</cbc:RegistrationName>
                <cbc:CompanyID schemeID="0208">2301147529</cbc:CompanyID>
            </cac:PartyLegalEntity>
            <cac:Contact>
                <cbc:Name>Contact Person</cbc:Name>
                <cbc:Telephone>+32 2 000 00 00</cbc:Telephone>
                <cbc:ElectronicMail>contact@example.com</cbc:ElectronicMail>
            </cac:Contact>
        </cac:Party>
    </cac:AccountingCustomerParty>
    <cac:Delivery>
        <cbc:ActualDeliveryDate>2017-11-01</cbc:ActualDeliveryDate>
        <cac:DeliveryLocation>
            <cbc:ID schemeID="0088">541234567891</cbc:ID>
            <cac:Address>
                <cbc:StreetName>Avenue Louise 250</cbc:StreetName>
                <cbc:CityName>Brussels</cbc:CityName>
                <cbc:PostalZone>1050</cbc:PostalZone>
                <cac:Country>
                    <cbc:IdentificationCode>BE</cbc:IdentificationCode>
                </cac:Country>
            </cac:Address>
        </cac:DeliveryLocation>
        <cac:DeliveryParty>
            <cac:PartyName>
                <cbc:Name>Digital Services NV</cbc:Name>
            </cac:PartyName>
        </cac:DeliveryParty>
    </cac:Delivery>
    <cac:PaymentMeans>
        <cbc:PaymentMeansCode name="SEPA credit transfer">58</cbc:PaymentMeansCode>
        <cbc:PaymentID>INV-2024-001</cbc:PaymentID>
        <cac:PayeeFinancialAccount>
            <cbc:ID>DE99999999999999999999</cbc:ID>
            <cbc:Name>TechSolutions GmbH</cbc:Name>
            <cac:FinancialInstitutionBranch>
                <cbc:ID>EXMPDE00XXX</cbc:ID>
            </cac:FinancialInstitutionBranch>
        </cac:PayeeFinancialAccount>
    </cac:PaymentMeans>
    <cac:PaymentTerms>
        <cbc:Note>Payment within 10 days, 2% discount</cbc:Note>
    </cac:PaymentTerms>
        <cac:AllowanceCharge>
            <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
            <cbc:AllowanceChargeReason>Setup and Configuration</cbc:AllowanceChargeReason>
            <cbc:Amount currencyID="EUR">100</cbc:Amount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>19.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:AllowanceCharge>
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID="EUR">969</cbc:TaxAmount>
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID="EUR">5100</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID="EUR">969</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>19.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
    </cac:TaxTotal>
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID="EUR">5000</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID="EUR">5100</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID="EUR">6069</cbc:TaxInclusiveAmount>
        <cbc:ChargeTotalAmount currencyID="EUR">100</cbc:ChargeTotalAmount>
        <cbc:PayableAmount currencyID="EUR">6069</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>

<cac:InvoiceLine>
        <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID= "EUR">5000</cbc:LineExtensionAmount>
        <cbc:AccountingCost>Software Licenses</cbc:AccountingCost>
    <cac:OrderLineReference>
            <cbc:LineID>PO-2024-0150-001</cbc:LineID>
        </cac:OrderLineReference>
    <cac:Item>
            <cbc:Description>Annual software license for enterprise management system including support and updates</cbc:Description>
            <cbc:Name>Software License - Annual Subscription</cbc:Name>
            <cac:OriginCountry>
                <cbc:IdentificationCode>DE</cbc:IdentificationCode>
            </cac:OriginCountry>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>19.0</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
    <cac:Price>
        <cbc:PriceAmount currencyID="EUR">5000</cbc:PriceAmount>
    </cac:Price>
    </cac:InvoiceLine>
</Invoice>