A prepaid wallet and store-credit balance your customers can top up and spend at checkout, with instant refunds-to-wallet and rule-based cashback. Built to order for Odoo 17, 18 and 19 by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A prepaid wallet and store-credit balance your customers can top up and spend at checkout, with instant refunds-to-wallet and rule-based cashback. Built to order for Odoo 17, 18 and 19 by ECOSIRE.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Retailers who want to hand customers a prepaid balance quickly hit a wall in stock Odoo. Native Odoo has gift cards and some eWallet mechanics in Enterprise eCommerce, but there is no first-class, portal-visible "store wallet" a shopper can top up, spend partially at checkout, and watch as a running ledger. Refunds go back to the original payment method through account.move credit notes and payment reconciliation, which is slow and card-fee-heavy — there is no button to instantly return value as store credit the customer can respend the same day. That gap costs repeat sales and buries your support team in "where is my refund" tickets.
`store.wallet` model with one `company_id`-scoped balance per `res.partner`, safe for multi-company setups
`store.wallet.transaction` append-only ledger where the running balance is a stored `compute` field via `@api.depends`, so UI and DB never drift
Top-ups through Odoo's native `payment.provider` / `payment.transaction` flow — reuse Stripe, PayPal, bank transfer without a new gateway
Server action / automated action posts a `top_up` ledger row only on a confirmed, reconciled payment transaction
"Pay from wallet" injected into website `sale.order` checkout and POS `pos.order`, supporting partial payment combined with card or cash
Instant refund-to-wallet from an order or `account.move` credit note — value returns in seconds, no card-fee round-trip
ECOSIRE builds a dedicated wallet layer on top of Odoo's own accounting and eCommerce plumbing. At the core is a store.wallet model (one balance per res.partner, company_id-scoped for multi-company) plus a store.wallet.transaction ledger where the running balance is a stored compute field driven by @api.depends over every credit and debit line, so the figure on screen and the figure in the database can never drift. Top-ups run through Odoo's existing payment.provider / payment.transaction flow (Stripe, PayPal, bank transfer — whatever you already accept); on a confirmed transaction a server action posts a top_up ledger row. Optionally each wallet is backed by a dedicated account.account liability so your accountant sees outstanding credit as a real balance-sheet number rather than a spreadsheet guess.
At checkout — both the website sale.order and the POS pos.order — we add a "Pay from wallet" option that debits the balance and can be combined with card or cash for partial payment, so a customer with 40 in credit can spend it against a 100 order and pay the rest normally. Refunds are the headline feature: from an order or a credit note, staff (or an automated rule) issue an instant refund credit that lands in the wallet in seconds instead of days. Cashback and loyalty rules are configurable records — percentage or fixed, per product category, per customer group, or per campaign window — evaluated by an @api.depends-aware engine and posted as cashback ledger rows on order confirmation. Every movement is exposed in the customer's /my portal via a QWeb-rendered statement, and the same balances are reachable over the XML-RPC / JSON-RPC API so a POS terminal, mobile app, or marketplace connector can read and debit the wallet programmatically.
Because this is build-to-order, nothing ships until we agree on scope. A short scoping call establishes your edition (Community vs Enterprise — it changes how we hook eCommerce and POS), your target versions (17.0 / 18.0 / 19.0), and the exact top-up, refund and cashback rules for your business. We then build the module against your data on a staging instance, secure it with ir.model.access.csv and record rules so customers only ever see their own wallet, run UAT with you, and deploy behind a rollback plan. Typical delivery is 2–4 weeks from confirmed scope, and you receive the full source and git repository at handover.
Wants to give repeat customers a prepaid balance and cut card fees, without stitching together gift cards and manual spreadsheets. Needs a wallet visible in the customer portal and usable at both website and POS checkout.
Drowning in refund tickets and slow card reversals. Needs a one-click refund-to-wallet that resolves disputes instantly, plus a clear per-customer statement to answer 'where is my balance' questions.
Must treat outstanding store credit as a real liability, not a hidden number. Needs wallet balances backed by an `account.account` and reconcilable against orders, top-ups and refunds.
Wants cashback and store-credit incentives to drive repeat purchases, scoped by category, customer group or campaign, with the credited amount landing automatically in the shopper's wallet.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Store Wallet & Store Credit 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 Store Wallet & Store Credit 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 |
|---|---|---|---|---|
| Portal-visible wallet balance | First-class `store.wallet` with running ledger in `/my` | Possible but you design the model and portal from scratch | Usually a balance field, portal statement varies | |
| Partial payment at checkout | Wallet + card/cash split on website and POS | Must hook both checkout flows yourself | Often website-only, POS support patchy | |
| Instant refund-to-wallet | One-click or automated `refund` credit in seconds | Build the refund path and reconciliation yourself | Sometimes present, rarely accounting-backed | |
| Cashback / loyalty rules | Category/group/campaign-scoped, posts `cashback` rows | Rule engine is yours to design and test | Basic percentage cashback, limited scoping | |
| Accounting integrity | Optional `account.account` liability backing, reconcilable | Depends on your accounting design | Often off-ledger balance field | |
| API access | XML-RPC / JSON-RPC read and debit for POS/mobile | You expose and secure endpoints yourself | Rarely documented for external debit | |
| Fit to your business | Built to your exact top-up, refund and cashback rules | Fully bespoke but you own all the risk | Fixed feature set, configure around it | |
| Support & handover | Docs, training, support window, full git repo | Depends on your developer's handover | Vendor tickets, no source ownership |
This is a build-to-order module, not an instant download. After a short scoping call to lock your edition, versions and wallet rules, typical delivery is 2–4 weeks from confirmed scope. We build against your data on staging, run UAT with you, then deploy behind a rollback plan.
Both. The wallet model, ledger and refunds work on Community and Enterprise. The edition mainly changes how we hook eCommerce and POS checkout — we confirm your edition on the scoping call and build the integration accordingly for 17.0, 18.0 or 19.0.
A refund posts an instant `refund` credit to the customer's `store.wallet.transaction` ledger — value is respendable in seconds. If you want strict accounting, we back each wallet with a dedicated `account.account` liability so outstanding credit is reconcilable on your balance sheet rather than sitting outside the ledger.
Yes. At website and POS checkout we add a 'Pay from wallet' option that debits the available balance and lets the remainder be paid by card or cash. A customer with 40 in credit can apply it to a 100 order and pay the other 60 normally.
No. Access is enforced with `ir.model.access.csv` and record rules so a portal user can only read and spend their own wallet. Manual admin adjustments require a reason and are written to an audit trail.
Yes. Balances and ledger operations are exposed over Odoo's XML-RPC / JSON-RPC API, so a POS terminal, mobile app or marketplace connector can check a balance and post debits or credits programmatically, subject to the same access rules.
Every build includes a post-go-live support window for defect fixes and questions. Because you receive the full source and git repository, you can maintain it yourself or engage ECOSIRE for version upgrades and enhancements as your needs grow.
A prepaid wallet and store-credit balance your customers can top up and spend at checkout, with instant refunds-to-wallet and rule-based cashback. Built to order for Odoo 17, 18 and 19 by ECOSIRE.