Bank Reconciliation

Verify that your ledger balances match your bank statements. DayZero uses AI to parse statements and deterministic matching to suggest transaction pairs.

How It Works

  1. Upload a bank statement (PDF, CSV, or Excel)
  2. AI parses the statement into structured transaction data
  3. Matching engine pairs statement lines with ledger transactions
  4. Review suggested matches and approve or reject
  5. Complete the reconciliation to lock it

Create a Reconciliation

From File Upload

bash
curl -X POST "https://api.ondayzero.com/api/v1/reconciliations/upload" \
  -H "Authorization: Bearer dz_your_token_here" \
  -H "x-business-id: YOUR_BUSINESS_ID" \
  -F "file=@statement.pdf" \
  -F "ledger_id=BANK_LEDGER_UUID"

From Existing S3 Key

bash
curl -X POST "https://api.ondayzero.com/api/v1/reconciliations" \
  -H "Authorization: Bearer dz_your_token_here" \
  -H "x-business-id: YOUR_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "statement_s3_key": "statements/march-2026.pdf",
    "ledger_id": "BANK_LEDGER_UUID"
  }'

Matching Signals

The matching engine scores candidates using:

Signal Weight Description
Amount match 0.50 Exact amount (required)
Same date +0.30 Identical dates
Close date (2 days) +0.25 Near date proximity
Description match +0.20 High text similarity
Counterparty match +0.10 Known counterparty

Complete a Reconciliation

After reviewing matches:

bash
curl -X POST "https://api.ondayzero.com/api/v1/reconciliations/{id}/complete" \
  -H "Authorization: Bearer dz_your_token_here" \
  -H "x-business-id: YOUR_BUSINESS_ID"

Completion locks the reconciliation and marks matched transactions as reconciled.