| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1584 |
| Technical Name |
peppol_invoice_pdf_embed |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1584 |
| Technical Name |
peppol_invoice_pdf_embed |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Peppol Hybrid PDF — Embed UBL in Your Invoice PDF
Embed the Peppol BIS Billing 3.0 / EN 16931 UBL XML inside the standard Odoo invoice PDF for hybrid, human-and-machine readable delivery.
One PDF, two readers
A hybrid invoice is a single PDF that a person can open and read, and a machine can parse. This module attaches a structured Peppol BIS Billing 3.0 UBL document inside the standard Odoo invoice PDF — the same Associated-Files / PDF/A-3 embedding mechanism that Factur-X and ZUGFeRD use, applied to UBL. Your customer receives one file; their accounting system extracts the structured data, while everyone else simply reads the page.
EN 16931 UBL builder
A genuine OASIS UBL 2.1 serialiser producing a Peppol BIS Billing
3.0 Invoice or CreditNote: document header
(ibt-001..024), supplier/customer parties with their Peppol electronic
address endpoints and EAS scheme, payment means, VAT breakdown
(TaxTotal / TaxSubtotal) and legal monetary totals.
PDF/A-3 embedding
The UBL is embedded as a named attachment wired into the document
catalog’s /AF (Associated Files) array and the
/Names /EmbeddedFiles name tree, with the correct
/AFRelationship and an XMP metadata packet declaring the
embedded file. Existing attachments are preserved.
Round-trip verified
After embedding, the module re-extracts the UBL from the produced PDF and compares it byte-for-byte. Every embed is recorded in an audit log with sizes, document type and a verified flag, so you can prove the machine-readable payload is really inside the file you sent.
Pre-embed validation
Before serialising, a business-rule check runs the EN 16931 / Peppol rules that would otherwise make the attachment worthless to a receiving access point: invoice number, dates, ISO currency, party country, VAT category codes, standard-rate vs zero-rate consistency and the BR-CO total derivation chain.
Features
| Capability | What it does |
|---|---|
| Generate UBL only | Produce and attach the Peppol BIS Billing 3.0 UBL XML to the invoice without touching the PDF. |
| Embed UBL in PDF | Render the standard invoice PDF and embed the UBL into it, storing a downloadable hybrid PDF on the invoice. |
| Download hybrid PDF | One click to download the hybrid PDF (generates it on demand if not yet produced). |
| Batch wizard | Validate or embed many selected customer invoices at once, with a per-invoice result log and skip-invalid option. |
| Scheduled embedding | An optional, disabled-by-default cron that drains posted invoices flagged for hybrid delivery. |
| Credit notes | Full support for customer credit notes (UNTDID 1001 type 381) with a reference to the original invoice. |
| Peppol endpoints | Per-partner electronic address ID + EAS scheme, with a sensible country-based default when not set. |
| Audit log | A searchable log model recording every embed, its result and round-trip verification. |
Standards & scope
- Peppol BIS Billing 3.0 — CustomizationID
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0, ProfileIDurn:fdc:peppol.eu:2017:poacc:billing:01:1.0. - EN 16931 semantic model in OASIS UBL 2.1 syntax.
- Code lists: UNTDID 1001 document types, UNCL5305 VAT category codes, UNTDID 4461 payment means, UN/ECE Rec 20 units, Peppol EAS (ICD) schemes.
- PDF/A-3 Associated Files embedding (ISO 32000-2 relationship
/Data).
This is a pure format-and-embed utility. It produces the structured payload and bakes it into your PDF; it does not connect to any Peppol access point and does not require any vendor accreditation. You keep full control of how the hybrid PDF is delivered.
How it works
- Enable Embed Peppol UBL in PDF on your company and set the default EAS scheme.
- Set the Peppol endpoint ID / scheme on your customers (optional; falls back to the VAT number and a country default).
- On a posted customer invoice, click Validate Peppol UBL, then Embed UBL in PDF.
- Download the hybrid PDF and deliver it — the structured UBL travels inside the file.
Screenshots
Embed Logs
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module