- Accueil
- Apps
- SaaS Tools
- Auto Save Restrict
Aperçu illustratifA 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.
Qu'est-ce que Auto Save Restrict ?
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 $999.00 USD; request a quote for a scoped proposal.
Fonctionnalités clés
Fait sur commande, clé en main
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
- 1
Vous commandez
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
- 2
Nous développons et installons
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
- 3
Mise en ligne + assistance
Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.
Spécifications techniques
- Compatibilité Odoo
- Odoo 17, Odoo 18, Odoo 19
- Éditions
- Enterprise et Community
- Licence
- Licence à confirmer
- Version Python requise
- Python 3.10+
- Base de données
- PostgreSQL 12+
À propos de ce produit
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 one working week 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 $999 (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.
Ce que vous obtenez
- Installable source code for your commissioned version, built for your target Odoo edition and version (17.0/18.0/19.0)
- Installation and configuration on your environment, including the per-model allowlist and any user groups
- Technical documentation covering the patch points, configuration model, and upgrade notes
- End-user guide plus a live training session for the teams whose save flow changes
- Post-go-live support window for defect fixes and configuration adjustments
- UAT on a staging copy of your database with an agreed rollback plan before production install
- Handover of the full git repository with commit history and manifest
- Compatibility notes on Community vs Enterprise views and known XML-RPC/JSON-RPC behavior
Pour qui c'est
Finance & Accounting Lead
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.
Operations / Manufacturing Manager
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.
ERP Administrator / IT Owner
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.
Compliance / Audit Stakeholder
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.
Comment Auto Save Restrict se compare
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Natif Odoo |
|---|---|---|---|---|
| Availability | Built to order, installed and supported by ECOSIRE | You build and maintain it in-house | Instant download, generic behavior | No such control exists |
| 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 | Always auto-saves on navigate/discard |
| User targeting | Optional res.groups to exempt power users | Must design group logic yourself | Rarely group-aware | Not applicable |
| Upgrade safety (17/18/19) | Built against public patch points, tested per version | Depends on your engineering discipline | Varies; may break on point upgrades | N/A |
| Community vs Enterprise | Targeted and tested for your exact edition | Your responsibility to cover both | Often Community-only assumptions | Same auto-save in both |
| Support & handover | Support window, docs, training, git repo handover | None beyond your team | Vendor forum / limited | None |
| Fit to your workflow | Confirmation UX tailored in scoping | Fully custom but costly to get right | Take it as shipped | Fixed framework behavior |
| Total cost & risk | Fixed quote after scoping; from $999 indicative | High effort and ongoing maintenance | Low upfront, uncertain fit/maintenance | Free but no capability |
Foire aux questions sur Auto Save Restrict
Is this an existing app I can download and install right now?
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.
How long does delivery take?
Typical delivery is one working week 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.
How does pricing and scoping work?
Pricing starts from $999 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.
What support and updates are included?
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.
Which models can be restricted, and can I exempt some users?
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.
Does this block writes made through the API?
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.
Will it work on my Odoo version and edition?
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.
Modules associés

Austrian Post Shipping Connector for Odoo
A made-to-order Odoo delivery connector that generates Österreichische Post labels, rates, and tracking for Brief, Päckchen, and Paket shipments directly from your delivery orders. ECOSIRE builds, installs, and supports it — no manual portal keying.

Authorize.Net Gateway for Odoo
A build-to-order Authorize.Net payment provider for Odoo that adds Accept.js hosted-field card entry, CIM customer-profile tokenization, and full auth/capture/refund/void reconciliation. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 environment.

Bahrain VAT Filing & Compliance
Build-to-order Odoo module giving you Bahrain NBR-ready VAT taxes, chart of accounts, fiscal positions and NBR return templates.

Bank Statement Import (MT940/CSV/OFX)
Import bank statements in MT940, CAMT.053, OFX, QIF or CSV and auto-map them to journals — built, installed & supported by ECOSIRE.
Auto Save Restrict
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.
- Intercepts the OWL FormController implicit save so breadcrumb navigation, related-record opens, and view discards no longer silently commit a dirty record
- Explicit "Save / Discard / Stay on page" confirmation dialog on any restricted form before a write is persisted
- Optional mode that makes the toolbar Save button the only path to a commit, fully disabling auto-save on chosen models
- Per-model allowlist configured via res.config.settings so you restrict, e.g., account.move and mrp.production while leaving other models on Odoo defaults