A build-to-order Odoo module that suppresses the framework's implicit auto-save on form views, replacing silent commits with an explicit, permission-aware save gate across the models you choose. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
Manifeste de l'app
Conçu autour de votre flux de travail
A build-to-order Odoo module that suppresses the framework's implicit auto-save on form views, replacing silent commits with an explicit, permission-aware save gate across the models you choose. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
Vous êtes en ligne en 2–4 semaines environ, avec une période d’assistance après le lancement.
Odoo's web client saves aggressively by design: a dirty form is auto-committed when the user clicks away via the breadcrumb, opens a related record, presses a smart button, or discards the view. For high-stakes records — draft invoices, manufacturing orders, priced sales lines, HR data, inventory adjustments — that helpful behavior becomes a liability. Users commit half-finished edits without meaning to, @api.onchange side effects fire prematurely, and audit trails fill with unintended writes. Odoo core gives you no setting to disable this: the auto-save is baked into the OWL form controller and the standard breadcrumb/discard flow, and record rules or ir.model.access.csv only govern whether a write is allowed, never when it happens. That is exactly where native runs out of road.
Auto Save Restrict is a module we build to your specification that intercepts the form view's implicit save path and requires an explicit user action before any commit is persisted. Technically, we patch the web client form controller (the OWL FormController in 17.0+) so that navigation away, smart-button clicks, and view discards no longer silently flush a dirty record; instead the user gets a deliberate "Save / Discard / Stay" decision, or — where you prefer — the toolbar Save button becomes the only route to a write. Scope is configured per model through a small settings model (res.config.settings toggles plus a target-model allowlist), so you decide which models are restricted (for example account.move and mrp.production) and which keep Odoo's default behavior. Because the gate is client-side interception layered over the standard ORM create/write, no data path is bypassed — security, record rules, and constraints all still apply on the actual save.
Under the hood the module ships as a standard addon: a __manifest__.py declaring the web and relevant business dependencies, a JS asset bundle that extends the form controller and (optionally) the list-view inline-edit save, an ir.model.access.csv for the configuration model, and an optional res.groups so that only users in a "Confirm before save" group are affected — letting you exempt power users if desired. Behavior can be driven by an automated action or server-side ir.config_parameter where you want a headless default. It is engineered against the framework's public patch points rather than brittle template overrides, so it survives point upgrades, and we build and test it explicitly for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise (Enterprise-only views such as certain accounting and studio-generated forms are handled where present in your edition).
Delivery is build-to-order: after a short scoping call we confirm the exact models, user groups, and confirmation UX, then build, test on a staging copy of your database, and install on your environment — typical delivery is 2–4 weeks from confirmed scope. You receive the full source, documentation, and a support window; nothing is a pre-existing download you install yourself. Pricing starts from $249 (indicative, single-company base scope); the number of restricted models, custom confirmation workflows, per-group exemption logic, and multi-company or Enterprise-view coverage increases the quoted scope.
Runs draft invoices and journal entries in account.move and needs users to deliberately confirm before a record is written, so partially keyed or mis-onchanged entries never silently post to the ledger or trigger premature side effects.
Manages mrp.production and inventory adjustments where an accidental auto-save on a dirty order can commit wrong quantities or states; wants an explicit save gate on the specific operational models without slowing down the rest of Odoo.
Owns the Odoo instance across 17/18/19 and needs a maintainable, upgrade-safe module scoped by model and by user group, with clean documentation and a git handover rather than a brittle one-off template override.
Cares that field-tracking and chatter reflect intentional edits only; values reducing accidental writes so the audit trail is trustworthy for regulated or high-value records.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Availability | Built to order, installed and supported by ECOSIRE | You build and maintain it in-house | Instant download, generic behavior | |
| Auto-save control scope | Per-model allowlist you choose (e.g. account.move, mrp.production) | Whatever you build; drift risk | Fixed, often all-or-nothing | |
| User targeting | Optional res.groups to exempt power users | Must design group logic yourself | Rarely group-aware | |
| Upgrade safety (17/18/19) | Built against public patch points, tested per version | Depends on your engineering discipline | Varies; may break on point upgrades | |
| Community vs Enterprise | Targeted and tested for your exact edition | Your responsibility to cover both | Often Community-only assumptions | |
| Support & handover | Support window, docs, training, git repo handover | None beyond your team | Vendor forum / limited | |
| Fit to your workflow | Confirmation UX tailored in scoping | Fully custom but costly to get right | Take it as shipped | |
| Total cost & risk | Fixed quote after scoping; from $249 indicative | High effort and ongoing maintenance | Low upfront, uncertain fit/maintenance |
No. This is a build-to-order module. ECOSIRE builds it to your specification after a scoping call, then tests and installs it on your environment. There is no instant download — you receive the finished, installable source for your commissioned version.
Typical delivery is 2–4 weeks from confirmed scope. After the scoping call we finalize the target models, user groups, and confirmation UX, build and test on a staging copy of your database, and then schedule the production install. Broader scope (more models, multi-company, custom workflows) can extend the timeline, which we confirm in the quote.
Pricing starts from $249 as an indicative single-company base scope. After a short scoping call we give you a fixed quote. The number of restricted models, per-group exemption logic, custom confirmation workflows, and multi-company or Enterprise-view coverage are the main drivers that adjust the quoted scope.
Every build includes a post-go-live support window for defect fixes and configuration adjustments, plus the full git repository so your team can maintain it. Because we build against the framework's public patch points, the module is designed to survive point upgrades; migrations across major Odoo versions can be quoted separately if needed.
You choose the models via a configuration allowlist — for example account.move and mrp.production while everything else keeps Odoo's default behavior. An optional user group lets the restriction apply only to selected users, so power users can be exempted. We confirm the exact list during scoping.
No, and that is intentional. The gate is a UI safeguard layered over the standard ORM create/write, so record rules and access rights still enforce on the real save. Programmatic writes via XML-RPC or JSON-RPC are not affected — we document this behavior clearly so integrations behave predictably.
We build and test explicitly for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. Enterprise-only form views present in your edition are handled where applicable. Tell us your exact version and edition during scoping and we target that build.

A build-to-order Odoo localization that loads Algeria's full wilaya and commune hierarchy with bilingual French and Arabic names, wired into partner addresses and reporting. ECOSIRE builds, installs, and supports it after your quotation.

A build-to-order 2Checkout (Verifone) payment integration for ERPNext, giving global digital-goods sellers card acceptance, 45+ local payment methods, multi-currency checkout, and reconciled invoices. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.

A build-to-order 2Checkout / Verifone payment gateway for Magento 2 and Adobe Commerce: localized checkout in 12 languages, iDEAL, Giropay and regional methods, multi-currency global selling, subscription billing and tax/invoicing automation — engineered, installed and supported by ECOSIRE.
A build-to-order Odoo module that suppresses the framework's implicit auto-save on form views, replacing silent commits with an explicit, permission-aware save gate across the models you choose. ECOSIRE scopes, builds, installs, and supports it — it is not an off-the-shelf download.