- Home
- Apps
- SaaS Tools
- Smart Multi-Gateway Payment Router for Odoo
Illustrative previewA build-to-order Odoo module that routes every payment to the cheapest or highest-performing gateway based on
your rules, and automatically fails over when a provider declines or goes down.
ECOSIRE builds, installs, and supports it for Odoo 17, 18, and 19.
What is Smart Multi-Gateway Payment Router for Odoo?
A build-to-order Odoo module that routes every payment to the cheapest or highest-performing gateway based on your rules, and automatically fails over when a provider declines or goes down. ECOSIRE builds, installs, and supports it for Odoo 17, 18, and 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
If you sell across multiple regions, you almost certainly run more than one payment provider — a local acquirer for the GCC, Stripe or Adyen for cards abroad, maybe a wallet for a specific market. Odoo native handles this only at the crudest level: each payment.provider is either enabled or disabled, and the checkout simply lists whatever is active. There is no concept of "send USD cards over 500 to gateway A, everything from Egypt to gateway B, and if that provider times out, retry on C." Merchants end up either hard-limiting which methods show, or eating avoidable decline losses and paying higher-than-necessary MDR fees because every transaction goes down the same pipe regardless of cost or auth-rate performance.
ECOSIRE builds a routing layer that sits in front of Odoo's existing payment.provider records — it does not replace your acquirers, it orchestrates them. We add a payment.routing.rule model (models.Model) with ordered, condition-based rules keyed on billing country, currency, order/transaction amount bands, and card BIN ranges, plus a payment.gateway.stats model that rolls up authorization success rate and average cost per provider using compute fields with @api.depends on the underlying payment.transaction records. At checkout, a routing engine evaluates the rules in sequence (least-cost routing when you want to minimize fees, best-auth-rate ordering when you want to maximize conversion) and selects the target provider; the OWL/QWeb checkout is extended so the A/B-ordered method list reflects the decision. When a provider returns a decline or is unreachable, an ir.actions.server / automated-action-driven failover cascades the transaction to the next eligible gateway and records the attempt, so a single acquirer outage stops costing you completed orders.
Technically the build is a clean, upgrade-safe addon: its own __manifest__.py declaring dependencies on payment (and website_sale where you route storefront checkouts), models and fields following Odoo ORM conventions, access rules in ir.model.access.csv plus record rules so only Payments/Finance roles can edit routing logic, backend views and an OWL analytics dashboard, and a QWeb report for a per-gateway success-rate and cost summary. Everything is reachable over the standard XML-RPC / JSON-RPC API so your ops tooling or a treasury system can read stats and toggle rules programmatically. It respects the Community vs Enterprise split — we build against the payment framework available in your edition and flag anything (such as specific Enterprise-only provider connectors) that needs your license — and we target Odoo 17.0, 18.0, and 19.0 explicitly rather than assuming one version.
Because this is build-to-order, you are not downloading a generic app and hoping it fits. We start with a short scoping call, confirm exactly which providers, corridors, and cost/auth priorities you run, then build the module to that spec. Typical delivery is one working week from confirmed scope. You get the installable source for your Odoo version, installation and configuration on your environment, UAT on a staging database with a rollback plan, a training session, and a post-go-live support window — plus the git repository so the code is yours to keep and extend.
What you get
- Installable module source code built for your exact Odoo version (17.0, 18.0, or 19.0) and edition
- Installation and configuration on your environment, including mapping to your live `payment.provider` records
- Technical documentation: data model, routing-engine logic, security groups, and XML-RPC/JSON-RPC endpoints
- End-user guide plus a live training session for your payments/finance team
- UAT on a staging database with a documented test plan and a rollback plan before production cutover
- Post-go-live support window for bug fixes and configuration adjustments
- Handover of the git repository so the code is yours to keep, audit, and extend
Who this is for
Multi-region merchant with several live gateways
Runs a local acquirer plus one or more international providers and wants each transaction routed to the best-fit gateway by country, currency, and amount instead of a single static provider list.
Payments / finance lead chasing higher auth rates
Loses completed orders to avoidable soft declines and provider outages, and needs rule-based failover plus per-gateway success-rate visibility to prove and improve authorization performance.
Finance controller optimizing processing cost
Pays inconsistent MDR across providers and corridors and wants least-cost routing to push each transaction down the cheapest eligible rail, with a QWeb cost report to justify the savings.
Odoo integrator or in-house Odoo team
Needs a clean, upgrade-safe addon that extends the standard `payment` framework, respects `ir.model.access.csv` and record rules, and exposes routing data over JSON-RPC to existing ops tooling.
How Smart Multi-Gateway Payment Router for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Transaction routing | Rule-based on country, currency, amount, and BIN with least-cost and best-auth modes | Whatever you build; needs deep payment-framework knowledge | Usually static per-provider enable/disable or basic country filter | No routing — active providers simply listed at checkout |
| Failover on decline/outage | Automatic cascade to next eligible gateway with logged attempts and retry caps | Possible but must be designed and tested from scratch | Rarely offered; often manual re-attempt only | None — a failed provider means a lost order |
| Per-gateway analytics | OWL dashboard plus QWeb report for success rate, decline reasons, volume, and cost | Build your own reports and compute fields | Basic or absent; limited to that provider's own numbers | No cross-provider success-rate or cost comparison |
| Fit to your corridors | Built to your exact providers and priorities during scoping | Fully bespoke but you own all specification and risk | Generic; you adapt your process to its assumptions | Generic framework, no routing intelligence |
| Security model | `ir.model.access.csv` + record rules restricting rule edits to Finance roles, with audit trail | Depends on your implementation discipline | Varies; often coarse access control | Standard payment access rights, no routing layer to secure |
| Odoo version support | Built and tested for 17.0, 18.0, 19.0, Community or Enterprise | Whatever you target and maintain | Often one or two versions; upgrade timing not guaranteed | Ships with the core, no routing capability at any version |
| External integration | Rules and stats exposed over XML-RPC / JSON-RPC for BI and treasury | You expose whatever endpoints you build | Limited or no documented API for routing data | Payment records readable via RPC, but no routing data exists |
| Ownership & support | Git repo handover, UAT + rollback, training, and a post-go-live support window | You own it and carry all maintenance | Vendor-locked; support quality and roadmap vary | Community support only; no tailored assistance |
Frequently Asked Questions about Smart Multi-Gateway Payment Router
How long does delivery take?
This is a build-to-order module, not an instant download. After a short scoping call to confirm your providers, corridors, and cost/auth priorities, typical delivery is one working week from confirmed scope. Larger rule sets or additional provider connectors can extend that, and we give you a firm estimate before work starts.
Which Odoo versions and editions do you support?
We build and test against Odoo 17.0, 18.0, and 19.0, in either Community or Enterprise. Because it extends the standard `payment` framework, we confirm at scoping which provider connectors your edition includes and flag anything Enterprise-only that depends on your license.
Do you replace my existing payment providers?
No. The module orchestrates your existing `payment.provider` records — it decides which of your already-configured acquirers a given transaction should use and handles failover between them. Your connectors, credentials, and settlement relationships stay exactly as they are.
Does the module store card or PAN data?
No. Routing decisions use non-sensitive attributes such as country, currency, amount, and BIN range (the leading digits, not the full card number). Actual card capture and processing stay inside your PCI-compliant gateway connectors, exactly as in native Odoo.
How does failover actually work?
When the selected gateway returns a decline or is unreachable, the routing engine cascades the `payment.transaction` to the next eligible provider per your rules and records each attempt. You control the cascade order and can cap retries so a single acquirer outage stops silently costing you orders.
What about support and updates after go-live?
Every build includes a post-go-live support window for bug fixes and configuration tweaks. We hand over the git repository so your team owns the code, and we offer ongoing support or version-upgrade engagements (for example moving the module to a newer Odoo release) as a separate arrangement.
Can external systems read the routing data?
Yes. Routing rules and per-gateway stats are exposed over Odoo's standard XML-RPC / JSON-RPC API, so your BI, treasury, or ops tooling can read success-rate and cost metrics and toggle rules programmatically, subject to the same access rights and record rules that protect the backend.
Related Modules

