Commit graph

2 commits

Author SHA1 Message Date
54974584b1 fix(260519-0oz-02): defer QBO client construction in dry-run to avoid credential requirement
In dry-run mode the script makes zero QBO writes, so QboClient should not
be instantiated (which would throw if QBO_CLIENT_ID etc are unset).
Replace eager getQboClient() call with a lazy getClient() wrapper that
constructs QboClient only when the first live POST is about to be made.
2026-05-19 00:38:47 -04:00
4745de1bce feat(260519-0oz-02): add apply-fh-deposit.ts CLI script and 5/18 batch mapping JSON
- scripts/apply-fh-deposit.ts: parse .FH, validate per-check + total against mapping,
  resolve invoices + deposit account from Postgres, post Payments + Deposit to QBO
- Idempotency via sibling .applied.json written after each successful QBO post
- --dry-run flag prints all payloads and makes zero QBO writes
- Check number normalization (strip leading zeros) handles bank-vs-remittance mismatch
- dev/fin/4183_mapping_20260518.json: 11 checks, $18,962.12 total, 2026-05-18 batch
2026-05-19 00:37:31 -04:00