Accounting Setup Guide
A first-install onboarding checklist that turns the suite's strict configuration errors into a guided, per-company setup with deep links.
Why this module
Accounting Setup Guide
Errors become a checklist
The suite's strict configuration errors are reframed as 26 tasks across 7 categories. Each row tells the operator exactly what is left and opens the screen to fix it, instead of failing at first use.
Fail-loud, never silent
A task whose deep link external id is missing or unresolvable raises a clear error naming the exact id, never a random fallback. The completion ratio counts skipped tasks as not done, so the percentage reflects real work.
Per-company by design
One progress line per task per company, with a unique constraint and a global isolation rule. A multi-company tenant sees the checklist once per company, with independent progress and no cross-company leakage.
Day in the life
First Monday on a fresh install
You install the accounting suite and open Setup Guide. It lists 26 tasks, grouped by category, filtered to what is still to do and to the modules you actually installed. You click Open on Configure base currency rates and land directly on the right screen. You finish it, mark it done, and your name and the timestamp are recorded. A second company joins the tenant next week and gets its own clean checklist, no duplicates, your existing progress untouched.
Edge cases
The cases most modules quietly ignore.
In the shipped code today, each one a place where a cheaper module silently does the wrong thing.
Skipped companies are counted as not done in the completion ratio, so the percentage reflects real progress and not paperwork shortcuts. Skip is a deliberate state, not a quiet way to inflate the number.
The is_relevant flag is fully searchable, not just displayable. A custom search method lets filters and group-by act on installed-module state, and raises a clear error on an unsupported operator instead of silently returning every row.
Open guards two distinct failures separately: a task with no action external id at all, and an external id that does not resolve in this database. Each gets its own clear message, including which module to install or upgrade.
Install-time and new-company seeding are both idempotent and bulk-create only missing lines. Adding a company mid-life, or reinstalling after adding a sibling module, never duplicates lines or wipes existing progress.
The form's sibling kanban (same task, other companies) and peer kanban (same company, same category) both exclude the current record and respect scope, so an operator sees tenant progress and what is next without leaving the line.
What is inside
Built to do the job, end to end.
- 26 seeded tasks, 7 categories. Foundations, currencies, receivables, payables, approvals, reporting, and period close. The task definitions are seeded by XML and shared across companies; per-company progress lives on a separate line model so re-wording a task on upgrade never blows away user state.
- Deep links resolved at click time. Each task carries an action external id. Open resolves it through env.ref and returns the action, so the definition does not break when a target action is renamed. The opened screen is whatever Odoo defines it as; this module does not inject a company filter into it.
- Module-aware visibility. Each task lists the technical module names it needs. The task renders for a company only when every listed module is installed. Empty means the task always renders. The Setup Guide action filters on this flag so the list stays clean.
- Audit trail and reversible workflow. Every line records completed_at and completed_by_id plus free notes for the reviewer. Mark done, mark skipped, and reset are explicit actions; reset clears the audit stamp so a re-opened task starts clean.
- Plain Odoo, no surprises. Standard Odoo views with no JavaScript, no external links, and no third-party assets. Multi-company isolation is enforced at the record-rule layer with a global domain, not bolted on in the UI.
Honest about the edges
What this does not do, so nothing surprises you.
- This module tracks and links to configuration; it does not perform the configuration for you. Open takes you to the right screen, where you make the change.
- Deep links open the target screen exactly as Odoo defines it. This module does not pre-filter the opened screen to the active company; only the checklist itself is company-scoped, by the global isolation rule.
- The menu opens grouped by category and filtered to To do and to relevant tasks. There is no company search filter in the action context; company visibility comes from the record rule, so users only ever see their allowed companies.
- Module-aware visibility keys off installed technical module names you set on each task. A task with no required modules always renders.
- The 26 seeded tasks cover the ERP Heritage accounting suite's setup steps. This is an onboarding tracker for that suite, not a generic project or task manager.
Odoo 17 accounting setup checklist, accounting onboarding guide Odoo Community, multi company accounting configuration tracker, Odoo first install accounting setup, guided accounting configuration Odoo, per company setup progress Odoo, accounting suite onboarding checklist, Odoo deep link configuration screens, consultant accounting rollout tracker Odoo
Languages
Available in 19 languages
The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.
Modules teams pair with this one.
Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.
The Singapore country pack for the ERP Heritage Employment Hero integration
The complete ERP Heritage Employment Hero integration in one install
Sync timesheet entries from the Employment Hero people and payroll platform into the standard Odoo Timesheets app...
Real-time MRA fiscalisation for Point of Sale receipts in Odoo 17 Community, mapping each paid POS order to the M...
Shared foundation for the ERP Heritage Employment Hero country packs
Please log in to comment on this module