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
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 745 |
| Technical Name |
gb_trial_balance_snapshot_period_compare |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module