{"id":"5b5b115d-995a-4bdb-b375-02cc7e69b07e","task":"Run a reconciliation workflow using Modern Treasury's reconciliation and ledger APIs","domain":"moderntreasury.com","steps":["Subscribe to the transaction.created webhook event so your system is notified when Modern Treasury ingests new bank transactions from connected accounts","On each webhook, fetch the transaction details via GET /api/transactions/{id} and inspect the reconciliation_status field ('unreconciled', 'reconciled', or 'partially_reconciled')","For automatically matched transactions, review the linked expected_payment and ledger_transaction via the embedded _links or by querying GET /api/expected_payments/{id}","For unreconciled transactions, use POST /api/transactions/{id}/reconcile or manually link to an expected payment via PATCH /api/expected_payments/{id} with the matched transaction reference","Use the Ledger API (POST /api/ledger_transactions) to record double-entry accounting entries for each settled payment, ensuring ledger_account balances remain consistent with bank balances"],"gotchas":["Modern Treasury's auto-reconciliation uses amount, date, and remittance data to match; loose or missing remittance information (e.g. no memo or reference) significantly reduces match rates","Ledger entries are immutable once posted; reversals require creating a new offsetting ledger transaction rather than editing the original","Bank statement transactions may arrive hours after the actual settlement; do not assume real-time bank balance from the API — use the available_balance from connected account balance endpoints"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/5b5b115d-995a-4bdb-b375-02cc7e69b07e"}