Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

Accounting Pro Closing for Odoo 19 Community documentation

A guide to Accounting Pro Closing: close checklists and closing periods, the review and the automatic checks, closing and reopening with the lock dates of Odoo, the audit log, the year-end closing entry and the profit appropriation, and the Close Status report on screen, in PDF and in Excel.

Documents version 1.0.0Updated Oct 29, 2026

Start here

In plain words: Accounting Pro Closing and Close Checklist adds the month-end, quarter-end and year-end close to Accounting Pro. You work through closing periods, each with a checklist of manual tasks and automatic checks, and you close and reopen a period through the lock dates of Odoo, with an audit log that nobody can change. At the year end a wizard makes the closing entry, with its reversal, and the profit appropriation. A Close Status report (on screen, as a PDF and in Excel) and a Month-end close card on the dashboard show where every close stands.

Who it is for: accountants, finance managers and controllers who close the books, and auditors who ask how and when they were closed. The add-on counts and lists what is in the way and never corrects an entry. It posts only the year-end closing entry (and its reversal) and the profit appropriation, and it moves the lock dates when you close or reopen a period. It is an accounting tool, not legal advice: closing rules and reserve limits depend on the law that applies to your company, so check them with your auditor.

The examples: the pictures show two demo companies on 28 October 2026. Atlas Trading Co. (USD, fiscal year = calendar year) has the 17 closing periods of 2026: January to September and Q1 to Q3 are closed, October is under review, the rest is open. Atlas Logistics LLC, a sister company (USD, fiscal year ending 30 June), made the closing entry of its year 2024-2025 on 2 September 2025 and appropriated the profit on 25 September 2025; its year 2025-2026 is not closed yet. Omar Khalid (accountant), Layla Hassan (finance manager) and Amira Saleh (administrator) are the people you see. The numbers in the text are the numbers in the pictures. Menu paths start at the menu bar of the Accounting app.

Tip: To see it at work, open Reporting → Management → Close Status: one line per closing period shows where each close stands.
The add-on in four views: the close checklist of October 2026, Close Status on screen, the preview of a year-end closing and Close Status as a PDF.
The add-on in four views: the close checklist of October 2026, Close Status on screen, the preview of a year-end closing and Close Status as a PDF.

What you get

In plain words: A close is a list of things to check, a date after which nobody posts, and a record of who did what. The add-on gives you the three, and the year-end entries on top.
FeatureWhat it does
Closing periodsMonths, quarters and fiscal years, made for a whole fiscal year in one step: Open, In review, Closed, Reopened.
ChecklistsTemplates of tasks (Month-end close comes with the add-on). Each task has an assignee, a due date and, if you want, an Accounting Pro report that opens on the dates of the period. Mandatory, or optional and skipped with a reason.
Ten automatic checksThey count what is in the way: draft entries and invoices, unreconciled bank transactions, the trial balance, suspense accounts, items without a partner, entries added to closed periods and the year-end entry. Depreciation and VAT returns need their add-ons.
Review and remindersThe checks run when the review starts, on demand, every day and at the close. An overdue mandatory task gets a reminder.
Close in order, reopenA period closes when its mandatory tasks are done, by default after the earlier ones. Closing managers reopen it with a reason.
Lock dates, the supported wayA close moves the lock dates you choose through the company record of Odoo, so its own checks run. A reopening moves them back.
Audit logWho, when, why and the lock dates before and after. Nobody can change or delete a line.
Year-end closingA wizard with a preview makes one entry that brings every income and expense account to zero and puts the result on the retained earnings account. It can be reversed.
Profit appropriationThe statutory reserve (with its limit), dividends, other reserves and the remainder in one entry, which can be reversed.
Reports that know the closingThe profit and loss, cash flow, ratios, changes in equity and the dashboard keep the real profit of a closed year. The balance sheet, trial balance and ledgers show the books after the closing.
Close Status and the cardA report with one line per period (screen, PDF, Excel, favorites, schedules) and a Month-end close card on the dashboard.
Settings, groups, ArabicSettings for each company, two access groups, translated. Period names are written in every installed language.

Requirements

In plain words: The add-on needs Accounting Pro version 1.0.2 or later, and through it Accounting. Odoo refuses to install it on an older Accounting Pro: update Accounting Pro first.
ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededAccounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise is needed.
LicenseOPL-1 (Odoo Proprietary License v1.0)

It was built and tested on Odoo 19 Community. It was not tested on Odoo Enterprise, which has its own Lock Dates screen. A few features rely on more:

FeatureWhat it needs
Setting lock dates (Close the period, Reopen)The person who closes must be an accounting Administrator in Odoo. A closing manager without that right can close periods only while the settings set no lock date.
Depreciation posted, VAT return filedThe Fixed Assets and GCC VAT Returns add-ons. Without them the two tasks are greyed in the template and left out of new periods.
PDF fileswkhtmltopdf, as for every Odoo PDF report.
Notes and reminders by emailOdoo sends them by email or in its inbox, as each person's notification preferences say. Email needs an outgoing mail server.

Install

In plain words: Copy the module folder into your addons, restart Odoo and install Accounting Pro Closing and Close Checklist from Apps. Accounting Pro must be installed and up to date.
  1. Unzip the package. Inside is taqnix_accounting_pro_closing.zip; unzip it to get the folder taqnix_accounting_pro_closing.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Accounting Pro Closing and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_accounting_pro_closing --stop-after-init
Tip: Try it on a copy of your database first. The installation changes none of your entries and sets no lock date. It adds menus, two access groups, the template Month-end close, a scheduled action and fields on the journal entry and the company.

Accounting administrators see the new menus at once. Then:

  1. Open Configuration → Settings, block Closing, and choose the lock dates a close sets. With the standard settings a close moves the global lock date. Nothing is locked before you close your first period.
  2. Open Accounting → Closing → Closing Periods and press Create periods for the fiscal year.
  3. Open a period and press Start the review.

Close checklists

In plain words: A checklist template is the list of tasks that every period goes through. The add-on installs Month-end close with 18 tasks, for every company. Change it, copy it or make your own in Configuration → Accounting → Close Checklists (closing managers).

A template has a name, a company (empty: offered to every company), notes and task lines:

