- Home
- Apps
- SaaS Tools
- Store Wallet & Store Credit for Odoo
Illustrative previewA 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.
What is Store Wallet & Store Credit for Odoo?
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 $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
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.
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 one working week from confirmed scope, and you receive the full source and git repository at handover.
What you get
- Installable, version-matched module source for your Odoo 17.0, 18.0 or 19.0 instance (Community or Enterprise)
- Installation and configuration on your environment, including payment-provider and cashback-rule setup
- Technical documentation: data model, `@api.depends` compute logic, security rules, and API reference
- User guide plus a live training session for staff on top-ups, refunds and adjustments
- Post-go-live support window for defect fixes and questions
- UAT on a staging instance with an agreed test script and a documented rollback plan
- Handover of the complete git repository with commit history
- Accounting mapping notes so your finance team can reconcile wallet liability against the ledger
Who this is for
Independent retailer / eCommerce owner
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.
Customer-service / operations lead
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.
Finance / accounting manager
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.
Marketing / loyalty manager
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.
How Store Wallet & Store Credit for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| 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 | No true store wallet; gift cards only |
| Partial payment at checkout | Wallet + card/cash split on website and POS | Must hook both checkout flows yourself | Often website-only, POS support patchy | Not supported for a store balance |
| Instant refund-to-wallet | One-click or automated `refund` credit in seconds | Build the refund path and reconciliation yourself | Sometimes present, rarely accounting-backed | Credit note to original method, slow and fee-heavy |
| Cashback / loyalty rules | Category/group/campaign-scoped, posts `cashback` rows | Rule engine is yours to design and test | Basic percentage cashback, limited scoping | Loyalty exists but not credited to a wallet balance |
| Accounting integrity | Optional `account.account` liability backing, reconcilable | Depends on your accounting design | Often off-ledger balance field | N/A — no wallet concept |
| API access | XML-RPC / JSON-RPC read and debit for POS/mobile | You expose and secure endpoints yourself | Rarely documented for external debit | Generic ORM API, no wallet endpoints |
| 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 | Whatever core ships, no more |
| Support & handover | Docs, training, support window, full git repo | Depends on your developer's handover | Vendor tickets, no source ownership | Community/Enterprise support, no custom code |
Frequently Asked Questions about Store Wallet & Store Credit
How long does delivery take?
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 one working week from confirmed scope. We build against your data on staging, run UAT with you, then deploy behind a rollback plan.
Does this work on Odoo Community or only Enterprise?
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.
How are refunds returned to the wallet, and does accounting stay clean?
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.
Can customers pay only part of an order from their wallet?
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.
Is the wallet secure — can one customer see another's balance?
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.
Can our POS terminal or mobile app read and debit the wallet?
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.
What about support and updates after go-live?
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.
Related Modules

Sticky Header and Column in List View
A build-to-order Odoo module that keeps list-view column headers and chosen leading columns pinned in place while users scroll wide, long records. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17, 18, or 19 database.

Sticky Notes for Odoo
A build-to-order Odoo module that pins colour-coded sticky notes to any form view, surfacing alerts, warnings, and internal messages exactly where your team works. ECOSIRE scopes, builds, installs, and supports it for Odoo 17, 18, or 19.

Subscription Dunning & Smart Retry for Odoo
Recover failed recurring payments in Odoo with smart retries and staged dunning emails. Build-to-order, delivered in one working week.
Store Wallet & Store Credit
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.
- `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
