Trial Balance Snapshots
Freeze the trial balance per period and compare any two periods side-by-side
Auditors want the trial balance exactly as it stood at month-end, but Odoo only gives you a live, ever-changing view that shifts with every back-dated entry. That leaves accountants screenshotting reports or exporting to spreadsheets to preserve the figures they signed off. This module lets accountants and auditors capture a point-in-time trial balance for any date range, lock it so it can never be silently regenerated, and compare any two snapshots side-by-side with per-account movement, variance and materiality flagging. A one-click wizard snapshots a whole fiscal month, posted-only or all entries, with opening balances included.
Key Features
Point-in-time trial balance capture
gb.tb.snapshot.action_capture reads account.move.line over the chosen date range, grouped per account into stored debit, credit and opening_balance figures. The snapshot stamps capture_date and captured_by, so the trial balance is frozen exactly as it stood even after later postings.
Posted-only and opening balance options
Each snapshot can target posted entries only or all entries, and optionally include each account's brought-forward opening balance computed from all moves before date_from. Accounts with only an opening balance and no period movement are still captured.
Lockable snapshots for audit
action_lock moves a captured snapshot to the locked state, and overridden write and unlink methods block any change to its dates, options or lines. A locked snapshot can never be silently recaptured or deleted, giving auditors durable evidence.
Debit/credit balance reconciliation
_compute_totals rolls up total_debit and total_credit and sets an is_balanced flag using the currency's zero test. action_show_balance_check displays a notification confirming the trial balance is balanced or reporting the exact amount it is out by before you lock it.
Two-period side-by-side comparison
gb.tb.compare takes two captured or locked snapshots and builds one gb.tb.compare.line per account from each snapshot's get_balance_map. Each line computes the variance (balance B minus A) and variance_pct automatically, the real period-over-period view native Odoo lacks.
Materiality threshold flagging
Set a material_variance_threshold on the comparison and _compute_totals counts material_line_count plus total absolute variance. The material_lines helper returns only the lines whose absolute variance breaches the threshold, so review focuses on movements that matter.
Statement grouping and report export
summary_by_type groups snapshot lines into headline classes (Assets, Liabilities, Equity, Income, Expenses) using the account_type. to_report_dict on both the snapshot and the comparison serialises the full figures and lines for export or external reporting.
One-click period snapshot wizard
The gb.tb.snapshot.wizard builds a snapshot for a whole month or a custom range, resolving month-end dates automatically. auto_capture and auto_lock options let you capture and lock a fiscal period's trial balance in a single action.
Use Cases
Screenshots
Snapshots
Build Snapshot
Why Choose This Module
Auditors want the trial balance exactly as it stood at month-end — but Odoo only gives you a live, ever-changing view. This module captures a point-in-time trial balance for any date range and stores it durably, even after later postings, then lets you compare any two snapshots side-by-side with per-account movement and variance.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: account
- Support: support@pokutsoft.com
Update date: 2026-07-02