Interoperability

From SIGNET to a tax authority, in one step

A SIGNET invoice carries the EN 16931 Business Terms natively, so it projects directly to Peppol BIS Billing 3.0 — the format Access Points and tax authorities expect.

Under EU ViDA, EN 16931-structured e-invoicing becomes mandatory for intra-EU cross-border B2B from July 2030, with national B2B mandates arriving sooner (Belgium live 2026, France 2026, Germany 2027–28). Because a SIGNET invoice is structured to EN 16931, conversion to Peppol BIS Billing 3.0 is a direct projection — not an integration project.

Edit the canonical invoice — the Peppol BIS projection and the verification re-run live.

A · SIGNET invoiceeditable
B · Peppol BIS Billing 3.0generated
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-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-2026-000512</cbc:ID>
  <cbc:IssueDate>2026-10-05</cbc:IssueDate>
  <cbc:DueDate>2026-11-04</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cac:OrderReference><cbc:ID>did:web:buyer.example#order-7781</cbc:ID></cac:OrderReference>
  <cac:ContractDocumentReference><cbc:ID>did:web:buyer.example#contract-3310</cbc:ID></cac:ContractDocumentReference>
  <cac:AccountingSupplierParty><cac:Party><cac:PartyLegalEntity>
    <cbc:CompanyID schemeID="0199">5299000ACME00NETWRK1</cbc:CompanyID>
  </cac:PartyLegalEntity></cac:Party></cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty><cac:Party><cac:PartyLegalEntity>
    <cbc:CompanyID schemeID="0199">5299000BUYER00000001</cbc:CompanyID>
  </cac:PartyLegalEntity></cac:Party></cac:AccountingCustomerParty>
  <cac:PaymentTerms><cbc:Note>Net 30 days from invoice date.</cbc:Note></cac:PaymentTerms>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">1302.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">6200.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">1302.00</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:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">6200.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">6200.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">7502.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">7502.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="MON">100</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">5000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Core router managed service — monthly</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:CommodityClassification>
        <cbc:ItemClassificationCode listID="CPV">72720000</cbc:ItemClassificationCode>
      </cac:CommodityClassification>
    </cac:Item>
    <cac:Price><cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
  <cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>
    <cbc:InvoicedQuantity unitCode="DAY">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">1200.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Field engineering — day rate</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">120.00</cbc:PriceAmount></cac:Price>
  </cac:InvoiceLine>
</Invoice>
C · Verificationall passing
  • BT-1 · Invoice numberINV-2026-000512
  • BT-2 · Issue date2026-10-05
  • BT-5 · CurrencyEUR
  • BT-3 · Invoice type380
  • BT-106 · Line extension total6200.00
  • BT-109 · Tax exclusive total6200.00
  • BT-110 · Tax total1302.00
  • BT-112 · Tax inclusive total7502.00
  • BT-115 · Payable amount7502.00
  • BG-25 · Line count2
  • Σ line nets == BT-1066200.00
  • BT-109 + BT-110 == BT-1127502.00

Generated by tools/signet-to-ubl.js; verified by tools/verify-ubl.py. Both run in CI on every commit to concerthq/signet-standard. This is a faithful reference projection, not a substitute for official Peppol XSD + Schematron validation.

Concert

The first GUILD. The first SIGNET.

Concert is building the open infrastructure layer for a new era of governed, intelligent, multi-party commerce. Join the founding consortium.

Get in touch