ColumnWhat it does
Task, MandatoryThe name, and whether the period can be closed without it. An optional task is skipped with a reason.
Kind, CheckManual: someone presses Done. Automatic check: a check decides (chapter The automatic checks).
Report to openAn Accounting Pro report that the task opens on the dates of the period.
Default assigneeWho gets the task. Empty: the responsible of the period.
Due (days)Days after the end of the period, from -90 to 365.
Months, Quarters, YearsWhich periods get the task. At least one.
DescriptionA hidden column: what to do, shown on the task.

A line that needs an add-on that is not installed (Fixed Assets, GCC VAT Returns) is greyed and left out of new periods; a note under the list says so. Duplicate in the gear menu copies a template with its lines, Archive hides it, and the settings name the default template of each company. A change reaches new periods only: Load the checklist on a period adds the tasks it lacks and never changes or removes one.

The template of the demo. All means months, quarters and fiscal years. Omar Khalid is the default assignee of the first eleven rows and Layla Hassan of the last seven.

TaskKindReportDueFor
Post or delete the draft journal entriesCheck: draft entries–2All
Post the invoices and vendor bills of the periodCheck: draft invoices–2All
Reconcile the bank accountsCheck: bankBank Book3All
Clear the bank suspense and transfer accountsCheck: suspenseGeneral Ledger3All
Give a partner to every receivable and payable itemCheck: partnersPartner Ledger3All
Check that the trial balance balancesCheck: trial balanceTrial Balance4All
Check that nothing was added to the closed periodsCheck: closed periods (optional)–4All
Post the depreciation of the fixed assetsCheck: depreciation (greyed)–2All
Book the accruals and prepaymentsManualTrial Balance3All
Review the aged receivable and follow up the overdue customersManual (optional)Aged Receivable4All
Review the aged payable and plan the paymentsManual (optional)Aged Payable4All
Review the profit and loss against the previous periodManualProfit and Loss5All
Review the balance sheetManualBalance Sheet5All
Review the tax report of the quarterManualTax Report10Quarters
File the VAT returnCheck: VAT (greyed)–28Quarters
Post the year-end closing entryCheck: year-end–60Fiscal years
Review the statement of changes in equityManualStatement of Changes in Equity60Fiscal years
Review the cash flow statementManual (optional)Cash Flow Statement60Fiscal years

A month gets the first 13 tasks. A quarter also gets the tax report review and the VAT return, and a fiscal year the three year-end tasks. With the two greyed tasks left out, a month has 12 tasks, a quarter 13 and the fiscal year 15: the numbers you see in Close Status.

The template Month-end close: 18 tasks with kind, check, report, default assignee, due days and the ticks Months, Quarters, Years. Two tasks are greyed: their a
The template Month-end close: 18 tasks with kind, check, report, default assignee, due days and the ticks Months, Quarters, Years. Two tasks are greyed: their add-ons are not installed in the demo.

Closing periods

In plain words: A closing period is one month, quarter or fiscal year of a company, with its own checklist. Accounting → Closing → Closing Periods lists them, and Create periods makes a whole fiscal year at once.

The list shows the name and type, the end, the status, the progress bar, the open mandatory tasks, the failed checks (red above zero), the close deadline (red when it is past), the responsible, who closed the period and the lock date. Start, Fiscal year, Closed on and Company can be added. Closed periods are grey and periods under review bold. Filters: My periods, Open, In review (reopened ones too), Closed, Not closed, Months, Quarters, Fiscal years, With failed checks, Past the deadline. Group by: Fiscal year (on at the start), Type, Status, Responsible, Company. The second view is a card view by status.

The 17 periods of 2026 of Atlas Trading Co.: nine months and three quarters closed (grey), October in review at 33 %, the rest open. The group line adds up 45 o
The 17 periods of 2026 of Atlas Trading Co.: nine months and three quarters closed (grey), October in review at 33 %, the rest open. The group line adds up 45 open mandatory tasks and 4 failed checks.

Create periods (closing managers) opens a dialog:

  1. Fiscal year of: any day of the fiscal year (with several companies, choose the Company first). It proposes today, or the first day of the next fiscal year when the periods of this one exist already.
  2. Tick Months, Quarters and Fiscal year as you wish (all three at the start).
  3. Choose the Checklist (the default of the company) and the Responsible (you).
  4. Read the blue line, for example 17 periods will be created, 0 exist already, and press Create periods.

The periods follow the fiscal year of the company: 12 months, 4 quarters and the year, named in every installed language (January 2026, Q1 2026, FY 2026). Each gets the tasks of the checklist, with the assignee of the task (the responsible of the period when the template has none) and the due date. Running the dialog again only adds what is missing. All new periods get the same responsible: change it on the period afterwards, as the demo does for the quarters and the year.

Create the closing periods for 2027: months, quarters and year ticked, the checklist Month-end close and the line 17 periods will be created, 0 exist already. S
Create the closing periods for 2027: months, quarters and year ticked, the checklist Month-end close and the line 17 periods will be created, 0 exist already. Shown, not confirmed: the demo has no periods for 2027.

By hand. New makes one period: a month is at most 31 days, a quarter 92, a fiscal year 366. Periods of one type never overlap. Then press Load the checklist. Deleting. A period that was never reviewed can be deleted; one that was reviewed or closed stays for the audit trail.

Reviewing a period

In plain words: Open a period to review it: start the review, run the checks, work down the checklist and close the period. The status bar reads Open, In review, Closed, and Reopened after a reopening.
ButtonWho and whenWhat it does
Start the reviewClosing users, on an Open periodThe status becomes In review, every check runs and the audit log notes Review started. Start when you wish; in the demo Omar Khalid starts the day after the period ends.
Run the checksClosing users, until closedRuns every automatic check.
Load the checklistClosing managers, until closedAdds the tasks of the template that the period lacks.
Close the periodClosing managers, In review or ReopenedChapter Closing a period and the lock dates.
ReopenClosing managers, on a Closed periodChapter Reopening a period.