Simplify POS Access Management
A build-to-order Odoo module that governs exactly what each POS user can see and do — discounts, refunds, price overrides, cash management and session controls — enforced at the register, not just on paper. ECOSIRE scopes, builds, installs and supports it on your Odoo 17/18/19.

Social Facebook
A build-to-order Odoo module that connects your Facebook Pages to Odoo for scheduled publishing, comment and message handling, and native page analytics. ECOSIRE scopes, builds, installs, and supports it — this is a made-to-order engagement, not an off-the-shelf download.

Social Instagram
A build-to-order Odoo integration that connects the Instagram Graph API directly into your database — publish and schedule posts, pull engagement insights, and manage comments without leaving Odoo. ECOSIRE builds, installs, and supports it after a scoping call.
Smart Multi-Gateway Payment Router
A build-to-order Odoo module that routes every payment to the cheapest or highest-performing gateway based on your rules, and automatically fails over when a provider declines or goes down. ECOSIRE builds, installs, and supports it for Odoo 17, 18, and 19.
- `payment.routing.rule` model with ordered, first-match rule evaluation and an active/priority sequence you manage from the backend
- Rule conditions on billing country, transaction currency, amount bands, and card BIN / IIN ranges
- Least-cost routing mode that selects the provider with the lowest effective MDR for the qualifying transaction
- Best-auth-rate routing mode that orders providers by observed authorization success rate
