fill-feed-gapslisted
Install: claude install-skill median-labs/close-the-books
# Fill feed gaps
A bank feed that stops does not announce itself. The books simply go quiet for
that account, and everything downstream looks fine: the trial balance still
foots, the reports still render, and the missing months are invisible until
someone reconciles.
Reconnecting the feed does not fix the past either. QuickBooks brings back
roughly the last 90 days. Older gaps have to be uploaded from statements.
## Hard gates
- **Tie out the statements first.** Uploading transactions you have not proved
complete just moves the gap into the books, where it is harder to see.
- **Never upload a month that is already booked.** Check for existing entries in
the period first; a duplicate upload is much harder to unpick than a gap.
- **The owner does the uploading.** This writes files. Nothing here connects to
anyone's QuickBooks.
## Run it
```
python3 bin/books.py fill-gaps --profile profiles/mine.local.json --account 101000
```
For each gap month it writes `import/bank-<account>-YYYY-MM-batch-NN.csv` in the
three-column format QuickBooks accepts: `Date, Description, Amount`, with amount
signed and money in positive. It splits automatically: QuickBooks takes at most
1,000 rows and 350 KB per upload.
There is also a four-column format, `Date, Description, Credit, Debit`. Prefer
three-column: one signed number cannot be transposed, and a Credit/Debit pair
can.
## Then, in QuickBooks
Banking, then the account, then Link account (or the dropdown), then Upload from
file