The form. The smart buttons are Tasks (with their number), Audit log and Close Status (the report of the fiscal year). The fields are the type, dates, company, responsible and template, then Progress, Open mandatory tasks (the period cannot close while there are any), Failed checks, Close deadline and Days left; after a close also Closed by, Closed on, Lock date and Times reopened. Once the review has started, the company, type and dates are fixed. The tabs: Checklist; Lock dates, the lock dates of the company today and Locked now (yes when the global or hard lock date covers the end of the period); Audit log; Notes. The chatter keeps the notes of closes and reopenings.

The checklist. One row per task: name, a tick when mandatory, assignee (you can change it here), due date (red when overdue), result and status. Rows are green when done, red when a check fails and grey when skipped. The buttons: Done (a manual task), Check (runs a check), Show (opens the records of a failing check), Report (opens the report on the dates of the period), Skip (an optional task: a dialog asks the reason, which goes to the audit log; a mandatory task is never skipped) and Reset (a done or skipped task goes back to To do).

A manual task goes To do, In progress (the button Start of its form), Done. An automatic task has no Done button: it is Done exactly while its check passes, and goes back to To do when the check fails again. The Result reads Passed or, for example, 3 to fix. Failed checks counts tasks, not records.

October 2026 under review: 33 %, 6 open mandatory tasks, 4 failed checks, 8 days left. The checks of draft entries (3 to fix), draft invoices and bills (6), ban
October 2026 under review: 33 %, 6 open mandatory tasks, 4 failed checks, 8 days left. The checks of draft entries (3 to fix), draft invoices and bills (6), bank (3) and suspense (1) fail; three checks passed, the accruals are done.

The automatic checks

In plain words: An automatic check counts what is in the way of a close. It never fixes anything: Show opens the records it counts, you correct them, and the check passes. There are ten.
CheckWhat it countsIt passes when
No draft journal entries in the periodDraft journal entries dated in the period.There are none.
No draft invoices or bills in the periodDraft invoices, credit notes, bills and receipts, by invoice or bill date (accounting date when it has none).There are none.
Bank transactions reconciled up to the end dateUnreconciled bank transactions up to the end date: the rule Odoo applies before a global lock date, branches included.There are none.
The trial balance balances at the end dateThe posted items up to the end date: debit against credit.They are equal. Odoo refuses unbalanced entries, so it fails only after imports made outside Odoo.
Bank suspense and transfer accounts are zeroThe posted balance at the end date of the suspense accounts of the active bank, cash and credit card journals, and of the suspense and internal transfer accounts of the company.Every one is at zero.
Receivable and payable items have a partnerPosted receivable and payable items of the period without a partner.There are none.
No entries added to closed periods after their closeEntries dated in another closed period and created after its close.There are none.
The year-end closing entry is postedA posted year-end closing that ends on the last day of the period, and every income and expense account of that year once the closing entries are counted.The closing is posted and those accounts are at zero.
Depreciation posted (Fixed Assets add-on)Unposted depreciation lines of running assets, up to the end date.There are none.
VAT return filed (GCC VAT add-on)The filed VAT returns that cover the period.They cover every day of it.

Show opens the records counted: for the trial balance the entries that do not balance, for the year-end check the closing or the accounts left open, for the VAT check the returns of the period. The result reads Passed, N to fix or Not passed. Not applicable: the add-on is not installed counts as passed. You are not allowed to read what this check counts means that the check ran with your access rights and the task is not done.

When they run: when the review starts, when you press Check or Run the checks, every day (the scheduled action Accounting Pro Closing: run the checks of the periods under review) and again when you close the period. Who they run as: the checks you start use your access rights, so the record rules of Odoo apply; the daily run is done by the system. A check counts the records of the company of the period only.

What a check cannot see: No entries added to closed periods does not see an older entry whose date was moved into a closed period, and the suspense check ignores archived journals.

My close tasks

In plain words: Accounting → Closing → Close Tasks lists the tasks of all the periods. It opens on My tasks and To do: what you have to do now.

Each row shows the period, the task, whether it is mandatory, its kind, the assignee, the due date (red when overdue), the result, the status and the buttons Done, Check, Show and Report. Filters: My tasks, To do, Done, Skipped, Mandatory, Automatic checks, Failed checks, Overdue. Group by: Period, Assignee, Status.

The task form adds the other buttons: Start (a manual task that is To do), Mark as done, Run the check, Show the items, Open the report, Skip (an optional task) and Reset to do. For an automatic task a block Check gives Check passed, Items to fix, Check result and Checked on. Under them come the description and your Notes for the reviewers.

Closing users change the assignee and the notes. Closing managers also change the name, the due date and the report, and Mandatory while the period is still Open. Nothing changes once the period is closed: reopen it first.

The daily reminder. Every day Odoo looks at the periods under review. For each mandatory task that is not done, is past its due date, has an assignee and was not reminded yet, it creates one activity Overdue close task: … on the period, for the assignee, due today.

Closing a period and the lock dates

In plain words: Close the period locks the books up to the end of the period. Closing managers press it, Odoo asks for a confirmation, and nothing is locked while a mandatory task is open.
  1. The checks run again.
  2. Every mandatory task must be done. If not, nothing changes and the message lists the tasks with the result of their check.
  3. With Close periods in order (the standard) the earlier periods of the same type and the shorter periods inside this one must be closed first: a quarter waits for its months, a fiscal year for its months and quarters. The message names them.
  4. The lock dates chosen in the settings move forward to the end of the period. The change goes through the company record of Odoo, so the checks of Odoo run: it refuses a global lock date while bank transactions before it are not reconciled, and a hard lock date while draft entries exist before it. A lock date that is already later stays.
  5. The period is Closed: Closed by, Closed on and Lock date (the global lock date after the close, or the hard lock date when that is later) are filled in, a green ribbon shows, the audit log gets a line with the change of the lock dates, and a note in the chatter tells the responsible person.

Who may. Only accounting administrators may change lock dates; otherwise Odoo answers Only accounting administrators may change the lock dates. A closing manager without that right can close periods only while the settings set no lock date.

From then on the lock date rules of Odoo protect the period: an entry posted with a date in it is moved by Odoo to the first open day. The year-end entries must keep their date, so they are refused instead.

At the year end close January to November, run the year-end closing once every entry of the year is posted, then close December, Q4 and the fiscal year. The mandatory task Post the year-end closing entry of the fiscal year then finds the closing posted.

