
Building a Budget Workbook From Query Output Reliably
Build a budget workbook from SQL output: actuals from the ledger, budget versions in a table, variances, planner input cells and a frozen release.
Tag
590 posts

Build a budget workbook from SQL output: actuals from the ledger, budget versions in a table, variances, planner input cells and a frozen release.

A small function that neutralizes formula triggers in CSV text cells, why negative numbers must be exempt, and a test table to keep the fix from regressing.

Reconcile a bank statement against a ledger table: load it, match in passes, list unmatched items on both sides and explain the closing difference.

A tested guide to diffing, patching and merging JSON: normalizing, array identity, JSON Patch, Merge Patch, atomic apply, deep merge, history and tests.

How a name starting with an equals sign turns your CSV export into an attack on whoever opens it, what payloads do, and how to test your own exports.

Split a 36.6 MB XML file into eight valid files of 25,000 orders with iterparse in 1.5 seconds at 21 MB, and see why split -l produces broken XML.

What makes an Excel report dependable for finance: reconciliations, rounding, controls, evidence, invoices, budgets, timesheets and currencies.

Replace a page of upload rules with a ready template: built-in formats, dropdowns, an example row, a stable link and a note on what the file is for.

Excel stops at 1,048,576 rows and drops the rest if you save. Four ways to work with a bigger CSV: aggregate it, split it, use the Data Model or sample.

A tested guide to JSON files too big to load: memory and string limits, array to JSON Lines, DuckDB, streaming, splitting, compression and databases.

Why cat breaks XML, and three ways that work: XInclude with xmllint, XSLT with document(), and lxml, with the xml:base attribute side effect of XInclude.

Excel keeps 15 significant digits, so a 19 digit ID loses its last four. Why it happens, how to import the column as text, and how to check a file for damage.