| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 1278 |
| Technical Name |
peppol_smp_directory_sync |
| 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 | 1278 |
| Technical Name |
peppol_smp_directory_sync |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Peppol SMP Directory Lookup
Check whether a Peppol participant is reachable and which document types it accepts — SML/SMP lookups resolved and cached in Odoo, so you validate buyer reachability before sending an invoice.
What it does
Given a Peppol participant identifier (e.g.
iso6523-actorid-upis::0192:991825827), the module
resolves the SML DNS name, queries the participant's SMP
ServiceGroup, and records whether the participant is registered
and which document types it advertises. Each lookup is cached as a
durable record with a TTL, so reachability checks are fast and a
scheduled job re-fetches stale entries. The result gates whether
you can safely send a Peppol invoice or credit note to that buyer.
SML/SMP reachability lookup
_run_lookup derives the SML DNS name from the
identifier, resolves the SMP host (production or test/acceptance
zone, with an optional host override), and queries the
ServiceGroup. It stores the DNS name, SMP URL, HTTP status,
registration flag and any error, and parses the participant
identifier into its scheme, ICD (ISO 6523 issuing
agency) and value parts.
Document-type capabilities
Every advertised document type becomes a
peppol.smp.capability child row with a friendly
label. Stored flags — Receives Invoices and
Receives Credit Notes — are derived from the
BIS Billing 3.0 document-type identifiers, so search filters can
target reachable participants without an unsearchable-field error.
Feature highlights
- TTL cache with staleness — each entry
carries a "stale" flag computed against the company's
configured cache TTL, and a daily cron
(
cron_refresh_stale) re-fetches stale rows in batches. - Partner reachability — a Peppol participant ID field on the contact, with a Check Reachability action and computed "Peppol Reachable" / status reflecting the cached lookup.
- Identifier normalisation — identifiers are validated and canonicalised on create/write, and a bare value is assumed to use the iso6523-actorid-upis scheme.
- Production & test zones — resolve against the production SML or the acceptance (SMK) zone, or point at a local SMP mirror via host override.
- Sender gate API —
check_reachablereturns whether a participant is registered and advertises a given document type (defaulting to BIS Billing 3.0 Invoice), refreshing the cache as needed. - Lookup wizard — run an ad-hoc reachability check for any identifier and open its cached capabilities.
How it works
- Set the network (production or test), cache TTL and HTTP timeout in the company settings.
- Enter a partner's Peppol participant ID and click Check Reachability, or run the lookup wizard for any identifier.
- Read the registration status and advertised document types; use the reachability flags to gate sending and let the cron keep the cache fresh.
Scope & disclosure (BYOK)
This module performs read-only SML/SMP directory lookups to confirm a participant's reachability and advertised document types; it does not send Peppol documents, register your own participant, or act as an access point. It complements your e-invoicing workflow by validating the buyer before you send.
Bring your own keys / access (BYOK): we deliver
the software only. The directory lookups run from your own Odoo
instance against the public Peppol SML/SMP network using your own
network access; we are not a Peppol access point,
SMP, or integrator and we never act on your behalf on the network.
Support is included, and your purchase is refundable. The module
tracks the 2026 OpenPeppol SML insourcing (new
*.tech.peppol.org zones) and keeps the legacy EC
zones selectable during the transition. More at
gencbaris.com/odoo_plugins.
Screenshots
Document Types
Check Reachability
Smp Lookups
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