September 2026 closed by Layla Hassan on 3 October, lock date 30 Sep. The Audit log tab shows Period closed (Global lock date: 08/31/2026 → 09/30/2026) above Re
September 2026 closed by Layla Hassan on 3 October, lock date 30 Sep. The Audit log tab shows Period closed (Global lock date: 08/31/2026 → 09/30/2026) above Review started on 1 October; the chatter has the same note.

Reopening a period

In plain words: Reopen gives a closed period back to the accountants: the lock dates move back and entries can be posted in it again. A reason is required and stays in the audit log.
  1. Open the closed period and press Reopen (closing managers).
  2. Type the reason and press Reopen in the dialog.
  3. Make the corrections, run the checks and close the period again.
What changesHow
Lock datesThe lock dates that the closing manages move back to the end of the latest other closed period, or to the value they had before the first close. They move for everyone and for good: no temporary exception is created.
StatusReopened (blue ribbon), and Times reopened goes up by one. The tasks keep their status.
Audit log, chatterA line Period reopened with the reason and the lock dates before and after (and Still locked by when another lock date still covers the period), and a note for the responsible person.

It is refused when a later period, or the quarter or year that ends the same day, is still closed (the message names it: reopen it first), when the hard lock date covers the period (a hard lock never goes back), when the reason is empty and when the period is not closed.

While the setting Global lock date is on, a global lock date that someone set by hand after the close moves back too; the audit log and the history of the company show it. A lock date that the closing does not manage stays.

The dialog Reopen September 2026 with the reason Late supplier invoice from Jebel Ali Warehousing for September. Shown, not confirmed: September stays closed in
The dialog Reopen September 2026 with the reason Late supplier invoice from Jebel Ali Warehousing for September. Shown, not confirmed: September stays closed in the demo.

The close audit log

In plain words: Accounting → Closing → Close Audit Log lists what happened to the periods and the year-end closings. Nobody can change or delete a line through Odoo, not even an administrator.
EventWritten when
Review startedThe review of a period starts.
Period closed, Period reopenedA period closes or reopens: with the lock dates before and after and, for a reopening, the reason.
Task skippedAn optional task is skipped: its name and the reason.
Year-end closing entry createdThe wizard makes the entry: the net result and the number of lines, and the reason when the year was closed with draft entries.
Year-end closing entry posted, cancelled, reversedThe status of a year-end closing changes, also when the entry is posted or cancelled from the journal entry.
Profit appropriated, Profit appropriation reversedThe appropriation is made (with its explanation) or reversed (with the reason).

Columns: When, Period or year, Event, By, Reason, Lock dates, Description (hidden at first) and Company. Filters: Closes, Reopenings, Year-end. Group by: Event, User, Company. Each line keeps the name of its period or year as it was. A period and a year-end closing also show their own lines on an Audit log tab.

Close Status report

In plain words: Close Status shows every closing period on one screen: how far each close has come, what is open and who closed it. Reporting → Management → Close Status, or the button Close Status of a period. The screen, the PDF and the Excel file give the same table.

Controls. Date is the range (this fiscal year at the start): a period is listed when it overlaps it. Periods keeps months, quarters, fiscal years or all. Show the open tasks lists, under each period that is not closed, its tasks that are not done or skipped. The report has no amounts, so it has no posted-entries switch and no comparison.

Rows. With several companies there is one section per company. Each fiscal year has a summary line (for example 12 of 17 closed, the progress, the tasks done, the open mandatory tasks and the failed checks), then its periods, then a Total. A period shows its type, status, progress, tasks done, open mandatory tasks and failed checks (a click on a number lists those tasks), the responsible, the deadline (periods not closed), who closed it, when, and the lock date. A click on the name opens the period.

Close Status for 2026: 12 of 17 closed, 71.6 % (151 of 211 tasks), 45 open mandatory tasks, 4 failed checks, and under the table the note on progress and the lo
Close Status for 2026: 12 of 17 closed, 71.6 % (151 of 211 tasks), 45 open mandatory tasks, 4 failed checks, and under the table the note on progress and the lock dates of the company.

Notes and warnings. A note explains the progress and gives the lock dates of each company. Warnings appear when no period is in the range, when more than 600 periods match (the latest 600 are shown: choose a shorter range), when periods are not closed after their deadline, and when closed periods are no longer covered by the lock dates of the company.

July to December, months only, with Show the open tasks: 3 of 6 closed, 55.6 % (40 of 72 tasks), 24 open mandatory tasks. Under October each open task shows Man
July to December, months only, with Show the open tasks: 3 of 6 closed, 55.6 % (40 of 72 tasks), 24 open mandatory tasks. Under October each open task shows Mandatory or Optional, its status, assignee and due date.

PDF, Excel, favorites and schedules

In plain words: Close Status has the tools of every Accounting Pro report: PDF and Excel buttons, favorites, scheduled reports by email and the financial package. The guide of Accounting Pro describes them; here is what is particular.

PDF. A4 landscape: logo, company, title, range and filters (Periods: Months, quarters and years), the table, and a footer with the company, the person who printed, the date and the page. For a full year the English PDF needs two pages because the names wrap.

Page 1 of 2 of the Close Status PDF for 2026: logo, title, the filter Periods: Months, quarters and years, the table down to August 2026 and the footer with the
Page 1 of 2 of the Close Status PDF for 2026: logo, title, the filter Periods: Months, quarters and years, the table down to August 2026 and the footer with the person who printed it.

Excel. One sheet, Close Status. The period names are links that open the period in Odoo, the progress and the counts are real numbers, and the notes are at the bottom.

The workbook of the same report: header lines, the table with the period names as links, the Total line and the two notes.
The workbook of the same report: header lines, the table with the period names as links, the Total line and the two notes.

Favorites, schedules, package. A favorite saves the range, the choice of periods and Show the open tasks. A scheduled report can send Close Status every month to the finance manager. In the Financial Package the report is in the list (not ticked at the start) and takes the period of the package.

The year-end closing

In plain words: The year-end closing brings every income and expense account of a fiscal year to zero with one entry and puts the result on the retained earnings account. Accounting → Closing → Year-end Closings lists the closings; the button Close a fiscal year (closing managers) opens the wizard.

