Peppol Attachments EU
Embed PDF, CSV, images and spreadsheets as Base64 binary attachments inside Peppol BIS Billing 3.0 UBL invoices
What it does
Peppol BIS Billing 3.0 lets a UBL invoice or credit note carry
supporting documents — a PDF rendering of the
invoice, a CSV timesheet, an XLSX or ODS usage report, a PNG or
JPEG proof of delivery — embedded directly in the XML as a
Base64-encoded binary object. This toolkit stages those files on
the invoice and writes them into the UBL as standards-correct
cac:AdditionalDocumentReference elements, each
carrying a
cbc:EmbeddedDocumentBinaryObject with the mandatory
mimeCode and filename attributes.
It is a pure format-generation tool: it produces the UBL fragment and splices it into your document at the correct position. It does not transmit anything — your existing Access Point sends the enriched UBL unchanged.
Key features
Standards-correct embedding
Builds cac:AdditionalDocumentReference / cac:Attachment /
cbc:EmbeddedDocumentBinaryObject exactly as the
OpenPEPPOL specification requires, with the mandatory
mimeCode and filename attributes and
the optional cbc:DocumentDescription.
Allowed mime subset enforced
Only the six Peppol-permitted attachment types are accepted: PDF, PNG, JPEG, CSV, XLSX and ODS. Files of any other type are rejected before they can break validation downstream.
Automatic mime detection
The mime code is resolved from the file content (magic-byte sniffing distinguishes ODS from XLSX inside the ZIP container) and the filename extension, so you rarely set it by hand.
Schema-safe splicing
References are inserted at the correct UBL 2.1 ordinal position — after the document header and any existing references — into your already-generated UBL, or into a minimal BIS 3.0 carrier when no host document exists yet.
External-URI references
Reference a document hosted elsewhere by URI instead of embedding it. Per Peppol, an attachment carries either an embedded binary object or an external URI, never both — the toolkit enforces this.
One-click invoice PDF
Attach the rendered invoice PDF as a supporting document with a single button, or have it embedded automatically on every generation via a company setting.
Allowed attachment types
| Document | Mime code | Typical use |
|---|---|---|
| application/pdf | Invoice rendering, contract | |
| PNG | image/png | Proof of delivery, signature |
| JPEG | image/jpeg | Photo, scanned document |
| CSV | text/csv | Timesheet, usage report |
| XLSX | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Spreadsheet report |
| ODS | application/vnd.oasis.opendocument.spreadsheet | OpenDocument spreadsheet |
These six mime codes are the OpenPEPPOL subset of the IANA list permitted for invoice and credit-note attachments.
How it works
- Open a customer invoice or credit note and go to the Peppol Attachments tab.
- Add one or more supporting documents (drag a file, or use the Add Document wizard / Attach Invoice PDF button).
- Click Validate Attachments to check every file against the Peppol mime subset and size ceiling.
- Click Embed Peppol Attachments. The toolkit writes the enriched UBL to a downloadable field; your Access Point sends it.
Scope & boundary
This module performs format generation only. It produces the Peppol UBL attachment fragment and embeds it; it is not an Access Point and does not transmit documents on your behalf. The generated UBL is handed to whatever Peppol transport you already operate. No external service is contacted and no credentials are stored.
Screenshots
Supporting Documents
Update date: 2026-07-02