Automatically add a per-payment-method surcharge or convenience fee to Odoo orders and online checkout, with tax-aware fee lines, country/threshold caps, and refund-safe handling. ECOSIRE scopes, builds, installs and supports it for your Odoo 17/18/19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $149.00 USD; request a quote for a scoped proposal.

Automatically add a per-payment-method surcharge or convenience fee to Odoo orders and online checkout, with tax-aware fee lines, country/threshold caps, and refund-safe handling. ECOSIRE scopes, builds, installs and supports it for your Odoo 17/18/19.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Card processing and gateway fees quietly erode margin on every transaction, and many merchants want to pass those costs to customers where it is legally permitted. Out of the box, Odoo has no concept of a payment-method surcharge: the payment.provider and payment.transaction models charge the cart total as-is, and while you can bolt a manual fee line onto a sale order or invoice, there is no automation that reads which provider the customer selected, computes a fee against the right tax treatment, respects local caps, and shows it transparently before the customer commits to pay. Doing this by hand is error-prone and impossible to enforce consistently across the website shop, backend sales, and POS.
Per-`payment.provider` surcharge rules: fixed amount, percentage of order total, or a fixed-plus-percentage blend, configured in the backend
Dedicated `payment.surcharge.rule` model with `@api.depends` compute that recalculates the fee whenever the cart total or selected provider changes
Surcharge written as its own labeled order/invoice line via a configurable service product so it flows into `amount_tax` and `amount_total` correctly
Three tax modes per rule: taxable (VAT/GST applied), tax-inclusive, or tax-exempt — chosen so surcharge tax is handled honestly, not buried
Country and currency scoping through `res.country` / `res.currency`, so surcharges apply only where they are legal for you
Minimum-order thresholds and hard caps (max fixed amount or max percentage) to respect legal ceilings and avoid over-charging
This module adds a first-class surcharge engine to Odoo. We introduce a configuration model (extending res.config.settings plus a dedicated payment.surcharge.rule model) where you define, per payment.provider, a fixed amount, a percentage, or a blended rule. A @api.depends-driven compute recalculates the fee whenever the order total or selected provider changes, then writes a dedicated surcharge line onto the sale.order / account.move using a configurable service product so the amount flows correctly into amount_tax and amount_total. The fee line carries the tax position you choose (taxable, tax-inclusive, or tax-exempt), so VAT/GST is handled honestly rather than being buried. Rules support country and currency scoping via res.country, minimum-order thresholds, and hard caps so the surcharge never exceeds a legal ceiling or a fixed maximum.
Transparency and compliance are built in. On the website checkout (QWeb/OWL templates on the payment step) the fee is disclosed with its own labeled line and a short explanation before the customer confirms — never a hidden charge added after the fact. Access is governed by ir.model.access.csv and record rules so only authorized roles edit surcharge rules, and every rule change is chatter-logged. Refunds are handled safely: when an order is refunded or partially refunded via account.move reversal, the surcharge line is reversed proportionally rather than being silently retained, and credit notes reflect the correct net. The same rule engine is exposed to the XML-RPC/JSON-RPC API so external channels and marketplace integrations compute identical fees, and an optional automated action can flag orders where a manual discount would push the effective surcharge above your configured cap.
Because this is build-to-order, ECOSIRE tailors the rules, tax handling, and checkout wording to your jurisdiction and gateways rather than shipping a generic download. After a short scoping call we confirm the exact provider matrix, legal caps, and tax treatment, then build and test the module against your Odoo 17.0, 18.0, or 19.0 (Community or Enterprise) on a staging database. Typical delivery is 2-4 weeks from confirmed scope. You receive the installable source, documentation, a training session, and a post-go-live support window — no fabricated demos, just working code installed on your instance.
A retailer or B2B seller who pays 2-3% in card/gateway fees and wants to legally pass a surcharge to customers per payment method, with the fee disclosed transparently before checkout so it holds up to card-scheme and consumer-protection rules.
A finance lead who cannot accept a fee line that mishandles VAT/GST. They need the surcharge to post into `account.move` with the right tax treatment and to reverse cleanly on refunds and credit notes.
An ops manager selling across countries and channels (website, backend, POS, API) who needs surcharge rules scoped by country/currency with caps, applied identically everywhere via one rule engine.
An in-house admin or implementation partner who wants a maintained, access-controlled module with clear docs and a git handover rather than a fragile studio hack or a generic app that ignores their tax and legal caps.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Payment Surcharge & Convenience Fee for Odoo depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Payment Surcharge & Convenience Fee for Odoo et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Per-method fee logic | Fixed, %, or blended rule per payment provider | Whatever you code yourself | Often one flat fee for all methods | |
| Tax handling on fee | Taxable, inclusive, or exempt mode into account.move | Must be built and tested carefully | Frequently mishandles VAT/GST | |
| Legal caps & country scoping | Thresholds, caps, res.country/currency scoping | Possible but time-consuming to build | Rarely supports caps or country rules | |
| Checkout transparency | Labeled fee line disclosed before pay (QWeb/OWL) | Depends on your template work | Disclosure varies, sometimes hidden | |
| Refund handling | Proportional reversal on credit notes | Must be engineered explicitly | Often retains fee on refund | |
| API / channel coverage | Same rules via XML-RPC/JSON-RPC | Extra integration work | Usually website-only | |
| Fit to your jurisdiction | Scoped to your gateways, tax, and legal caps | Fully yours but you own all effort | Generic, one-size-fits-all | |
| Support & handover | Docs, training, support window, git repo | Only what your team documents | Vendor ticket queue, no source insight |
This is a build-to-order module, not an instant apps.odoo.com download. Typical delivery is 2-4 weeks from confirmed scope. After a short scoping call we lock the provider matrix, tax treatment, legal caps, and checkout wording, then build and test on your staging database before go-live. Complex multi-country or POS-inclusive builds may run slightly longer, which we confirm before you commit.
Every build includes a post-go-live support window for defect fixes and configuration adjustments, plus a git repository handover so you own the code. We can also quote ongoing maintenance and version upgrades — for example migrating the module when you move from Odoo 17.0 to 18.0 or 19.0. Because you hold the source, you are never locked in.
It depends on your country, card scheme rules, and the payment method. Some regions cap or prohibit surcharges on certain cards while allowing convenience fees or surcharges on others. We build the rules to your legal advice — including country/currency scoping and hard caps — and disclose the fee transparently at checkout, but you remain responsible for confirming what is permitted in your jurisdiction.
Yes. Each rule has a tax mode — taxable, tax-inclusive, or tax-exempt — and the surcharge posts as a proper order/invoice line via a configurable service product so it flows into `amount_tax` and `amount_total`. This keeps your `account.move` records and credit notes accurate rather than burying the fee.
The module is refund-safe. When an order is fully or partially refunded through an `account.move` reversal, the surcharge line reverses proportionally rather than being silently kept, so credit notes reflect the correct net amount. We validate this behavior during UAT on your staging database.
We build and test against your specific Odoo 17.0, 18.0, or 19.0, Community or Enterprise. Some surcharge coverage (for example certain POS or website-payment hooks) differs between editions; we confirm exactly what applies to your setup during scoping and note any Community-vs-Enterprise differences in the handover docs.
Yes. The rule engine is exposed through Odoo's XML-RPC/JSON-RPC API, so orders created by external channels, marketplaces, or custom integrations compute the same surcharge as the website and backend. This prevents mismatches where an integration bypasses the fee.
Automatically add a per-payment-method surcharge or convenience fee to Odoo orders and online checkout, with tax-aware fee lines, country/threshold caps, and refund-safe handling. ECOSIRE scopes, builds, installs and supports it for your Odoo 17/18/19.