Skip to content

TB upload parses no rows

After Upload Trial Balance the preview shows zero rows or only headers; the engagement may stay at DRAFT if the handler explicitly failed.

What this means

The smart-column detector could not find a valid column structure in the file.

Causes

  1. Headers don't match the recognised shapes. Recognised shapes:
    • account_code, description, debit, credit
    • account_code, description, current_year, prior_year
    • Case-insensitive, underscore/space-agnostic. So Account Code, account code, Account_Code all work; GL Code and Reference do not.
  2. Multi-row header. Some exports stack two header rows. The detector reads only the first. Re-export with a single header row, or hand-edit to merge.
  3. Merged cells in XLSX top-left. Unmerge before upload.
  4. File is not a TB at all. A journal export, a GL listing, or a draft P&L instead. Verify with the client.
  5. Encoding issue on CSV (BOM, non-UTF-8). Re-save as UTF-8 CSV.

Diagnose

bash
# Inspect the first 5 lines of the CSV
head -5 /path/to/tb.csv

For XLSX, open the file and check:

  • Row 1 contains the headers
  • Headers spell out something the detector will recognise
  • No merged cells in the data area
  • The "Sheet1" (or first sheet) is the TB; the parser reads the first sheet

Fix

  1. Reformat to a recognised shape:
    account_code,description,debit,credit
    1010,Cash at Bank,15000,0
    2010,Trade Creditors,0,4500
    ...
  2. Re-upload.

When the column shape is unusual

If the client's accounting platform exports an irreducible shape, build a one-time intermediate transformation (Excel formulas, a small script) and document the source format on the engagement notes.

Internal use only — BreezyCorp