Peppol integration

Peppol explained

Peppol (Pan-European Public Procurement Online) is an international network for secure, standardized and automated exchange of e‑invoices and e‑credit notes. It removes bilateral complexity and ensures seamless delivery, regardless of country or software provider.

How Peppol works

  1. Sender - ERP/finance system creates an invoice or credit note in UBL format.
  2. Sender’s Access Point - Validates per Peppol BIS and adds routing metadata.
  3. Receiver’s Access Point - Receives, checks compliance, and forwards securely.
  4. Receiver - ERP/accounting imports automatically, ready for processing.
Peppol architecture

Benefits

  • Interoperability - one connection to all Peppol participants
  • Standardization - UBL + Peppol BIS
  • Security - certified access points, encrypted transport
  • Efficiency - less manual work, faster processing
  • Global reach - widely adopted in Europe and beyond

Peppol in Business Central

Inside Microsoft Dynamics 365 Business Central we extend Peppol with a lightweight add‑in for a fast, native, all‑in‑one view.

What the add‑in provides

  • Invoice display (PDF) - Renders the embedded invoice inline.
  • Attachments - Lists extra PDFs/files with one‑click open.
  • E‑invoice / E‑credit note (XML) - Shown with syntax highlighting for inspection.
  • Visual presentation - Styled view for comparison with the PDF.

Key features

  • Fast & responsive - opens instantly within BC
  • Customizable layouts, highlighting, and comparison views
  • Native look & feel matching BC pages & FactBoxes
  • All‑in‑one - switch between PDF, XML, and styled view without downloads

Example XML (UBL snippet)

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
                  <cbc:ID>INV-2025-0157</cbc:ID>
                  <cbc:IssueDate>2025-09-09</cbc:IssueDate>
                  <cac:AccountingSupplierParty>
                    <cbc:CustomerAssignedAccountID>12345</cbc:CustomerAssignedAccountID>
                  </cac:AccountingSupplierParty>
                  <!-- …rest omitted… -->
                </Invoice>