Match internal cash records to bank statements, identify outstanding items, and maintain accurate account balances using Plaid bank feed integration and systematic reconciliation workflows.
Bank reconciliation ensures that CEF Core's internal cash records match the bank's actual records. Discrepancies arise from timing differences (deposits in transit, outstanding checks) and occasionally from errors or unauthorized transactions. Regular reconciliation is a fundamental internal control for any financial institution.
CEF Core tracks reconciliation status in the cash.reconciliation table, which records the bank statement balance, the book balance, the reconciliation status, and the user who performed the reconciliation.
CEF Core integrates with Plaid to automatically import bank transactions, eliminating the need for manual statement uploads in most cases:
| Job | Schedule | Purpose |
|---|---|---|
syncBankTransactions | Every hour | Pull new transactions from Plaid for near-real-time visibility |
importBankActivity | Daily at 2:05 AM UTC | Comprehensive daily pull for full reconciliation coverage |
Imported bank transactions are stored and compared against internal cash transactions. The system flags matches, partial matches, and unmatched items for review.
Follow these steps to reconcile an account for a given statement period:
POST /api/v1/cash/transactions.GET /api/v1/cash/reconciliation?accountId={uuid}
Response:
{
"reconciliations": [
{
"account_id": "uuid",
"reconciliation_date": "2026-02-28",
"bank_balance": "1245890.50",
"book_balance": "1245890.50",
"status": "RECONCILED",
"reconciled_by": "user-uuid",
"created_at": "2026-03-05T10:15:00Z"
},
{
"account_id": "uuid",
"reconciliation_date": "2026-03-31",
"bank_balance": "1312450.75",
"book_balance": "1298720.25",
"status": "IN_PROGRESS",
"reconciled_by": null,
"created_at": "2026-04-02T09:00:00Z"
}
],
"count": 2
}| Status | Description |
|---|---|
PENDING | Bank statement imported but reconciliation not started |
IN_PROGRESS | Reconciliation started, items being matched |
RECONCILED | Book balance matches bank balance, all items accounted for |
EXCEPTION | Unresolvable discrepancy requiring investigation |
Outstanding items are transactions recorded in CEF Core that have not yet appeared on the bank statement. These are normal timing differences:
Cash receipts recorded in CEF Core but not yet credited by the bank. Common for check deposits (1-2 day clearing) and late-day deposits received after the bank's cutoff time.
Checks issued and recorded in CEF Core but not yet presented to the bank for payment. These can remain outstanding for days or weeks. Checks outstanding over 90 days should be investigated.
ACH disbursements initiated but not yet settled. Typically clear within 1-2 business days.
Wire transfers that have been initiated but not yet confirmed by the receiving bank. Same-day wires typically clear within hours.
The standard bank reconciliation formula used by CEF Core:
Bank Statement Balance
+ Deposits in Transit
- Outstanding Checks/Payments
+/- Other Adjustments
= Adjusted Bank Balance
Book Balance (CEF Core)
+ Bank Interest Earned (not yet recorded)
- Bank Fees (not yet recorded)
+/- Error Corrections
= Adjusted Book Balance
Adjusted Bank Balance MUST equal Adjusted Book Balance
Solution: Verify all outstanding items are accounted for. Check for bank fees or interest credits not yet recorded in CEF Core. Look for transactions recorded in the wrong period or with incorrect amounts. The difference often reveals itself when you compare the outstanding items list to the prior month.
Solution: These are typically bank-initiated transactions such as service fees, interest payments, or automatic debits. Record them as new cash transactions in CEF Core. If they appear unauthorized, escalate to the fraud detection module immediately.
Solution: Plaid occasionally imports the same transaction twice during overlapping sync windows. Mark the duplicate as excluded during reconciliation. The hourly and daily import jobs include deduplication logic, but edge cases can occur around statement cutoff dates.
Bank reconciliation works alongside cash receipts, disbursements, and the daily cash position dashboard.