API Documentation

Send UBL to Peppol

Post to Endpoint : baseURL/V1/Peppol/SendXML

This API allows to include the UBL file and send it via Open/Peppol. You can also work with json tags without UBL.

Goals/behaviour of this API endpoint:

  • The sender is able to deliver a valid Peppol UBL file : the file complies with the Open/Peppol validation rules and the customer and supplier are correctly mentionned. During setup the sender will test that the UBL is valid for all invoicing scenario's.
  • The transport type is Open/Peppol (not other channels such as Email). Other email networks and sending via Email are not covered by this endpoint.
  • The MyBillit User Interface is not used for manual tracking the success of the delivery. So you will not be able to see the invoices sent or received. Status is obtained via API and can be inserted into the software of the sender.
  • Remark: You can also send this invoices using tags in the Json body without UBL. More info on the Swagger site : https://api.billit.be/swagger/ui/index#/Peppol.

POST https://api.sandbox.billit.be/v1/peppol/sendOrder

About the UBL file:

  • Preparation: make sure that your UBL files are valid.
  • The UBL file will be included in the Json body. Remark about the content: All structured ID's (schemeID, unit codes, currency ID's) get a backslash before and after the value. They are marked in color in the sample file below.

Example:

{
  "XML": "<?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>2025000002-31</cbc:ID>
    <cbc:IssueDate>2025-06-23</cbc:IssueDate>
    <cbc:DueDate>2025-08-24</cbc:DueDate>
    <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
    <cbc:Note>Testcase 2</cbc:Note>
    <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
    <cac:OrderReference>
        <cbc:ID>YR127130</cbc:ID>
    </cac:OrderReference>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID=\"0208\">0437295999</cbc:EndpointID> 
      <cac:PartyIdentification>
        <cbc:ID>0437295999</cbc:ID>
      </cac:PartyIdentification>
      <cac:PartyName>
        <cbc:Name>Vilbox</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Lintstraat 31</cbc:StreetName>
        <cbc:CityName>Merchtem</cbc:CityName>
        <cbc:PostalZone>1785</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>BE</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>BE0437295999</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Vilbox</cbc:RegistrationName>
        <cbc:CompanyID schemeID=\"0208\">0437295999</cbc:CompanyID>
        <cbc:CompanyLegalForm>RPR Gent</cbc:CompanyLegalForm>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Ivan Vanhaecht</cbc:Name>
        <cbc:Telephone>+32(0)2589321</cbc:Telephone>
        <cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingSupplierParty>
    <cac:AccountingCustomerParty>
       <cac:Party>
      <cbc:EndpointID schemeID=\"0208\">0759529999</cbc:EndpointID>
      <cac:PartyIdentification>
        <cbc:ID>0759529999</cbc:ID>
      </cac:PartyIdentification>
      <cac:PartyName>
        <cbc:Name>NPNWBrabant</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Oktrooiplein 1/bus 302</cbc:StreetName>
        <cbc:CityName>Gent</cbc:CityName>
        <cbc:PostalZone>9000</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>BE</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>BE0759529999</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>NPNWBrabant</cbc:RegistrationName>
        <cbc:CompanyID schemeID=\"0208\">0759529999</cbc:CompanyID>
        <cbc:CompanyLegalForm>RPR Gent</cbc:CompanyLegalForm>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Jan Plessers</cbc:Name>
         <cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
    </cac:AccountingCustomerParty>
    <cac:Delivery>
        <cbc:ActualDeliveryDate>2025-04-01</cbc:ActualDeliveryDate>
    </cac:Delivery>
    <cac:PaymentMeans>
        <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
        <cbc:PaymentID>2023000001</cbc:PaymentID>
        <cac:PayeeFinancialAccount>
            <cbc:ID>BE54000000099997</cbc:ID>
            <cac:FinancialInstitutionBranch>
                <cbc:ID>BPOTBEB1</cbc:ID>
            </cac:FinancialInstitutionBranch>
        </cac:PayeeFinancialAccount>
    </cac:PaymentMeans>
    <cac:PaymentTerms>
        <cbc:Note>30 days after invoice date</cbc:Note>
    </cac:PaymentTerms>
    <cac:TaxTotal>
        <cbc:TaxAmount currencyID=\"EUR\">516</cbc:TaxAmount>
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID=\"EUR\">2400</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID=\"EUR\">504</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>21</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
        <cac:TaxSubtotal>
            <cbc:TaxableAmount currencyID=\"EUR\">200</cbc:TaxableAmount>
            <cbc:TaxAmount currencyID=\"EUR\">12</cbc:TaxAmount>
            <cac:TaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>6</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:TaxCategory>
        </cac:TaxSubtotal>
    </cac:TaxTotal>
    <cac:LegalMonetaryTotal>
        <cbc:LineExtensionAmount currencyID=\"EUR\">2600</cbc:LineExtensionAmount>
        <cbc:TaxExclusiveAmount currencyID=\"EUR\">2600</cbc:TaxExclusiveAmount>
        <cbc:TaxInclusiveAmount currencyID=\"EUR\">3116</cbc:TaxInclusiveAmount>
        <cbc:PayableAmount currencyID=\"EUR\">3116</cbc:PayableAmount>
    </cac:LegalMonetaryTotal>
    <cac:InvoiceLine>
        <cbc:ID>1</cbc:ID>
        <cbc:InvoicedQuantity unitCode=\"C62\">40</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID=\"EUR\">2400</cbc:LineExtensionAmount>
        <cac:Item>
            <cbc:Name>Good Y</cbc:Name>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>21</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID=\"EUR\">60</cbc:PriceAmount>
        </cac:Price>
    </cac:InvoiceLine>
    <cac:InvoiceLine>
        <cbc:ID>2</cbc:ID>
        <cbc:InvoicedQuantity unitCode=\"C62\">10</cbc:InvoicedQuantity>
        <cbc:LineExtensionAmount currencyID=\"EUR\">200</cbc:LineExtensionAmount>
        <cac:Item>
            <cbc:Name>Good X</cbc:Name>
            <cac:ClassifiedTaxCategory>
                <cbc:ID>S</cbc:ID>
                <cbc:Percent>6</cbc:Percent>
                <cac:TaxScheme>
                    <cbc:ID>VAT</cbc:ID>
                </cac:TaxScheme>
            </cac:ClassifiedTaxCategory>
        </cac:Item>
        <cac:Price>
            <cbc:PriceAmount currencyID=\"EUR\">20</cbc:PriceAmount>
        </cac:Price>
    </cac:InvoiceLine>
</Invoice>"
}