The list shows the closing, the dates of the year, income, expenses, net profit (red for a loss), the retained earnings account, the closing entry, the appropriation and the status (Draft, Posted, Reversed or Cancelled). Filters: Posted, Draft, Reversed or cancelled.

  1. Choose. Fiscal year of is any day of the year; it proposes the last year that has ended. Closing journal: empty, the first closing creates a general journal Year-end Closing, code CLOSE. Retained earnings account: the setting, else the account of type Current Year Earnings. Keep the analytic distribution, and Post the entry (on at the start; untick it to leave the entry in draft).
  2. Press Preview: Income, Expenses, Net profit (loss), the Lines of the entry and every income and expense account with its balance, closing debit and closing credit.
  3. Press Create the closing entry and confirm, or Back.

What stops a closing. A red box lists the problems: the year has not ended (it can be closed from its last day on), it is already closed (reverse that closing or cancel its draft entry first), the closing date is locked, accounts with a balance in the year are archived, or the retained earnings account is not an equity account of the company. An orange box counts the draft entries dated in the year. They are not part of the closing: post or delete them, or type the reason, which goes to the audit log. A year whose accounts are all at zero already is refused too: there is nothing to close.

Order. The closing date is the last day of the year, so it must not be locked: run the closing before you close the last month, or reopen the periods that lock that day. Odoo would move the entry to another day, so the wizard refuses instead.

The preview for Atlas Logistics LLC, 1 July 2025 to 30 June 2026: income 925,400.00, expenses 653,240.00, net profit 272,160.00, 8 lines and each account with i
The preview for Atlas Logistics LLC, 1 July 2025 to 30 June 2026: income 925,400.00, expenses 653,240.00, net profit 272,160.00, 8 lines and each account with its balance. Shown, not confirmed: the year is not closed in the demo.

The closing entry and its reversal

