Skip to main content
iVentureTeam
Odoo Accounting & Tax

Odoo Month End Close Checklist: Bank, Accruals, Tax and Lock Dates

Odoo month end close checklist for Odoo 19 and 20: bank reconciliation, accruals, deferrals, the monthly tax return, lock dates and ending Excel rebuilds.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 13, 202612 min read3 views
Odoo Month End Close Checklist: Bank, Accruals, Tax and Lock Dates cover

Most finance teams on Odoo still close the month the old way: export the trial balance, fix it in a spreadsheet, then post corrections by hand. Our Odoo ERP support team helps controllers replace that with a close that runs inside Odoo.

Related service: Odoo for finance teams — accounting, tax and reporting automation.

This checklist is for accountants, controllers and finance managers who close monthly in Odoo 19 or 20. It covers the monthly routine only; for the annual steps, such as earnings allocation and the Hard Lock, see our Odoo year end closing checklist.

Odoo month end close checklist at a glance

The Odoo month end close checklist has five stages, and each one maps to a menu in the Accounting app. Odoo's own guide to month-end close in Odoo Accounting says most businesses finish within 3 to 7 days.

StageWhat you doWhere in OdooTypical owner
Cut-offPost or cancel drafts, enter missing bills and expensesJournal Entries, Vendors, ExpensesAccountant
BankMatch every transaction, clear suspenseAccounting dashboard, bank journal cardAccountant
AdjustmentsAccruals, deferrals, depreciation, exchange ratesOrder actions, Deferred reports, AssetsAccountant
ReviewAged balances, balance sheet, P&LReporting menuController
Tax and lockValidate the tax return, set lock datesTax Returns, Lock DatesController or CFO

A simple five-day calendar keeps the close on rails. The days below are illustrative; small teams often finish faster.

  1. Day 1, cut-off: post or cancel every draft dated in the month, chase missing vendor bills, validate employee expenses.
  2. Day 2, banks: fetch the last statement lines, reconcile each bank and card journal, and clear the suspense account to zero.
  3. Day 3, adjustments: post accruals, deferred revenue and expense entries, depreciation and exchange rate entries.
  4. Day 4, review: check aged receivables and payables, the balance sheet and the P&L against last month and budget.
  5. Day 5, tax and lock: review and validate the tax return, then set the Sales, Purchase and Lock Everything dates.

Does Odoo have accounting periods to close each month?

No, Odoo does not have monthly accounting periods to open and close; a month is "closed" when you set lock dates after your checks. Users moving from older ERPs often look for a Close Period button that does not exist.

Instead, you use lock dates under Accounting, Accounting, Lock Dates, plus the Tax Returns list as your recurring close calendar.

The Odoo year-end closing documentation explains that a lock date blocks posting or editing any entry dated on or before it. New entries for a locked date move to the day after the lock date.

So Odoo period closing is really two habits: run the same checks every month, and move the lock dates forward once they pass. If the basics of journals and accounts are new to you, read how Odoo Accounting works first.

How do you do bank reconciliation at month end in Odoo?

Odoo bank reconciliation at month end means every bank transaction up to the last day is matched or written off, and the book balance equals the statement balance. It comes first because every later step depends on it.

Open the bank journal from the Accounting dashboard and click the to-reconcile button. Odoo's bank reconciliation documentation explains that each transaction sits on a suspense account until it is matched, so a non-zero suspense balance means unfinished work.

  • Recurring items: set up reconciliation models for bank fees and similar flows; automated models apply without a click.
  • Odoo 20 matching rules: a new Matching Rules menu sets a payment tolerance and an oldest-first or newest-first order for invoice and bill matching.
  • Run Auto Reconciliation: Odoo 20 adds this to the bank reconciliation gear menu to rerun automatic matching on demand.
  • Proof for the file: the Odoo 20 Bank Reconciliation Summary now lists reconciled and unreconciled receipts and payments up to the period end.

Our Odoo 20 accounting release notes show each of these Odoo 20 changes with screenshots.

How do you post month-end accruals and deferrals in Odoo?

Odoo creates most month-end accruals and deferrals for you from orders and invoice lines, so you review and post instead of typing journal entries. Set the date to the month end and check the accounts before posting.

Accrued expenses and accrued revenue

For goods received but not yet billed, select the purchase orders and use the Accrued Expense Entry action. For goods shipped but not invoiced, use Accrued Revenue Entry on sales orders. The wizard proposes the last day of the previous month and a reversal the next day.

