# A balanced ledger can still feed an incomplete management report A 38-month audit of 11,514 synthetic GL rows finds why old account mappings and department labels need explicit coverage checks. Script, hashes and omission tests included. Published 2026-11-15T07:30:00Z by Renaissance Superintelligence Corporation (RSI). Require every source account to map before building the management report. In our 38-month fixture audit, all 34 observed accounts mapped. Removing the new warranty account would omit $18,750 of expense in October; the underlying journal would still balance. Three deliberate mapping omissions were rejected by the coverage guard. ## Balance and reporting coverage answer different questions The synthetic Alder Mechanical history contains balanced double-entry journals, historical close packs and an October roll-forward. Its current reporting COA contains 34 accounts. We independently read the delivered CSVs without importing the fixture generator and checked each observed GL account against that reference. The audit found 34 observed accounts and no unknown accounts across 11,514 rows. We then removed one mapping at a time in memory and reran the coverage guard. Missing 6205, 5100 or 6265 was rejected. The source exports were never edited. A trial balance can still balance when a downstream reporting lookup omits an expense account. For the October warranty document, both journal sides remain in the ledger; dropping the expense from the reporting layer does not alter those source debits and credits. Balance is necessary for this fixture, but it is not a complete test of the management report. ## New accounts appear at different points in the history Fleet account 6205 first appears in January 2024 and maps to the same Fleet reporting line as legacy 6200. Field-labor account 5100 first appears in January 2026 and shares its reporting line with legacy 5200. Warranty account 6265 first appears in October 2026 and maps to Warranty. The omission analysis excludes Year close and Opening rows when measuring P&L activity. Otherwise annual closing entries would distort the amount of operating activity affected. The coverage guard itself checks all source GL rows, including those excluded from this P&L measure. These amounts cover different spans. The fleet and labor figures are cumulative across their observed periods, not October expense. The warranty figure is October only. They are synthetic exposure amounts under deliberate omissions, not losses incurred by a customer. Deliberate omitted mappings: ordinary P&L activity only Missing account | Reporting line | Affected activity rows | Debit less credit omitted | Activity span 6205 | Fleet | 90 | $1,030,687.01 | Jan 2024–Oct 2026 5100 | Field labor | 41 | $9,450,583.45 | Jan–Oct 2026 6265 | Warranty | 1 | $18,750.00 | Oct 2026 ## Old labels in later exports need interpretation The first Field Response and Planned Maintenance records appear in April 2025. Service and Maintenance appear earlier, but their last occurrence in the complete GL inventory is January 2026. A simple rule that rejects every old label after the reorganization would therefore reject rows that remain in the delivered ledger. This audit profiles occurrences; it does not decide whether historical departments should be restated into a current organization chart. It also does not claim that the last occurrence is ordinary operating activity. The inventory includes annual closing entries. Those distinctions belong in the comparison policy. Keep original source labels and add an approved reporting dimension if the analysis needs current-organization comparisons. Do not overwrite history merely to make a departmental chart easier to draw. A mapping change should have an owner, an effective rule and a reconciliation to the preserved source. ## Run coverage before the next native roll-forward Download the [audit script](/research/historical-mapping-2026-11-15/historical_mapping_audit.py) and [full result with source hashes](/research/historical-mapping-2026-11-15/result.json). Obtain the source at the [pinned public commit](https://github.com/logancsack/panes-office-workflows/tree/0c4f1841e21528ec2fd1210602f361a0d198f1a5/monthly-close), then point the script at its monthly-close directory. It needs only the Python standard library and writes a separate JSON result. The [finance-history download](/examples/excel-to-powerpoint/monthly-close/Alder-finance-history.zip) and [native close recording](/examples/excel-to-powerpoint) provide the broader case. This new CSV check does not replace the existing native file-open validation, the workbook’s 14 controls or the independent October report-cell reconciliation. For a real close, put unknown-account detection before the native report update, then require source-to-report totals afterward. Use the [Panes Office workflow](/blog/ai-agent-monthly-close-excel-powerpoint) for execution context and the [workbook verification guide](/blog/verify-ai-generated-excel-workbooks) for the remaining delivery checks. ## Evidence Local Python 3.14.4 read-only CSV analysis on November 15, 2026, against public source commit 0c4f1841e21528ec2fd1210602f361a0d198f1a5. Reads 38 monthly GL exports and one reporting COA; 11,514 GL rows and 34 reference/observed accounts. Single local analysis duration 0.0741 seconds, excluding checkout, planning and native Office. No new Office execution or per-task bill measured. Full source hashes and deliberate omission results are published separately. The original case’s native validation remains distinct. ## Sources - [Pinned reporting COA and finance history](https://github.com/logancsack/panes-office-workflows/tree/0c4f1841e21528ec2fd1210602f361a0d198f1a5/monthly-close) - [New coverage audit, timings, source hashes and omission results](https://usepanes.com/research/historical-mapping-2026-11-15/result.json) - [Independent native case validation](https://usepanes.com/examples/excel-to-powerpoint/monthly-close/validation.json)