payments-dashboard/src
Adam Moussa d8a2412d75
Some checks are pending
Deploy / deploy (push) Waiting to run
fix(fetchboa): read real CashPro field names; extend BAI code map; 7-day window (#75)
The deployed v2 pipeline was fully inert: the classifier never read
detailText (where the live API carries the ACH DES:PAYMENTS text) and
the handler keyed event dates off valueDate, which the API does not
send (it sends asOfDate) — so ACH could not classify and no event of
any kind could apply. Both proven against real captured responses.

- classifyTransaction: detailText first in the description chain;
  Summary-row guard (new "summary" event); all-zeros customerReference
  normalizes to empty instead of fabricating check number 0.
- BAI_CODE_EVENTS: empirical enumeration lands — 255 + 252 are both
  check-numbered return credits, 266 is the no-number return credit
  (text disambiguates ach_return vs electronic_return via new
  fallbackEvent semantics), 455 is ach_debit via DES text or ignored
  third-party autopay, 170/201/470/481 are noise.
- postingDate helper (asOfDate ?? valueDate) drives both the sort and
  event dates; unmatched reason is now "missing posting date".
- Default replay window widened to trailing 7 days ending yesterday:
  self-healing across missed runs; responses verified pagination-free.

Refs: #66, #69
2026-07-22 15:40:49 -04:00
..
boaRecon.js fix(fetchboa): read real CashPro field names; extend BAI code map; 7-day window (#75) 2026-07-22 15:40:49 -04:00
dates.js fix(csv): M/D/YY date parsing with loud rejects; stop canceled rows zeroing stored fields (#72) 2026-07-22 00:28:13 +00:00
expenseProcessor.js Merge expense-approval-bot into payments-dashboard (#28) 2026-05-12 13:08:42 -04:00
expenseReceiver.js Merge expense-approval-bot into payments-dashboard (#28) 2026-05-12 13:08:42 -04:00
fetchBoaTransactions.js fix(fetchboa): read real CashPro field names; extend BAI code map; 7-day window (#75) 2026-07-22 15:40:49 -04:00
processPaymentCsv.js feat(fetchboa): bank-truth reconciliation v2 — returns, redeposits, ACH confirmation (#73) 2026-07-21 22:07:37 -04:00
processPayrollEmail.js Migrate secrets from SSM to Secrets Manager 2026-06-02 20:29:18 -04:00
slackAppHome.js fix(csv): M/D/YY date parsing with loud rejects; stop canceled rows zeroing stored fields (#72) 2026-07-22 00:28:13 +00:00