Deferred revenue and deferred expenses

Set start and end dates on invoice or bill lines for subscriptions, rent or insurance. The Odoo deferred revenue documentation offers two modes: entries on validation, or Manually and Grouped.

With Manually and Grouped, click Generate Entries on the Deferred Revenue or Deferred Expense report each month end. Odoo checks once a day for entries to post, so a draft can take up to 24 hours to show as posted.

Depreciation

Odoo creates depreciation entries in draft and posts them on schedule. At month end, look for assets bought on expense accounts and missing from the Assets list, and for draft depreciation dated in the month.

How do you close receivables, payables and foreign currency each month?

Review the aged receivable and aged payable reports, confirm their totals match the control accounts, and update foreign currency balances before you report. Small mismatches here grow into large year-end problems.

  • Aged balances: chase items over 60 days and decide whether a provision is needed, as Odoo's year-end checks suggest.
  • Totals check: aged receivables should equal the customer account balance, and aged payables the vendor balance.
  • Exchange differences: Odoo posts realized gains and losses on payment automatically to the accounts set in Settings.
  • Open foreign balances: revalue them at the month-end rate, as our Odoo multi-currency accounting guide shows step by step.

How do you run the monthly tax return in Odoo?

Set the tax return periodicity once, then each month review the checks, validate the return and let Odoo post the closing entry and set the tax lock. The Tax Returns journal on the dashboard reminds you when a return is due.

The Odoo tax return documentation lists automatic checks before you validate. Each card shows Reviewed, To review or Anomaly.

Tax checkWhat it catches
Bank MatchingBank payments with no bill, a sign of missing purchases
Bill attachmentsBills with no supporting document for an audit
Company dataA missing VAT number or country
Draft entriesDraft invoices and bills still dated in the period
No negative amountNegative VAT lines that some countries reject
Taxes and countries matchingTaxes that do not fit the customer's country

When every check is Reviewed or Supervised, click Validate. Odoo posts the closing entry in the Tax Returns journal and moves the Tax Return lock date. A late bill dated in that period then has its tax moved to the next open period.

Which Odoo lock date should you set each month?

Each month, set the Tax Return lock through the return, then lock Sales and Purchase, then Lock Everything once the controller signs off. Save the Hard Lock for the audited year end, because it can never be undone.

An Odoo forum user asked how to perform monthly account locking in Odoo, including by module. The accepted answer points to lock dates per area plus logged exceptions.

Odoo lock dateMonthly useReversible?
Tax ReturnSet by validating the tax returnYes, with an exception
SalesLock once invoicing for the month is finalYes, with an exception
PurchaseLock once bills and accruals are postedYes, with an exception
Lock EverythingSet after the controller signs off the monthYes, with an exception
Hard LockNot monthly; use for an audited yearNo, never

When a late fix is needed, an Accounting administrator removes the date and sets an exception for one user or everyone, for a set time, with a reason. Odoo logs it in the company chatter, which gives auditors a clean record.

Limit who holds administrator rights in Accounting. Our post on Odoo internal controls covers access, approvals and the audit trail.

Month end close vs year end close in Odoo

Odoo closing routine: Month end vs year end close

The monthly close is a short, repeated routine; the year end adds earnings allocation, the Annual Closing review and often a Hard Lock. Keep them apart so the monthly close stays light.

AreaMonth end closeYear end close
Bank reconciliationEvery journal to month endEvery journal to year end
Accruals and deferralsPosted monthly, reversed next dayFull review against auditor list
TaxMonthly or quarterly returnAnnual corporate tax closing
Lock datesSales, Purchase, Lock EverythingLock Everything, then Hard Lock
EarningsNot neededManual entry to clear Result Brought Forward
Review toolTax return checksAnnual Closing checks in Tax Returns

Odoo vs Excel accounting: how do you stop rebuilding the close in spreadsheets?

Stop rebuilding the close in Excel by fixing the data in Odoo and reporting from Odoo, instead of correcting exports outside it. Each spreadsheet fix that never reaches the ledger returns next month.

Teams usually keep Excel for three reasons: untrusted ledger data, a missing management report, or old habits. Our article on why Odoo users keep spreadsheets after an ERP project breaks down each one.

  • Untrusted data: fix the source, such as wrong product accounts or taxes, rather than adjusting the export.
  • Missing reports: build them in Odoo's report engine or Odoo Spreadsheet linked to live data.
  • Variance checks: compare the month with last month and budget inside Odoo reports.
  • Alerts: flag unmatched bank lines or drafts before the close with Odoo dashboards and alerts.

