All 190 journal entries balance: debits equal credits across the whole ledger.
Data Health CheckRead-only diagnostics for the gaps that make a P&L wrong at tax time: uncategorised rows, unpaired transfers, accounts that never reconciled. Each item is a correction to make in the books, not a preference to set.
For every CC payment leaving a bank account, we look for a CC account with at least one transaction that month. No CC data → the deductible-level detail behind that payment is missing; you'll lose tax visibility into what was actually charged.
| Month | Bank-side payments | Total paid | CC accounts with data | CC charges total | Status | Fix |
|---|---|---|---|---|---|---|
| 2025-04 | 1 | $3,065.25 |
business_cc
|
$5,546.37 | ok | — |
| 2025-05 | 2 | $5,053.63 |
business_cc
|
$12,186.25 | ok | — |
| 2025-06 | 2 | $3,534.77 |
business_cc
|
$9,820.93 | ok | — |
| 2025-07 | 2 | $4,292.83 |
business_cc
|
$10,829.41 | ok | — |
| 2025-08 | 3 | $7,723.47 |
business_cc
|
$7,624.75 | ok | — |
| 2025-09 | 1 | $2,666.78 |
business_cc
|
$11,224.77 | ok | — |
| 2025-10 | 1 | $1,672.38 |
business_cc
|
$8,471.24 | ok | — |
| 2025-12 | 1 | $2,001.38 |
business_cc
|
$9,791.85 | ok | — |
| 2026-02 | 1 | $1,918.14 |
business_cc
|
$10,102.54 | ok | — |
| 2026-03 | 2 | $4,340.67 |
business_cc
|
$16,880.42 | ok | — |
| 2026-04 | 1 | $2,304.55 |
business_cc
|
$8,025.63 | ok | — |
| 2026-05 | 3 | $7,324.30 |
business_cc
|
$10,320.91 | ok | — |
| 2026-06 | 2 | $2,970.52 |
business_cc
|
$11,254.63 | ok | — |
| 2026-08 | 4 | $11,362.34 |
business_cc
|
$12,116.63 | ok | — |
| 2026-09 | 1 | $3,461.91 |
business_cc
|
$11,773.26 | ok | — |
Months between an account's first and last imported transaction that contain zero rows. Most likely a missing CSV/PDF import.
Rows with amount = 0. Usually a parser glitch: the source file had a
blank or unparseable amount column. Worth deleting or re-importing.
Rows dated after today. Almost always a date-format parsing bug, e.g. an MM/DD/YY file mistakenly read as DD/MM/YY swapped a 2024 date into the future.
Rows pointing at a vendor, customer, job, cost code or account that no longer exists. The database enforces its declared foreign keys, but a lot of these links can't be declared, because they were added by a later migration, they're polymorphic (a sibling column says which table), or the id is buried inside another value. Nothing checked them until now, so they could accumulate silently and survive a backup/restore. None of this loses money; it shows up as a blank payee, an uncosted job line, or a recurring template that fails when it next runs.
Every change to a product's quantity or unit cost is written to an append-only movement ledger at the moment it happens, so an item's history has to add back up to the item. This check is here because that should be impossible to break: anything that moved stock without recording it leaves a perfectly ordinary-looking quantity behind, and before the movement ledger existed there was nothing that could notice. If a row appears here, the quantity on the stock list is not the one the postings can explain, so the Balance Sheet and the inventory report will disagree, and a valuation true-up would quietly turn the difference into an expense.
transfer_internal rows
18
Rows tagged transfer_internal whose counterpart exists nowhere in the
book: no row on another account within ±5 days at the matching amount. Usually
the other account's statement was never imported, or the row isn't really an internal
transfer.
These will not appear in the
Transfer Matcher. It pairs up two legs that
both exist, and these have only one. Fix them here: pair by ID if you know the counterpart,
send it back to Review to re-categorise, or import the missing account.
| Date | Account | Description | Amount | ID | Fix |
|---|---|---|---|---|---|
| 2025-04-05 | business_checking | ONLINE TRANSFER FROM CHK | $2,337.40 | #1375 |
|
| 2025-04-10 | business_checking | ONLINE TRANSFER FROM CHK | $2,861.86 | #1365 |
|
| 2025-05-11 | business_checking | ONLINE TRANSFER FROM CHK | $3,653.16 | #1374 |
|
| 2025-05-13 | business_checking | ONLINE TRANSFER FROM CHK | $2,797.92 | #1368 |
|
| 2025-05-28 | business_checking | ONLINE TRANSFER FROM CHK | $4,302.99 | #1364 |
|
| 2025-06-02 | business_checking | ONLINE TRANSFER FROM CHK | $3,990.62 | #1370 |
|
| 2025-06-14 | business_checking | ONLINE TRANSFER FROM CHK | $4,079.24 | #1379 |
|
| 2025-09-17 | business_checking | ONLINE TRANSFER FROM CHK | $3,063.08 | #1362 |
|
| 2025-12-30 | business_checking | ONLINE TRANSFER FROM CHK | $1,808.49 | #1367 |
|
| 2026-01-12 | business_checking | ONLINE TRANSFER FROM CHK | $1,803.95 | #1376 |
|
| 2026-05-14 | business_checking | ONLINE TRANSFER FROM CHK | $2,735.95 | #1377 |
|
| 2026-05-20 | business_checking | ONLINE TRANSFER FROM CHK | $2,250.60 | #1363 |
|
| 2026-05-20 | business_checking | ONLINE TRANSFER FROM CHK | $4,757.40 | #1369 |
|
| 2026-06-28 | business_checking | ONLINE TRANSFER FROM CHK | $3,741.02 | #1371 |
|
| 2026-07-31 | business_checking | ONLINE TRANSFER FROM CHK | $4,381.39 | #1366 |
|
| 2026-09-09 | business_checking | ONLINE TRANSFER FROM CHK | $2,181.61 | #1373 |
|
| 2026-09-17 | business_checking | ONLINE TRANSFER FROM CHK | $2,205.98 | #1372 |
|
| 2026-09-17 | business_checking | ONLINE TRANSFER FROM CHK | $3,551.28 | #1378 |
|