Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Peppol Access Point: Self-hosted AS4 Gateway v 19.0
  4. Sales Conditions FAQ

Peppol Access Point: Self-hosted AS4 Gateway

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 4
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Purchase (purchase)
• Discuss (mail)
Community Apps Dependencies Show
• Peppol eInvoicing
• Accounting Suite Base
• EH EDI Core
Lines of code 6982
Technical Name eh_account_einvoice_peppol_as4
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
ERP Heritage Accounting Suite

Peppol AS4 Self-Hosted Gateway

Send and receive e-invoices over Peppol via your own AS4 gateway, with no transaction fees or IAP charges.

Free · LGPL-3Self-hosted AS4HTTP SMP lookupv19.0.1.0.0
Peppol network adapter
HTTP SMP discovery
Self-hosted AS4 gateway
Bearer token auth
Base64 document submission

Why this module

Peppol AS4 Self-Hosted Gateway

On-Premise

Full infrastructure control

Run your AS4 gateway (Phase4, Holodeck, Oxalis) alongside Odoo on your own servers. No cloud SaaS, no reliance on third-party message brokers, direct audit trail.

Zero per-msg fees

No IAP or transaction charges

Unlike cloud Peppol providers, you pay only for your own gateway infrastructure and Odoo instance. Send unlimited invoices without per-document surcharge.

Standards-based

Uses Python stdlib only

HTTP POST/GET with JSON, base64 encoding, urllib. No heavy cryptography reimplemented in Python. Gateway does AS4/ebMS3/XAdES. Easier to audit and integrate.

Day in the life

E-invoicing via your own AS4 gateway

Finance team approves an invoice for Peppol transmission in Odoo. The adapter looks up the recipient's SMP metadata (if configured), hands the UBL document to your AS4 gateway over HTTP, records the gateway's message ID, and moves on. Hours later, the inbound poll queries your gateway for invoices (the parent framework runs this every hour by default)., decodes base64 payloads, and posts received invoices to the journal. Your audit log shows SMP queries, gateway responses, and inbound sender metadata.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

SMP offline

If SMP base is configured but unreachable, submission continues with a logged warning; the invoice still goes to your gateway. SMP lookup is optional.

Gateway down

HTTP POST to the gateway will raise an error, halting submission. Retry the action once the gateway is back online. Polling gracefully handles partial responses.

Base64 decode fail

Inbound messages with undecodable base64 payloads are skipped with empty xml_bytes; poll continues through the list. Malformed responses do not crash the cron.

Bearer auth

If gateway_token is set, Authorization header is added automatically. If empty or missing, no auth header is sent. Gateway can require token or allow public access.

Flexible response schemas

Submit response can use 'messageId' or 'id' field; poll response can be a bare list or a dict with 'messages' key. Adapter maps either to standard fields.

ISO timestamp filtering

Poll requests send an optional 'since' parameter to filter inbound by receive date. If empty, gateway returns all messages. Adapter stores received_at per message.

What is inside

Built to do the job, end to end.

  • adapters/as4_gateway.py. As4GatewayAccessPoint class implements the registration interface: __init__ parses credentials (gateway_url, gateway_token, smp_base, submit_path, poll_path), _smp_lookup() performs HTTP SMP queries with optional base URL, submit() base64-encodes the UBL, POSTs to the gateway, records SMP trace and gateway response, poll() GETs inbound messages with since filter, decodes base64 payloads, maps fields.
  • adapters/as4_gateway.py (registration). register_adapter('as4', lambda config: As4GatewayAccessPoint(config)) at module load. Registers this adapter under the 'as4' key in the Peppol access-point registry.
  • tests/test_as4_gateway.py. Unit tests verify adapter registration, config validation (missing gateway_url raises), SMP lookup before submit, optional SMP skip, inbound poll message mapping, base64 decode of payloads. HTTP monkeypatched; no network calls.
  • peppol_http (inherited tool). Uses eh_account_einvoice_peppol.tools.peppol_http.request() for all HTTP calls. Wrapper handles JSON, timeouts, error mapping to AccessPointError.

Honest about the edges

What this does not do, so nothing surprises you.

  • Does not implement AS4 or ebMS3 message exchange; your self-hosted gateway handles that cryptography and Peppol network handshakes.
  • No built-in AS4 gateway provided; you must obtain and run (or license) Phase4, Holodeck B2B, Oxalis, or similar compatible gateway separately.
  • SMP participant discovery is HTTP-only (no LDAP); requires an accessible HTTP SMP endpoint URL if you want automated lookup before submission.
  • No automatic gateway health check or fallback; if the gateway is offline or misconfigured, submission will fail. Relies on your monitoring and ops discipline.
  • Configuration is per-company JSON via the Peppol base module settings; no per-user or per-department gateway override.
  • Poll cron uses gateway-supplied timestamps; does not validate actual message receipt time or freshness of inbound signing certificates.
Search

Peppol, AS4, e-invoice, self-hosted, gateway, Odoo, ebMS3, SMP, UBL, on-premise, access point, Phase4, Holodeck, Oxalis, LGPL

More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 9
Employment Hero Canada

The Canada country pack for the ERP Heritage Employment Hero integration

USD 39
Employment Hero Documents

Sync Employment Hero documents into the Odoo Documents app

USD 59
Employment Hero Payroll Bridge

Imports finalised pay run journals from the Employment Hero payroll platform (KeyPay) into Odoo Community account...

USD 199
Ireland - Payroll

Irish payroll for Odoo

USD 199
Kitchen Display Pro

Paid upgrade for the ERP Heritage Kitchen Display

USD 19
Employment Hero Attendance

Sync attendance clock events from the Employment Hero people platform into the stock Odoo Attendances app, keyed...

ERP Heritage

v19.0.1.0.0 · LGPL-3 · Odoo 19 Community

Developed by Odoo Implementation Australia • LinkedIn

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with