Not sure why your close drags? The free Odoo health check reviews your version, modules and setup and lists findings.

Month end close by industry

The core checklist is the same everywhere, but each industry has one step that usually slows the close. Plan extra time for that step.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
DistributionGoods received but not billedAccrued Expense Entry on purchase ordersSet receipt and billing rules
ManufacturingWork in progress and stock valueValuation report, work order costingReview costing and accounts
SaaS and subscriptionsRevenue spread over monthsDeferred revenue, Manually and GroupedConfigure deferral accounts
Professional servicesUnbilled time at month endAccrued Revenue Entry, timesheet billingAlign billing with the close
Multi-company groupsIntercompany and currency gapsIntercompany rules, exchange entriesDesign group close order

How iVentureTeam helps with Odoo month end close

Slow month end close? Check your Odoo setup

iVentureTeam sets up and runs the Odoo month end close with your finance team until it takes days, not weeks. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • Close calendar: a day-by-day checklist with owners, matched to your tax periodicity.
  • Ledger clean-up: suspense accounts, unmatched payments, wrong product accounts and old drafts fixed at the source.
  • Automation: reconciliation models, matching rules, deferral settings and accrual routines configured once.
  • Controls: lock date policy, administrator rights and exception rules agreed with your auditor.
  • Training: hands-on Odoo ERP training so your team runs the close alone.

Odoo month end close case study: Fernando Tax Management

A Dutch tax practice drowning in duplicate manual entries moved to Odoo 18 and cut manual data entry by 60%. Founded in 2008, the firm had outgrown a rigid legacy system.

Manual entry across systems produced duplicate and inconsistent records that staff reconciled by hand. Journal entry creation, sales workflows and cost tracking were slow, and reports had translation gaps.

We migrated the firm to Odoo 18 in 10 weeks, built an office cost tracking workflow in Sales and Purchase, fixed a hidden journal lines issue and built localized tax reports for the Netherlands and Curaçao.

Leadership now works from real-time insights in one system instead of reconciled spreadsheets. Read the Fernando Tax Management Odoo accounting automation case study.

The bottom line on Odoo month end close

A fast Odoo month end close comes from the same five steps every month: cut-off, banks, adjustments, tax return and lock dates. The tools are already in Odoo 19 and 20.

If your close still takes weeks, the cause is usually ledger data, not the software. Fix the data once, automate the repeat work and lock each month on schedule.

Ready to shorten your month end close?

Plan a faster month end

Get a close calendar and ledger review from consultants who run Odoo accounting every day. Plan a faster Odoo month end close with us, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

How do I close a month in Odoo?

+

Odoo has no period records to close. Reconcile banks, post accruals and deferrals, review aged balances, validate the tax return, then set the Sales, Purchase and Lock Everything dates under Accounting, Accounting, Lock Dates.

How long should a month end close take in Odoo?

+

Odoo says most businesses finish within 3 to 7 days. Teams with clean bank feeds, reconciliation models and monthly accruals often finish nearer the low end of that range.

What is the difference between Lock Everything and Hard Lock in Odoo?

+

Lock Everything blocks entries on or before the date, but an administrator can grant a logged exception. The Hard Lock is irreversible, so keep it for an audited year end.

Does validating the tax return lock the period in Odoo?

+

Yes, for tax. Validating the return posts the closing entry in the Tax Returns journal and moves the Tax Return lock date. Other entries stay open until you set the other lock dates.

Can I post an entry after locking a month in Odoo?

+

Yes, if the lock is not a Hard Lock. An Accounting administrator removes the date and sets an exception for one user or everyone, for a set time, with a reason logged in the company chatter.

How do I post accruals at month end in Odoo?

+

Use Accrued Expense Entry on purchase orders and Accrued Revenue Entry on sales orders. The wizard proposes the month-end date and a reversal on the next day, which clears the accrual when the real document arrives.

Do I still need Excel for the month end close in Odoo?

+

Usually not. Most rebuilds come from untrusted ledger data or a missing report. Fix the data in Odoo and build the report there, and the spreadsheet step disappears.

Free written answer from a certified consultant

Getting Odoo Accounting set up right?

We map your accounting, tax and reporting in Odoo and show what to set up first, and what to watch.

Free, with no obligation. A senior consultant replies within 12 business hours.

We use cookies to improve your experience

Essential cookies make the site work; with your permission we also use analytics to improve it. See our cookie policy.