Bank-transfer checkout for Odoo with per-country accounts, unique references, proof upload and an admin verification queue. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.
App manifest
Built around your workflow
Bank-transfer checkout for Odoo with per-country accounts, unique references, proof upload and an admin verification queue.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your Odoo.
You go live in about 2–4 weeks, with a post-launch support window.
In many markets, bank transfer is not a fallback — it is how most customers actually pay. Yet Odoo's stock "Wire Transfer" acquirer gives shoppers a single block of text and no way to prove they paid, leaving your team to reconcile bank statements by hand and chase references over email. Bank Transfer & Manual Payment Pro is a build-to-order Odoo module that turns that messy manual flow into a structured, auditable checkout experience for Odoo Community and Enterprise on versions 17, 18 and 19.
At checkout the module displays the correct bank account for the customer's country or currency, generates a unique payment reference tied to the sale order or invoice, and lets the customer upload proof of payment (bank receipt, screenshot, or transfer confirmation) directly from the confirmation page. Every submission lands in an admin verification queue — a dedicated backend view where your finance team reviews the proof, matches the reference, and approves or rejects in one click. On approval the module auto-confirms the order and posts the invoice, closing the loop without a single manual status change.
This is not a generic apps.odoo.com download. ECOSIRE designs, builds, and installs the module against your chart of accounts, your bank accounts, your country/currency rules, and your existing sales and invoicing workflow — then hands over the source, documents it, and supports it. It is implemented the Odoo-native way: a proper module with __manifest__.py declaring dependencies on account, sale and payment; models extending payment.transaction, sale.order and account.move with computed fields via @api.depends; access control through ir.model.access.csv and record rules so a salesperson sees only their own submissions while finance sees the full queue; backend views in XML/OWL; a QWeb payment-instructions report; and ir.actions.server automated actions that fire on approval. Nothing is bolted on with hacks — it upgrades cleanly and reads like core Odoo.
The result: customers get a professional, trustworthy way to pay by bank transfer with instant confirmation that their proof was received; your finance team gets a queue instead of an inbox, with every transfer stamped by reference, amount, currency, and reviewer for a clean audit trail.
Runs an Odoo eCommerce or sales operation where customers overwhelmingly pay by bank transfer rather than card. Needs checkout to present the right account, capture a reference, and stop the endless email chase to confirm who paid what.
Owns reconciliation and invoicing. Wants every incoming transfer tagged with a unique reference and matching proof, reviewed in one queue, and turned into a posted invoice automatically on approval — with a clean audit trail per transaction.
Responsible for keeping the Odoo instance maintainable across 17/18/19 upgrades. Prefers a properly structured module (models, security, views, automated actions) built to core conventions over fragile customizations or an unsupported marketplace add-on.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Per-country/currency bank account display | Included | Partial support | Partial support | |
| Unique payment reference per order/invoice | Included | Partial support | Partial support | |
| Customer proof-of-payment upload | Included | Partial support | Partial support | |
| Admin verification queue (approve/reject) | Included | Partial support | Partial support | |
| Auto-confirm order + post invoice on approval | Included | Partial support | Not included | |
| Role-scoped security (finance vs sales record rules) | Included | Partial support | Partial support | |
| Built to your chart of accounts & bank setup | Included | Included | Not included | |
| Source code handover + documentation + training | Included | Partial support | Not included | |
| Clean upgrades across Odoo 17/18/19 | Included | Partial support | Partial support | |
| Post-launch support window from the builder | Included | Partial support | Partial support |
This is a build-to-order module, not an instant download. Typical lead time is 2–4 weeks from confirmed requirements, depending on the number of countries/banks, your version target(s) and how closely it must fit your existing sales and invoicing flow. After a short scoping call we confirm a firm timeline, build against your instance, smoke-test the full checkout → proof upload → approval → auto-invoice path, and deploy. You will not receive a pre-built apps.odoo.com ZIP — you receive a module tailored to your setup.
You get a defined post-launch support window (agreed during scoping) covering bug fixes and usage questions, plus the full module source so nothing is locked to us. Because it is written to core Odoo conventions — standard models, ir.model.access.csv security, XML/OWL views and automated actions — it upgrades cleanly. Moving the module to a newer Odoo version (e.g. 18 → 19) or adding new countries, banks or workflow rules is available as a scoped enhancement. We document the code and configuration so your own team or partner can maintain it.
Odoo 17, 18 and 19, on both Community and Enterprise. The module depends on the standard account, sale and payment modules, so it works whether you run stock Community accounting or Enterprise. We build for the specific version(s) you name; if you plan to migrate soon we can target the newer version or scope a forward-port.
On checkout the module generates a unique, human-readable reference derived from the sale order or invoice and stores it on the payment.transaction record. The customer is instructed (on-screen and in a QWeb report/email) to quote it in their bank transfer. When they upload proof, finance sees the reference, expected amount and declared amount side by side in the verification queue, making the match unambiguous. The reference format can be customized to fit your bank statement conventions.
Approval triggers an Odoo automated action (ir.actions.server): the sale order is confirmed and the linked customer invoice is posted, moving the transaction to a verified state and notifying the customer via a mail template. Rejection records a reason in the chatter and returns the order to awaiting-payment so the customer can resubmit. Every decision is stamped with the reviewer and timestamp for the audit trail. No manual status juggling is required.
Yes. It integrates with Odoo's native payment framework, so bank transfer appears as one option alongside any other acquirers you have enabled (cards, wallets, etc.) at checkout and in the customer portal. Customers who choose bank transfer follow the structured proof-and-verification flow; other methods are unaffected. This lets you offer bank transfer to the customers who prefer it without disrupting your existing online payment setup.
Bank-transfer checkout for Odoo with per-country accounts, unique references, proof upload and an admin verification queue.