A build-to-order Odoo module that vaults customer cards via gateway-side tokenization so repeat and subscription buyers can reorder in one click. ECOSIRE designs, builds, installs, and supports it on Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that vaults customer cards via gateway-side tokenization so repeat and subscription buyers can reorder in one click. ECOSIRE designs, builds, installs, and supports it on Odoo 17, 18, or 19.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Repeat-purchase and subscription merchants lose orders at exactly the wrong moment: a returning customer who already trusts you is forced to re-enter full card details on every checkout. Odoo's native payment module and provider connectors (Stripe, Adyen, Mollie, Authorize.Net, and friends) do support tokenization through the payment.token model, but the out-of-the-box experience is thin — token creation is tied to specific flows, the portal exposes little card management, there is no first-class "default card", no proactive expiry handling, and no clean 1-click reorder from a prior sale order. Merchants end up either accepting the friction or asking a developer to bolt fragile logic onto payment.transaction. This is where Odoo native runs out of road for a serious repeat-purchase operation.
Gateway-side tokenization only — Odoo persists provider `payment.token` references, never PAN, CVV, or full card data, keeping PCI scope in the SAQ-A / SAQ-A-EP band
Saved-card management page in the customer portal (QWeb/OWL) showing masked PAN, brand, and expiry, scoped by record rules to the logged-in `res.partner`
1-click reorder that re-uses a stored token to raise and confirm a `sale.order` plus its `payment.transaction` in a single guarded POST
Express-pay button on checkout that skips card re-entry for returning customers with a valid vaulted token
`is_default` computed field and a set-default-card flow so express pay always resolves the intended token
`is_expiring_soon` compute (`@api.depends` on stored expiry month/year) driving proactive expiry detection without exposing sensitive data
ECOSIRE builds a purpose-designed module that leans on your gateway's vault so no PAN, CVV, or magnetic-stripe data ever touches the Odoo database — only opaque provider tokens are persisted, keeping your PCI scope in the light SAQ-A / SAQ-A-EP territory rather than full SAQ-D. Technically, we extend Odoo's payment.token and payment.transaction models with our own thin wrapper models (models.Model with fields.Many2one links to res.partner and the provider), add computed fields for masked display, is_default, and is_expiring_soon (driven by @api.depends on the stored expiry month/year), and enforce access with ir.model.access.csv plus record rules so a portal user can only ever see and use their own tokens. The customer-facing surface is delivered as QWeb/OWL portal templates: a "Saved cards" page under the customer portal, an express-pay button, and a 1-click reorder action that re-uses the stored token to raise and confirm a new sale.order and its payment.transaction in a single POST — with server-side guards, idempotency keys, and full logging.
Around that core we wire the operational glue: an Odoo automated action / ir.cron job that flags cards nearing expiry and triggers a branded reminder email (QWeb email template) so customers update details before a renewal fails; a "set default card" flow; and optional retry logic for soft declines. Everything is provider-abstracted against Odoo's payment.provider layer so the same UX works across your supported gateways, and admin-side reporting can be surfaced through list/form views or a QWeb report. Where you already drive orders from external systems, the saved-token reorder path is callable over Odoo's XML-RPC / JSON-RPC API, so a subscription engine or headless storefront can charge a vaulted card without a human in the loop. We build cleanly against Community or Enterprise (noting where Enterprise-only connectors change the token model) and target Odoo 17.0, 18.0, or 19.0 to match your instance.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call to confirm your gateway(s), Community-vs-Enterprise edition, Odoo version, and the exact checkout and reorder flows you want. From confirmed scope, typical delivery is 2-4 weeks: we develop in a dedicated repo, install and demonstrate on a staging clone of your database for UAT, and only then deploy to production with a rollback plan. You receive the full installable source, technical and user documentation, a training session, and a post-go-live support window — this is your module, built and maintained for your business, not a black-box download.
Runs memberships, boxes, or SaaS-style plans on Odoo and needs vaulted cards charged automatically at renewal, with expiry reminders that cut involuntary churn from failed cards.
Sells consumables or fast-moving goods where the same customers buy weekly. Wants a genuine 1-click reorder and express pay so returning buyers never abandon at the card form.
Handles regular purchase orders from known accounts and wants approved buyers to reorder against a saved corporate card without re-keying details, with per-partner token isolation.
Responsible for PCI posture and payment reconciliation. Needs assurance that no card data lands in Odoo, that access is record-rule scoped, and that every charge is logged and auditable.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Saved Cards & Tokenized 1-Click Checkout for Odoo モジュールの ZIP をダウンロードします。
ZIP をサーバー上の Odoo カスタム アドオン フォルダーに抽出します (または、[アプリ] > [Odoo.sh / runbot のファイルからインストール] を介してアップロードします)。
開発者モードをアクティブにし、アプリを開き、「アプリリストの更新」をクリックして、「Saved Cards & Tokenized 1-Click Checkout for Odoo」を検索し、「インストール」を押します。
新しいメニューを開き、ECOSIRE ライセンス キーを貼り付け、外部認証情報 (Shopify、Amazon、Stripe など) を接続して保存します。
組み込みの接続テストを実行し、最初の 10 レコードを同期し、定期的な cron をスケジュールします。何か問題が発生した場合はサポートにお問い合わせください。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| Card data storage | Gateway-vaulted tokens only, no PAN in Odoo | Depends on developer discipline; risk of over-storing | Usually token-based but varies by author | |
| 1-click reorder UX | Purpose-built reorder + express pay from portal | Buildable but you specify and pay for every detail | Often partial or checkout-only | |
| Saved-card portal management | Full list, set-default, remove, masked display | Whatever you scope and fund | Basic list, limited management | |
| Expiry reminders | Cron-driven `is_expiring_soon` + branded emails | Only if explicitly built | Rarely included | |
| Multi-gateway support | Abstracted over `payment.provider` layer | One gateway unless you fund more | Often tied to a single provider | |
| API / headless reorder | XML-RPC/JSON-RPC reorder with idempotency | Possible with extra spec and cost | Seldom exposed cleanly | |
| Version & edition fit | Built for your 17/18/19, Community or Enterprise | Whatever the developer targets | Author's supported versions only | |
| Ownership & support | Full source, Git handover, support window | You own it but carry all maintenance | Vendor-controlled updates, shared roadmap |
No. Tokenization happens at your payment gateway, and Odoo persists only the opaque provider token plus non-sensitive display data (masked PAN, brand, expiry). No full PAN, CVV, or track data ever touches the Odoo database, which keeps your PCI scope in the lighter SAQ-A / SAQ-A-EP range rather than full SAQ-D. Your final scope always depends on your own QSA/acquirer assessment.
This is a build-to-order module, so nothing ships as an instant download. After a short scoping call to confirm your gateway, Odoo version, edition, and flows, typical delivery is 2-4 weeks from confirmed scope. Larger or multi-gateway scopes can run longer, and we tell you honestly during scoping if that applies to you.
We build against Odoo's `payment.provider` layer, so any gateway that exposes tokenization/vaulting through its Odoo connector (Stripe, Adyen, Mollie, Authorize.Net, and similar) can be supported. During the scoping call we confirm exactly which of your providers support saved cards and design the module around them.
Yes — we target Odoo 17.0, 18.0, or 19.0 and build cleanly for Community or Enterprise. Some connectors are Enterprise-only and change how the token model behaves; we account for that in scoping so the module matches your exact instance.
Yes. The saved-token reorder path is exposed over Odoo's XML-RPC / JSON-RPC API, so a subscription engine, recurring-billing job, or headless storefront can raise and pay a `sale.order` against a vaulted token without a human at checkout, with idempotency and audit logging built in.
Every build includes a post-go-live support window for defect fixes and configuration adjustments, plus the full source in a handed-over Git repo so you own it outright. Odoo version upgrades and new feature work are quoted separately as scoped engagements — we do not lock you into a black box.
The reorder endpoint uses server-side idempotency keys and duplicate-charge guards, so a double-click, browser refresh, or retried request will not bill the customer twice. Every charge attempt is logged for audit and reconciliation.
A build-to-order Odoo module that vaults customer cards via gateway-side tokenization so repeat and subscription buyers can reorder in one click. ECOSIRE designs, builds, installs, and supports it on Odoo 17, 18, or 19.