Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Period Close Workflow v 19.0
  4. Sales Conditions FAQ

Period Close Workflow

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 40
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 5059
Technical Name eh_account_close_workflow
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
PERIOD CLOSE WORKFLOW

Period Close Workflow

The spreadsheet month-end close, moved into Odoo with a real sign-off chain and a segregation-of-duties gate.

Free · LGPL-3FREE · LGPL-3ODOO 19 COMMUNITYv19.0.1.1.3
Checklists
Sign-off chain
SoD gate
Per-run tasks
Audit trail

Why this module

Period Close Workflow

01 / CONTROL

Segregation of duties, enforced

On approval the code blocks the reviewer who requested it and the original preparer from signing off their own close. A different manager must approve. This is a real ICR and SOX control, raised with a named error, not a policy note in a manual.

02 / INTEGRITY

Templates and runs stay separate

A run copies the template into independent per-run task instances. Editing this period never mutates the template and never reaches back into a prior closed run. The sign-off trio survives a reopen, and completed signers and timestamps are never overwritten by a re-mark.

03 / OWNERSHIP

Yours to keep

LGPL-3 source on disk. No activation key, no phone-home, no recurring licence. Tasks are real records, queryable and exportable, and every transition is tracked in Odoo chatter with user and timestamp. Free today, free at renewal, because there is no renewal.

Day in the life

A controller closes the March books with a clean handover.

The accountant opens a run from the Standard Monthly Close checklist for March. Setting the period end auto-fills the period start to the first of that month, leaving any custom range untouched. They work the tasks: bank reconciliation done, accruals posted, a fixed-asset query marked blocked with a reason while they wait on a vendor. The optional intercompany note is left pending, which is fine. With the asset query resolved and unblocked, they request approval. The run refuses at first because one required task is still in progress, names it, and stops. Once it clears, the run moves to pending approval and stamps them as reviewer. Their manager opens it to approve and the system blocks them only if they were the preparer or reviewer. A second manager approves, the run closes, and prepared, reviewed, and approved are all stamped with names and times. A week later a late adjustment lands. The manager reopens the run, the original sign-off trio is preserved, and the reopen is recorded against their name.

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.

RE-MARK · NO-OP

Clicking Mark Done on an already-done or not-applicable task is a no-op that preserves the original signer and timestamp. The audit trail cannot be quietly overwritten by a second click, and a regression test guards the prior bug where the check compared against a non-existent state.

OPTIONAL TASKS

Optional tasks (is_required false) never block the request-approval transition, so a close can proceed with optional items still pending. Only required tasks gate the close, which is verified by test.

EMPTY CHECKLIST

Creating a run from a checklist with zero task templates raises an error instead of producing an empty, meaningless run.

MANAGER-ONLY RESET

Only an Accounting Manager can revert a completed task to pending. The reset clears the completion fields and any blocked reason, a controlled rework path that ordinary users cannot trigger and that is itself recorded in chatter.

PERIOD AUTO-DERIVE

Setting the period end auto-fills the period start to the first of that month only when the start is empty or out of range, so a deliberately custom range is left intact.

STABLE CODES

A checklist code must match an identifier pattern and be unique per company, so report and automation references stay stable even when a checklist is renamed.

What is inside

Built to do the job, end to end.

  • Reusable checklist templates. Define a checklist once with ordered tasks and reuse it every period. One per cadence (monthly, quarterly, year-end) or one per subsidiary. A default Standard Monthly Close with 8 tasks installs on first install.
  • Per-run task instances. Each run copies the template into independent task records with states pending, in progress, done, not applicable, and blocked. Tasks carry a sequence for close order with a drag handle to reorder, and notes plus a blocked reason where needed.
  • Run lifecycle and sign-off chain. Runs move through open, in progress, pending approval, closed, and reopened. Prepared, reviewed, and approved each record a readonly signer and timestamp, giving a defensible handover trail.
  • State machine guards. Approval cannot be requested while a required task is pending or in progress, and a run cannot close while any task is blocked. On approval, the preparer and the reviewer are both blocked from approving their own work.
  • Reopen with history intact. An Accounting Manager can reopen a closed run for post-close adjustments. The original prepared, reviewed, and approved trio is preserved and the reopen stamps who did it and when.
  • Multi-company isolation. Per-company record rules scope checklists, runs, and tasks so each company sees only its own close data.

Honest about the edges

What this does not do, so nothing surprises you.

  • There is no hard predecessor lock. Tasks carry a sequence for display order and can be reordered by drag, but any task can be worked in any order. Required tasks simply must be complete before approval is requested.
  • There is no append-only audit log model. The audit trail is the standard Odoo chatter (mail.thread tracking) with user and timestamp, and the signer and timestamp fields are UI-readonly rather than write-locked at the database level. A manager Reset to Pending can clear a completion for rework.
  • Only one default checklist (Standard Monthly Close, 8 tasks) ships. Deeper cadence and per-subsidiary catalogues are deployment-specific and built on site.
  • This module does not surface a dashboard counter and does not auto-schedule a year-end closing task. It pairs narratively with other suite modules but does not hook into them through code.
  • No payment file generation, SEPA, or country tax worksheet is included here. Those live in their own suite modules.
Search

odoo 19 month end close checklist, period close workflow odoo community, accounting close sign off chain, segregation of duties close approval odoo, financial close task tracking odoo, year end close checklist template, multi company period close odoo, close run audit trail prepared reviewed approved, reusable accounting close checklist

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Top Odoo Partner • LinkedIn

v19.0.1.1.3 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with