Skip to main content
Smart Multi-Gateway Payment Router for Odoo — A build-to-order Odoo module that routes every payment to the cheapest or highe — 1/1Illustrative preview

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.

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

`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
Automatic failover: on decline or provider timeout the transaction cascades to the next eligible gateway and logs each attempt on `payment.transaction`
Per-gateway `payment.gateway.stats` with `compute`/`@api.depends` success-rate, decline-reason breakdown, volume, and average-cost aggregation
OWL analytics dashboard visualizing auth rate, routed volume, and cost savings per provider over a selectable period
A/B method ordering at checkout so the highest-performing or lowest-cost method surfaces first in the `website_sale` payment step
Orchestrates your existing `payment.provider` records — no re-implementation of acquirer connectors, no PAN/card data touched by the module
Security via `ir.model.access.csv` plus record rules restricting routing-rule edits to Payments/Finance groups; full audit trail of rule changes
Automated-action / `ir.cron` hooks to recompute stats windows and disable a provider automatically when its live success rate drops below a threshold
QWeb PDF report summarizing per-gateway success rate and cost for finance/treasury review
XML-RPC / JSON-RPC exposure of routing rules and gateway stats for external ops, BI, or treasury integration
Built and tested against Odoo 17.0, 18.0, and 19.0, in your Community or Enterprise edition

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Transaction routingRule-based on country, currency, amount, and BIN with least-cost and best-auth modesWhatever you build; needs deep payment-framework knowledgeUsually static per-provider enable/disable or basic country filterNo routing — active providers simply listed at checkout
Failover on decline/outageAutomatic cascade to next eligible gateway with logged attempts and retry capsPossible but must be designed and tested from scratchRarely offered; often manual re-attempt onlyNone — a failed provider means a lost order
Per-gateway analyticsOWL dashboard plus QWeb report for success rate, decline reasons, volume, and costBuild your own reports and compute fieldsBasic or absent; limited to that provider's own numbersNo cross-provider success-rate or cost comparison
Fit to your corridorsBuilt to your exact providers and priorities during scopingFully bespoke but you own all specification and riskGeneric; you adapt your process to its assumptionsGeneric framework, no routing intelligence
Security model`ir.model.access.csv` + record rules restricting rule edits to Finance roles, with audit trailDepends on your implementation disciplineVaries; often coarse access controlStandard payment access rights, no routing layer to secure
Odoo version supportBuilt and tested for 17.0, 18.0, 19.0, Community or EnterpriseWhatever you target and maintainOften one or two versions; upgrade timing not guaranteedShips with the core, no routing capability at any version
External integrationRules and stats exposed over XML-RPC / JSON-RPC for BI and treasuryYou expose whatever endpoints you buildLimited or no documented API for routing dataPayment records readable via RPC, but no routing data exists
Ownership & supportGit repo handover, UAT + rollback, training, and a post-go-live support windowYou own it and carry all maintenanceVendor-locked; support quality and roadmap varyCommunity 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.

Request a quote

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

Request a Quotation

Tell us about your Smart Multi-Gateway Payment Router requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.