| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1021 |
| Technical Name |
peppol_attachment_toolkit |
| 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 | 1021 |
| Technical Name |
peppol_attachment_toolkit |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
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
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