In plain words: The wizard makes one journal entry, dated the last day of the year, in the closing journal. It carries the ribbon Year-end closing, its field Year-end closing links it to its closing, and the filter Year-end closing entries of the Journal Entries search lists every year-end entry.
Part of the entryWhat it does
One line per accountEvery income and expense account of the year back to zero: a credit balance (income) is debited, a debit balance (expense) is credited. With Keep the analytic distribution, one line per account and distribution.
The resultOne line on the retained earnings account, Result of the fiscal year …, with the net profit or loss.
Foreign currency, analyticAn account kept in another currency is closed in that currency. The entry creates no analytic items.
The closing entry CLOSE/24-25/06/0001 of 30 June 2025: 400100 Freight Services debited 801,000.00, the six cost and expense accounts credited (342,700.00, 102,0
The closing entry CLOSE/24-25/06/0001 of 30 June 2025: 400100 Freight Services debited 801,000.00, the six cost and expense accounts credited (342,700.00, 102,000.00, 16,200.00, 540.00, 115,200.00, 24,000.00) and 999999 credited 200,360.00.

The year-end closing form shows the year, the journal, the account, the figures and the entries, a yellow warning when the year was closed with draft entries, and the tabs Profit appropriation and Audit log. Its smart buttons open the Closing entry, the Appropriation, the Profit and Loss and the Balance Sheet of the year.

ButtonWhat it does
Post the closing entryPosts a draft closing (closing managers), only while it still closes the year: every income and expense account at zero. If entries were posted in the year since the draft was made, or the draft was edited, Odoo says it no longer closes the year: delete it and run the wizard again.
CancelCancels a draft closing. The year can be closed again.
Reverse the closingAsks for a reason and posts a reversal on the same day (ribbon Closing reversed). The year can be closed again. Refused while an appropriation is posted or in draft: reverse that first.

A posted closing entry or reversal can never be reset to draft. The button Reverse of Odoo is hidden on every year-end entry (the appropriation too), its Reset to Draft on the closing and its reversal, and Odoo refuses its own reversal on all of them. Only closing managers post, cancel, reset or delete a year-end entry, whichever screen they use, and a lock date never moves such an entry to another date.

Profit appropriation

In plain words: Appropriate the profit shares the profit of a closed year between the statutory reserve, the dividends, other reserves and what remains. It is one entry, usually dated the day the general assembly approves the accounts. The button is on the year-end closing once the closing is posted and the year made a profit.
Important: This is an accounting tool, not legal advice. The reserve percentage and its limit are settings, not rules that the add-on knows, and the law differs by country and changes. Check them, and the other rules that apply to your dividends and reserves, against the current law that applies to your company and with your auditor before you post.
Block of the dialogFields
YearNet profit of the year. Date of the entry: from the end of the year to today (it starts as the closing date). Post the entry.
Statutory reserveReserve (% of the profit) and Until the reserve reaches (% of the capital), from the settings; 0 means no limit. The Share capital account and Share capital, the Statutory reserve account and Reserve before (balances at the date), and the Statutory reserve that results.
Dividends and other reservesDividends with a Dividends payable account (a liability), Other reserves with an Other reserves account (equity). An account is required for each amount.
Retained earningsRemainder to retained earnings, and Remainder to: an equity account. Empty, the remainder stays on the retained earnings account of the closing.

A blue line explains the reserve. Without the share capital account the limit cannot be applied and the line asks you to choose it. The dialog refuses reserves and dividends above the profit, a negative amount, a missing account and a date outside the range. The button is offered only for a posted closing with a profit and no appropriation yet.

Profit appropriation of 2024-2025 with the demo's dividends 120,000.00 and other reserves 20,000.00 typed in: 10 % of the profit is 20,036.00, but the reserve s
Profit appropriation of 2024-2025 with the demo's dividends 120,000.00 and other reserves 20,000.00 typed in: 10 % of the profit is 20,036.00, but the reserve stops at 50 % of the capital (150,000.00) and holds 140,000.00, so 10,000.00 more; remainder 50,360.00. Shown, not confirmed.

The entry takes the profit off the retained earnings account into the reserve, the dividends payable, the other reserves and, when you chose an account, the remainder. It is not flagged as a closing entry: it is a real movement of equity and appears in every report. Reverse the appropriation (a reason is required) posts a reversal on the date of the entry. Do it before you reverse the closing.

The year-end closing 2024-2025, posted, with the tab Profit appropriation: entry CLOSE/25-26/09/0001 of 25 September 2025, reserve 10,000.00, dividends 120,000.
The year-end closing 2024-2025, posted, with the tab Profit appropriation: entry CLOSE/25-26/09/0001 of 25 September 2025, reserve 10,000.00, dividends 120,000.00, other reserves 20,000.00, remainder 50,360.00.

How the reports treat the closing entries

In plain words: After a closing, the income and expense accounts are at zero on the last day of the year. A report of a period would show no profit, so Accounting Pro leaves the closing entries out of it. A report of a date and the ledgers include them: they are in the books.
ReportClosing entriesWhy
Profit and LossLeft outA report of a period: the closed year keeps its real income, expenses and profit, comparison and columns included.
Cash Flow Statement, Financial RatiosLeft outThey read the income and expenses of the period.
Statement of Changes in EquityLeft outThe profit of the period is a change of its own. The equity at the end still equals the balance sheet.
Profit and Loss by Analytic AccountLeft outA closing entry creates no analytic items; its total column leaves the entry out.
Custom Statements, A period; Accounting DashboardLeft outFigures of a period, like the profit and loss.
Balance Sheet, Custom Statements A dateIncludedThe books at a date: the profit moves from current year earnings to the retained earnings, every total stays the same.
Trial BalanceIncludedThe trial balance after the closing: income and expense accounts at zero, the result on the retained earnings account.
General Ledger, Day Book, Cash Book, Bank Book, Journals AuditIncludedThey list every entry; the closing entry is in its own journal.
Partner Ledger, Partner Balances, Aged Receivable, Aged Payable, Tax ReportIncludedA closing entry has no partner, no receivable or payable line and no tax: nothing changes.

The option. The Balance Sheet, Trial Balance and General Ledger have an option Year-end closing entries: Included (after closing) at the start, or Left out (before closing) for the books as they were before the closing. The drill-downs follow the same rule, so the journal items you open add up to the figure. The appropriation is a real entry and appears everywhere.

Other reports. A report of another add-on leaves the closing entries out when its class declares it (the Profitability add-on does); otherwise it reads them like a ledger. For developers: a report of a period sets _exclude_closing_entries = True; the entry carries accc_is_closing (true on closing entries and their reversals, empty elsewhere: in SQL test IS NOT TRUE) and accc_closing_type (closing, reversal or appropriation). Reports outside Accounting Pro know nothing about this and include the closing entries: the profit and loss of a closed year reads zero there.

The profit and loss of Atlas Logistics LLC for 2024-2025 after the closing: income 801,000.00, gross profit 458,300.00, operating expenses 257,940.00, net profi
The profit and loss of Atlas Logistics LLC for 2024-2025 after the closing: income 801,000.00, gross profit 458,300.00, operating expenses 257,940.00, net profit 200,360.00, although the closing entry brought these accounts to zero on 30 June 2025.

The Month-end close card

In plain words: The Accounting Dashboard of Accounting Pro (Reporting → Accounting Dashboard) gets one more card, Month-end close: how far the month being closed has come, and how many days are left.

Which month. The oldest past month that is not closed yet; when every past month is closed, the current month. The company needs at least one monthly closing period and you need the right to read periods, or there is no card.

What it shows. The big figure is the progress of that month (100 % when closed). Under it the days left before its deadline (October 2026: 8 days left), due today, 3 days late or closed. The curve is the progress of the last twelve months, 100 for a closed month. A click opens Close Status. The income, expense and profit cards of the dashboard leave the closing entries out.

The Accounting Dashboard on 28 October 2026 with the card Month-end close: 33 %, October 2026: 8 days left, and the curve of the months.
The Accounting Dashboard on 28 October 2026 with the card Month-end close: 33 %, October 2026: 8 days left, and the curve of the months.

Settings

In plain words: The close is set for each company: the lock dates a close sets, the checklist, the year-end closing and the statutory reserve. Configuration → Settings, block Closing of the Accounting settings, after the block Accounting Pro.
SettingWhat it does
Close periods in orderOn at the start. A period closes after the earlier ones, and a quarter or a year after the periods inside it.
Lock dates set by a closeGlobal lock date (on at the start), Tax return lock date and Sales and purchase lock dates (off). A close moves the ticked ones to the end of the period.
Hard lockNever at the start, When a fiscal year is closed or At every close. A hard lock date can never be moved back: those periods can never be reopened. A warning shows under the field.
Lock dates of the companyRead only: the five lock dates today. Odoo Community has no screen to change them; the closes do.
Default checklist, Close deadlineThe checklist of new periods, and the days after the end of a period by which it should be closed (0 to 90, 5 at the start).
Closing journal, Retained earnings accountEmpty journal: the first closing creates Year-end Closing. Empty account: the account of type Current Year Earnings. It must be an equity account.
Keep the analytic distributionThe closing entry closes every account per analytic distribution, so ledgers filtered on an analytic account are closed too.
Statutory reserve, Until the reserve reachesStatutory reserve (% of the profit) 10.00 and Until the reserve reaches (% of the capital) 50.00 at the start, between 0 and 100; 0 means no limit.
Reserve accountsShare capital, Statutory reserve, Other reserves and Retained earnings (remainder) are equity accounts, Dividends payable a liability account. The appropriation dialog starts with them.
Important: The reserve is your setting, not the law. The text next to it gives examples from the UAE and from a former KSA Companies Law. They are examples, not a statement of the law in force. This is an accounting tool, not legal advice: check the percentages, the limit and the accounts against the current law that applies to your company, and with your auditor.

The settings take effect when a period is closed or reopened; changing them moves no lock date. The block belongs to a company: switch company to set another one. It is shown to accounting administrators; the Settings menu itself is for Settings administrators.

Settings, block Closing of Atlas Trading Co.: closing in order, global lock date only, hard lock Never, checklist Month-end close, deadline 5 days, retained ear
Settings, block Closing of Atlas Trading Co.: closing in order, global lock date only, hard lock Never, checklist Month-end close, deadline 5 days, retained earnings account 999999, reserve 10.00 until 50.00 of the capital.

Who can do what

In plain words: Two groups of the add-on, on top of the reports group of Accounting Pro. Most people never need to touch them: the accounting administrators of Odoo are closing managers already, and the users of Show Full Accounting Features are closing users.
GroupWho has itWhat it allows
Accounting Pro: reportsThe accounting administrators and the users of Show Full Accounting Features; anyone you add.Open Closing Periods, Year-end Closings and Close Status, and read the periods, their tasks, the year-end closings and the audit log. Read only.
Accounting Pro: closingThe users of Show Full Accounting Features; anyone you add. It includes the reports group.Everything above, and: start a review, run the checks, do the tasks (Start, Done, Check, Skip, Reset), change the assignee and notes of a task and the notes of a period, and open Close Tasks and Close Audit Log.
Accounting Pro: closing managerThe accounting administrators; anyone you add. It includes closing.Everything above, and: manage the checklists, create, change and delete periods, load a checklist, close and reopen, change the name, due date, report and (while the period is Open) Mandatory of a task, run the year-end closing, post or cancel its entry, reverse it, appropriate the profit and reverse the appropriation.

Lock dates. Changing a lock date, which a close and a reopening do, also needs the accounting Administrator right of Odoo. Giving a group. Open Settings → Users, the user, tab Access Rights. The accounting role Administrator includes both closing groups; the groups themselves are listed under Extra Rights, which Odoo shows in developer mode.

Records. Periods, tasks, year-end closings and the audit log are those of the companies ticked in the company switcher; checklists are those of your companies and those made for every company. The status of a period or a task and the closing flags of an entry change through the buttons only: any other route, a call from outside Odoo included, is refused. Only closing managers post, reset, cancel or delete the closing entry, its reversal and the appropriation, whichever screen they use. The audit log is written by the add-on only.

How the figures are computed

In plain words: Every number of the close comes from the tasks of a period or from the posted journal items of the company, with these rules.
FigureRule
ProgressThe tasks done or skipped divided by all the tasks of the period, in percent with one decimal.
Open mandatory tasks, failed checksThe mandatory tasks that are not done. The automatic tasks that were checked, do not pass and are not skipped (tasks, not records).
Deadline, days leftThe end of the period plus the Close deadline of the settings. Days left is the deadline minus today.
Lock date of a closeThe global lock date after the close, or the hard lock date when that is later.
Year-end balancesThe posted items of the company in the fiscal year on income and expense accounts (Income, Other Income, Cost of Revenue, Expenses, Depreciation, Other Expenses), earlier closing entries and their reversals left out. Each account (and analytic distribution, when kept) gets debit minus credit in the currency of the company, rounded.
Income, expenses, net profitIncome is minus the balances of the Income and Other Income accounts. Expenses are the balances of the other accounts. Net profit is income minus expenses. Computed when the entry is created and checked again when it is posted.
Statutory reserveThe profit times the percentage, rounded to the currency. With a limit and a share capital account it cannot pass the limit percentage of the capital less the reserve already held, both at the date of the entry (credit minus debit of the posted items).
RemainderThe profit minus the reserve, the dividends and the other reserves.
ReportsThe closing entries are found once for each report, and the drill-downs use the same condition.

The add-on comes with 118 automated tests of its own (643 together with those of Accounting Pro). Among them: every Accounting Pro report before and after a closing compared with an independent SQL query, several years in a row, a fiscal year that ends in March, several currencies and an account kept in euros, and the analytic distribution kept.

Limits

In plain words: What the add-on does not do, and the cases that need care. Read this chapter before you rely on a lock date, a closing entry or a reserve.
Important: An accounting tool, not legal advice. Closing rules, lock dates, statutory reserves and dividends depend on the law that applies to your company, and the law changes. The percentages are settings. Check them, and the closing rules, against the current law and with your auditor before you close a year or post an appropriation.

Requirements and lock dates

LimitDetail
VersionsAccounting Pro 1.0.2 or later; the installation is refused on an older one. Built and tested on Odoo 19 Community. Odoo Enterprise, with its own Lock Dates screen and financial reports, was not tested.
How lock dates changeOnly through the company record of Odoo, with its own checks. Odoo 19 Community has no Lock Dates screen: the closes and reopenings change them. The add-on has no screen and no lock date exceptions of its own: reopen instead.
WhoOnly accounting administrators. A closing manager without that right closes only while the settings set no lock date.
Hard lockIt never moves back (a rule of Odoo): a period it covers can never be reopened. Off at the start.
Forward and backA close only moves forward. A reopening moves back to the end of the latest other closed period, for everyone and for good, and also moves back a global lock date set by hand after the close (while the setting Global lock date is on).
OrderA period cannot be reopened while a later period, or the quarter or year that ends the same day, is closed.
Refusals of OdooOdoo refuses a global lock date while bank transactions before it are unreconciled, and a hard lock date while draft entries exist before it: the close then stops with its message.
BranchesBranches inherit the lock dates of their parent in Odoo, but most checks count the records of the company of the period only.

Periods and checklists

LimitDetail
Period typesMonths, quarters and fiscal years, of at most 31, 92 and 366 days. No weekly or custom periods.
Create periodsIt follows the fiscal year of the company, adds only what is missing and assumes twelve months: a short first year is not split.
Closed periodsA closed period and its tasks cannot be edited: reopen it first. A reviewed or closed period cannot be deleted.
TasksA mandatory task is never skipped; an optional one is skipped with a reason. Closing users change assignees and notes, managers the rest; a task becomes mandatory or optional only while its period is Open.
Tasks of other add-onsDepreciation posted and VAT return filed exist only with the Fixed Assets and GCC VAT Returns add-ons.
Notifications, namesNotes in the chatter and one activity per overdue mandatory task, delivered by Odoo; no email templates of its own. Names are written in the languages installed when they are created.
AccrualsThe checklist reminds you of accruals and adjustments but posts none. The only entries the add-on posts are the year-end closing, its reversal and the appropriation.

Automatic checks

LimitDetail
They do not fixThey count and list, for the company of the period only, as the user (the daily run is done by the system).
What they missNo entries added to closed periods does not see an older entry whose date was moved into a closed period. The suspense check covers the active bank, cash and credit card journals, not archived ones.
Trial balancePosted items at the end date. Odoo refuses unbalanced entries, so it fails only after imports made outside Odoo.
A year with nothing to closeIt can never pass the mandatory year-end task. Before the review of the fiscal-year period starts, a closing manager can make that task optional and skip it with a reason; once the review has started, the screens offer no way around it.

Year-end closing and appropriation

LimitDetail
One closing a yearOne closing entry for each company and fiscal year, dated its last day; the reversal the same day. A year can be closed from its last day on.
Locked dateThe closing date must not be locked: close the year before the last month, or reopen it.
Archived accounts, draftsArchived accounts with a balance in the year block the closing: unarchive them. Draft entries block it unless a reason is given; they are not part of the closing.
ReversalA closing is reversed only from its year-end closing, and only after its appropriation has been reversed.
Analytic, companies, periodsClosing entries create no analytic items. The closing works for one company: no consolidation, no eliminations. It does not close periods or set lock dates; the checklist of the fiscal-year period checks it.
The percentagesThe statutory reserve percentage and its limit are settings, 10 % of the profit until the reserve reaches 50 % of the capital at the start. The text next to them gives examples from the UAE and a former KSA law, not the law in force. Check them against the law that applies to your company.
Profit, dividends, lossesOnly a year closed with a profit can be appropriated, dated between its end and today. Dividends are booked to a dividends payable account: paying them, withholding tax and the split between shareholders are not handled. A loss is not offset against reserves.

Reports, uninstalling, what was not verified

LimitDetail
ReportsReports of a period leave the closing entries out; the balance sheet, trial balance, ledgers and books include them. A report of another add-on leaves them out only when it declares it. Reports outside Accounting Pro, such as the financial reports of Odoo Enterprise, include them: the profit and loss of a closed year reads zero there.
Close StatusUp to 600 periods, the latest: choose a shorter range beyond that. It has no amounts.
UninstallingThe closing entries stay as ordinary entries: reverse the year-end closings first, or the profit and loss of the closed years reads zero in reports that know nothing about closings. The lock dates stay as they are, because they belong to Odoo.
Not verifiedEmail notifications (the note to the responsible person, the activities) were checked in the database only, not delivered through a real mail server. Depreciation posted and VAT return filed were verified only in a combined installation with their add-ons.
The audit logNobody can change or delete it through Odoo; a database administrator with direct access to the database is outside its protection.

Troubleshooting

In plain words: Most problems come from a right, a status or an order. Read the message first: the add-on says what is wrong.
ProblemWhat to do
I do not see the Closing menusClosing Periods, Year-end Closings and Close Status need the group Accounting Pro: reports or closing. Close Tasks and Close Audit Log need closing, Close Checklists closing manager.
Update Accounting Pro to version 1.0.2 or laterUpdate Accounting Pro first, then install the add-on.
Close the period says mandatory tasks are not doneThe message lists them with the result of their check. Correct the cause (Show on a failed check), press Run the checks and close again.
Close these periods firstClose periods in order is on. Close the earlier periods, or the months of the quarter or year, first, or switch the setting off.
Odoo refuses the lock date (unreconciled bank lines, draft entries before a hard lock date)That is a check of Odoo, which the close goes through. Reconcile or delete the bank transactions, post or delete the draft entries, and close again.
Only accounting administrators may change the lock datesChanging a lock date needs the accounting Administrator right of Odoo. Ask an administrator, or untick every lock date in the settings so that a close sets none.
Start the review of … before you close itA period closes from In review or Reopened: press Start the review first.
Reopen is refusedA later period, or the quarter or year ending the same day, is still closed: reopen it first. Or the hard lock date covers the period, which can never be reopened. A reason is required.
The year-end wizard shows a red boxRead each line: the year has not ended, it is already closed (reverse it or cancel its draft entry), the closing date is locked (reopen the closed periods, or close the year before the last month), accounts with a balance are archived (unarchive them), or the retained earnings account is not an equity account.
The wizard asks for a reasonThe year still has draft entries; they are not part of the closing. Post or delete them, or type the reason.
There is nothing to closeEvery income and expense account of the year is already at zero. The year-end task of the fiscal-year period can then never pass: make it optional before the review of that period starts, and skip it with a reason.
Posting the closing entry says it no longer closes the yearEntries were posted in the year after the draft was made, or the draft was edited. Delete the draft and run the wizard again.
The year-end task fails after the closingAn entry dated in the year was posted after the closing. Show lists the accounts that are not at zero. Reverse the closing and close the year again.
A task is greyed in the templateIt needs an add-on that is not installed (Fixed Assets, GCC VAT Returns). It is left out of new periods.
You are not allowed to read what this check countsThe check ran with your access rights. Ask someone with accounting rights to run it.
A task cannot be skippedOnly optional tasks are skipped, with a reason. A closing manager can make a task optional on its form while the period is Open.
Close Status warns that closed periods are no longer covered by the lock datesThe global lock date was moved back after the close. The audit log and the history of the company show when. Reopen the periods and close them again, in order.
The profit and loss of a closed year reads zeroThe report is outside Accounting Pro and includes the closing entries, or the add-on was uninstalled. Use the Profit and Loss of Accounting Pro.
There is no Month-end close cardThe company needs at least one monthly closing period, and you need the right to read periods.

Updating and removing

In plain words: Replace the folder, run the update, and your periods, tasks and closings stay as they are.

Replace the folder with the new version, restart Odoo and run -u taqnix_accounting_pro_closing. Your periods, tasks, checklists, year-end closings, audit log and settings are kept.

The update reloads the views, menus, access groups and the scheduled action. The template Month-end close is created once and an update does not touch it, so your changes to it stay.

Important: Uninstalling the add-on deletes its own records: the periods and their tasks, the checklists, the year-end closings, the audit log and its settings. Keep what you need first (Close Status as PDF or Excel, an export of the audit log) and delete the favorites and scheduled reports of Close Status. Your journal entries are never deleted: the closing entries, their reversals and the appropriations stay as ordinary entries, so the profit and loss of the closed years reads zero in reports that know nothing about closings. Reverse the year-end closings before you uninstall. The lock dates stay as they are, because they belong to Odoo.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.