| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 2125 |
| Technical Name |
eh_l10n_sa_address |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Invoicing (account) |
| Lines of code | 2125 |
| Technical Name |
eh_l10n_sa_address |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
| Versions | 17.0 18.0 19.0 |
Saudi National Address
Resolve and verify Saudi partner addresses from the SPL National Address service, and pull company data from the Wathq commercial registry, with every call audited.
Why this module
Saudi National Address
Short address to full address
Enter the SPL short address (the RIYD1234 form) and resolve it to a full, structured national address, or verify one, against the official SPL service, so partner addresses are real and consistent.
Company data from Wathq
Fetch a national address by commercial registration number from the Wathq registry, so a business partner's official details come from the source rather than manual entry.
Rate limited and audited
Both clients meter calls against a configurable budget, raise typed errors that surface as clear dialogs, and write every request to an append only audit log, so an integration is observable and does not hammer the API.
Day in the life
Cleaning a partner address from the source
A user opens a Saudi business partner and enters its short address. One action calls SPL, which returns the full structured address, region, city and district, and fills the contact. For a company partner, a Wathq lookup by commercial registration number pulls the registered national address. Each call is metered by the rate limiter and recorded in the audit log with its endpoint and outcome, so an administrator can see exactly what was fetched and when. A bad credential surfaces as a clear dialog, not a stack trace.
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.
SPL and Wathq failures raise typed errors (auth, bad request, not found, server) that map to specific user dialogs by exact class name, so a 404 reads as not found and a 401 as an auth problem rather than a generic failure.
A configurable rate limiter meters calls so a burst of lookups cannot exceed the service budget and trip throttling.
Every SPL and Wathq call is written to an append only audit model with its endpoint and result, so the integration's external traffic is fully reviewable.
Regions, cities and districts can be refreshed from SPL into local reference models, so address components are validated against current official data, not a stale hard coded list.
The API clients are plain Python classes, so their behaviour is unit tested without the ORM, which keeps the integration logic verifiable.
What is inside
Built to do the job, end to end.
- SPL National Address client. Resolves and verifies short addresses (RIYD1234 form) and lists regions, cities and districts, with language support.
- Wathq registry client. Fetches a national address by commercial registration number from the Wathq commercial registry.
- Audit log. eh.sa.address.audit records every external call with endpoint and outcome, append only.
- Reference models and settings. District and city reference data with a refresh action, and a settings page with a one click ping to test each service connection.
Honest about the edges
What this does not do, so nothing surprises you.
- Requires SPL and Wathq API credentials. Without valid credentials the lookups cannot run; the module is the Odoo side of those official services, not a replacement for them.
- Address coverage and accuracy are whatever the SPL and Wathq services return; the module does not invent or correct data beyond what they provide.
- It enriches and verifies partner addresses; it does not file or register anything with a government portal.
Saudi National Address Odoo, SPL short address, Wathq registry Odoo, commercial registration Odoo, KSA address verification, national short address Saudi, Saudi partner address, Odoo 19 Saudi address, SPL Wathq integration, RIYD short address
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