A build-to-order Odoo accounting tool that lets controllers bulk reset selected journal entries back to draft, cancel, or re-post them under strict permission and audit controls. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.
Uygulama manifestosu
İş akışınıza göre tasarlandı
A build-to-order Odoo accounting tool that lets controllers bulk reset selected journal entries back to draft, cancel, or re-post them under strict permission and audit controls. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19 environment.
Kendiniz kurmanıza gerek yok — ECOSIRE tarafından geliştirilen, kurulan ve desteklenen çalışır bir uygulama.
Tek seferlik geliştirme fiyatıyla başlayın. Kapsamı başlangıçta sizinle birlikte belirleriz.
ECOSIRE, Odoo ortamınızda geliştirir, yapılandırır ve kurar.
Yaklaşık 2–4 haftada yayına alırsınız; lansman sonrası bir destek süresi de dahildir.
Every accounting team eventually hits the wall Odoo builds on purpose: once an account.move is posted, it locks. That is correct for audit integrity, but it turns routine month-end corrections into a slog. A mispicked journal, a wrong tax on a batch of entries, an imported opening balance that needs re-mapping, or a reversal that should never have gone through — each one has to be handled one record at a time, and the standard "Reset to Draft" is per-move, gated by the journal's inalterability setting and the accounting lock dates. When you are staring at three hundred entries from a bad import, that native path runs out of road fast.
Reset Journal Entries is a build-to-order Odoo tool that gives your controllers a governed, bulk state-transition action across selected account.move records — resetting them to draft, moving them to cancel, or re-posting them to posted — directly from the journal-entries and journal-items list views. It is not a magic bypass. We build it to respect (or, where your finance lead explicitly authorizes, to override with a mandatory logged reason) the lock-date checks in account.move._check_fiscalyear_lock_date, the hash-chain integrity flag on secured journals, and the reconciliation state of each line. Under the hood it is a proper Odoo module: a models.TransientModel wizard invoked from a server action that iterates the recordset, validates each move's preconditions with @api.constrains-style guards, calls the standard button_draft / button_cancel / action_post methods so no business logic is short-circuited, and rolls the whole batch back in a single transaction if any move fails validation. Every transition writes to mail.thread (the chatter) and to a dedicated audit log model, so you always know who reset what, when, and why.
Access is locked down with ir.model.access.csv plus record rules so the bulk action only appears for the accounting roles you nominate — typically a controller or finance-manager group, never a data-entry clerk. We wire the confirmation wizard to force a reason field before any override of a locked period, add an optional automated action to auto-unreconcile lines when a reset requires it, and expose the same operation over the XML-RPC / JSON-RPC API if you drive corrections from an external system or migration script. The UI is delivered as standard XML list-view buttons and an OWL wizard dialog, and where you use Enterprise we hook the operation into the accounting audit trail; on Community we ship an equivalent logging surface so nothing is silent.
Because this is made to order, delivery works around your environment rather than a shrink-wrapped download. After a short scoping call we confirm the exact target states, which roles get the action, how lock-date overrides should behave, and which Odoo version (17.0, 18.0, or 19.0) and edition you run. We then build against a copy of your database, validate the transitions on staging with your real data, and hand over installable source with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $299 (indicative, single-company base scope); multi-company setups, hashed/secured journals, deep lock-date override policies, or large-volume data-migration corrections increase the quoted scope.
Owns month-end and year-end close and needs to correct batches of posted entries fast — bad imports, wrong journals, mis-tagged taxes — without touching each move by hand or losing the audit trail.
Maintains the accounting configuration and wants a governed, role-scoped tool rather than granting broad developer access or running raw SQL to fix entry states.
Loads opening balances or historical transactions and repeatedly needs to reset, re-map, and re-post large batches during cutover — ideally driven over the JSON-RPC API from a migration script.
Accountable for period integrity and wants any override of a locked period to be explicit, reason-logged, and restricted to trusted roles, not a silent bypass.
| Kriter | ECOSIRE | Özel Yapı | Rakip | Odoo Yerlisi |
|---|---|---|---|---|
| Bulk operation | Multi-select batch reset in one transaction, all-or-nothing | Possible but you build and test the batching yourself | Often per-record or limited batch handling | |
| Audit trail | Chatter plus dedicated log: who, when, source/target state, reason | Only what you remember to build | Varies; frequently minimal logging | |
| Lock-date / period control | Respected by default; role-scoped override with mandatory reason | You must implement and guard it correctly | May bypass silently or ignore the case | |
| Access control | Scoped via ir.model.access.csv and record rules to named roles | Depends on your implementation discipline | Usually a single broad access group | |
| Fit to your process | Built to your journals, roles, states, and override policy | Fully bespoke but on your time and budget | Generic; you adapt your process to it | |
| Support & warranty | Post-go-live window plus source and git handover | Whatever your internal team can sustain | Vendor-dependent, often forum-only | |
| API access | Same operation exposed over XML-RPC / JSON-RPC | Only if you build the endpoint | Rarely exposed | |
| Version coverage | Built and tested for 17.0, 18.0, 19.0, Community & Enterprise | Whatever you target and maintain | Often lags new Odoo releases |
No. This is a build-to-order tool. ECOSIRE builds it against your specific Odoo version, edition, and correction policy, then installs and supports it. There is no instant download — the value is that it fits your journals, roles, and lock-date rules exactly.
Typically 2–4 weeks from confirmed scope. After the scoping call we build against a copy of your database, validate the state transitions on staging with your real data, and then schedule the production install with you. Complex multi-company or secured-journal policies sit at the longer end of that range.
Pricing starts from $299 as an indicative from-price for a single-company base scope. We give you a fixed written quote only after a short scoping call, because drivers like multi-company setups, hashed/secured journals, override policy depth, and data-migration volume change the effort. You approve the fixed quote before we build.
Every engagement includes a post-go-live support window for defect fixes and questions. You receive the full source and git repository, so your team can maintain it. We also offer optional ongoing support and version-upgrade work (for example moving the module from Odoo 17 to 18 or 19) as a separate arrangement.
No. It calls Odoo's standard `button_draft`, `button_cancel`, and `action_post` methods, so native logic runs normally, and every transition is written to the chatter and a dedicated audit log. Lock-date and hash-chain checks are respected by default; any override is restricted to nominated roles and requires a mandatory logged reason.
We build for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. On Enterprise we can hook into the accounting audit trail; on Community we ship an equivalent logging surface so no transition is ever silent. Tell us your exact version and edition on the scoping call.
Yes. That is a core use case. You can select hundreds of entries in the list view and transition them in one batched, all-or-nothing transaction, or drive the same operation over the XML-RPC / JSON-RPC API from a migration script for automated correction runs.
A build-to-order Odoo accounting tool that lets controllers bulk reset selected journal entries back to draft, cancel, or re-post them under strict permission and audit controls. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19 environment.