OpenChainGraph Suite · ART-566 · Legal Ops & Trust Accounting

IOLTA Three-Way Trust Reconciliation

Recomputes the monthly client-trust three-way close every firm already does by hand in a spreadsheet: the bank statement, adjusted for outstanding items, against the trust ledger total, against the sum of every per-client ledger. Separately walks each client's declared activity to catch a ledger that dips negative mid-period even when its ending balance looks clean, ages every outstanding item from the period end, and checks that every balance is stated as of the same date.

Recompute · caller-declared balances only Negative client balance never tolerance-gated Verdict: RECONCILED · DISCREPANT · INCOMPLETE
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
⚠ Not legal advice and not a substitute for the trust-accounting rules of the applicable jurisdiction. ABA Model Rule 1.15 requires complete trust-fund records and reconciliation of those records; state record-keeping rules govern the specifics and vary by jurisdiction. This tool performs arithmetic only over the balances you supply.
Statement period & tolerance

The demo values below are synthetic and already loaded, so you can press Run without entering anything of your own.

Bank & trust ledger
Three-way equality
Per-client ledgers
Outstanding items
Findings
Rejected inputs
Execution Hash (SHA-256)
What this does not do

It does not source or verify any balance against a bank feed, general ledger, or practice-management system, and it does not determine which bank lines are outstanding: outstanding items are declared inputs, the same way a firm already lists them on its reconciliation worksheet. It is not legal advice and not a determination of an ethics violation; a DISCREPANT verdict is a citable record of an arithmetic break, which the firm and, on referral, a bar auditor evaluate.

Related

ART-525 enforces the general N-way balance closure identity across named internal systems for any measure. This node is the specialized legal-ops case: exactly three legs (bank, trust ledger, client ledgers), a hard-zero rule on per-client balances that ART-525's tolerance-gated pairwise test does not carry, and outstanding-item aging tuned to a monthly trust-account close rather than a generic reconciliation cadence. ART-589 is the other legal-ops node in this shard group: it classifies redline changes across negotiation rounds of a contract rather than reconciling trust balances, and chains its rounds by hash rather than aging outstanding items.

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.

Run the AINumbers MCP tool `check_iolta_three_way_reconciliation`. Task: Recompute a monthly IOLTA/client-trust three-way close (bank vs trust ledger vs sum of client ledgers) with per-client negative-balance and aged-outstanding-item checks.
Call it with arguments: {"policy_parameters":{"reconciliation_tolerance_minor":100,"statement_period":{"start_date":"2026-06-01","end_date":"2026-06-30"},"bank":{"ending_balance_minor":5000000,"statement_date":"2026-06-30"},"trust_ledger":{"ending_balance_minor":5050000,"as_of":"2026-06-30"},"client_ledgers":[{"client_id":"client-A","ending_balance_minor":3000000,"as_of":"2026-06-30","entries":[{"date":"2026-06-05","amount_minor":500000,"description":"deposit retainer"},{"date":"2026-06-20","amount_minor":-200000,"description":"disbursement"}]},{"client_id":"client-B","ending_balance_minor":2050000,"as_of":"2026-06-30","entries":[]}],"outstanding_items":[{"type":"deposit_in_transit","date":"2026-06-29","amount_minor":100000,"description":"client A retainer deposited 6/29"},{"type":"uncleared_check","date":"2026-06-15","amount_minor":50000,"description":"disbursement check #1042"}]}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-566-iolta-three-way-reconciliation.html#p=v1.H4sIAAAAAAAA_wFRA678eyJyZWNvbmNpbGlhdGlvbl90b2xlcmFuY2VfbWlub3IiOjEwMCwic3RhdGVtZW50X3BlcmlvZCI6eyJzdGFydF9kYXRlIjoiMjAyNi0wNi0wMSIsImVuZF9kYXRlIjoiMjAyNi0wNi0zMCJ9LCJiYW5rIjp7ImVuZGluZ19iYWxhbmNlX21pbm9yIjo1MDAwMDAwLCJzdGF0ZW1lbnRfZGF0ZSI6IjIwMjYtMDYtMzAifSwidHJ1c3RfbGVkZ2VyIjp7ImVuZGluZ19iYWxhbmNlX21pbm9yIjo1MDUwMDAwLCJhc19vZiI6IjIwMjYtMDYtMzAifSwiY2xpZW50X2xlZGdlcnMiOlt7ImNsaWVudF9pZCI6ImNsaWVudC1BIiwiZW5kaW5nX2JhbGFuY2VfbWlub3IiOjMwMDAwMDAsImFzX29mIjoiMjAyNi0wNi0zMCIsImVudHJpZXMiOlt7ImRhdGUiOiIyMDI2LTA2LTA1IiwiYW1vdW50X21pbm9yIjo1MDAwMDAsImRlc2NyaXB0aW9uIjoiZGVwb3NpdCByZXRhaW5lciJ9LHsiZGF0ZSI6IjIwMjYtMDYtMjAiLCJhbW91bnRfbWlub3IiOi0yMDAwMDAsImRlc2NyaXB0aW9uIjoiZGlzYnVyc2VtZW50In1dfSx7ImNsaWVudF9pZCI6ImNsaWVudC1CIiwiZW5kaW5nX2JhbGFuY2VfbWlub3IiOjIwNTAwMDAsImFzX29mIjoiMjAyNi0wNi0zMCIsImVudHJpZXMiOltdfV0sIm91dHN0YW5kaW5nX2l0ZW1zIjpbeyJ0eXBlIjoiZGVwb3NpdF9pbl90cmFuc2l0IiwiZGF0ZSI6IjIwMjYtMDYtMjkiLCJhbW91bnRfbWlub3IiOjEwMDAwMCwiZGVzY3JpcHRpb24iOiJjbGllbnQgQSByZXRhaW5lciBkZXBvc2l0ZWQgNi8yOSJ9LHsidHlwZSI6InVuY2xlYXJlZF9jaGVjayIsImRhdGUiOiIyMDI2LTA2LTE1IiwiYW1vdW50X21pbm9yIjo1MDAwMCwiZGVzY3JpcHRpb24iOiJkaXNidXJzZW1lbnQgY2hlY2sgIzEwNDIifV19eCYXuFEDAAA