---
title: "IOLTA Three-Way Trust Reconciliation"
method: POST
path: "/v1/tools/check_iolta_three_way_reconciliation"
tags: ["compliance_control", "legal-ops", "trust-accounting", "mcp:check_iolta_three_way_reconciliation"]
---

# IOLTA Three-Way Trust Reconciliation

`POST /v1/tools/check_iolta_three_way_reconciliation`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/check_iolta_three_way_reconciliation`
- Auth: none declared

Recomputes the monthly IOLTA/client-trust three-way close every small law firm already does by hand in a spreadsheet: the bank statement (adjusted for caller-declared deposits in transit and uncleared checks) against the trust ledger total against the sum of every per-client ledger balance, all as of the same statement period end. Separately walks each client's declared period activity to catch a client ledger that dips negative at any point during the period even when its ending balance looks fine: the classic commingling fact pattern where one client's disbursement is briefly funded by another client's money before a later deposit covers it. Ages every declared outstanding item from the period end so a check or deposit that has sat unresolved for months is visible rather than buried inside a balancing adjustment, and checks that every input balance is stated as of the same period-end date. Reconciliation tolerance is always a declared input, never defaulted; a negative client-ledger low point is never tolerance-gated. Verdict RECONCILED when the three-way equality holds, no client ledger went negative, no outstanding item is stale, and every date lines up; DISCREPANT when any of those breaks; INCOMPLETE when a required input (the tolerance, the period, a balance, or at least one client ledger) is absent. Balances are integer minor units, so the arithmetic is exact. Performs arithmetic only over caller-declared balances and caller-declared outstanding items; does not source, derive, or independently verify any balance, and does not itself determine which bank lines are outstanding. Clause: ABA Model Rule 1.15 (Safekeeping Property); state record-keeping rules govern the specifics and are cited in-page as dated illustrations only, never as a 50-state table.

**Tool URL:** https://ainumbers.co/chaingraph/art-566-iolta-three-way-reconciliation.html

## Request body

- object
  - `bank` unknown, required
  - `client_ledgers` unknown[], required
    - unknown
  - `outstanding_items` unknown[], required
    - unknown
  - `reconciliation_tolerance_minor` unknown, required
  - `statement_period` unknown, required
  - `trust_ledger` unknown, required

## Response `200`

Successful tool execution result

- object
  - `decision` object
    - `gate_policy` string
    - `execution_state` string
    - `reason` string
  - `verdict` string
  - `statement_period` object
    - `start_date` string
    - `end_date` string
  - `reconciliation_tolerance_minor` integer
  - `three_way` object
    - `bank_ending_balance_minor` integer
    - `deposits_in_transit_total_minor` integer
    - `uncleared_checks_total_minor` integer
    - `adjusted_bank_balance_minor` integer
    - `trust_ledger_ending_balance_minor` integer
    - `client_ledger_total_minor` integer
    - `bank_vs_trust_minor` integer
    - `trust_vs_clients_minor` integer
    - `bank_vs_clients_minor` integer
    - `equality_holds` boolean
  - `client_count` integer
  - `client_ledgers` object[]
    - `client_id` string
    - `ending_balance_minor` integer
    - `as_of` string
    - `opening_balance_minor` integer
    - `low_point_minor` integer
    - `low_point_date` string
    - `entry_count` integer
  - `negative_balance_findings` unknown[]
    - unknown
  - `outstanding_items` object[]
    - `type` string
    - `date` string
    - `amount_minor` integer
    - `description` string
    - `age_days` integer
    - `age_bucket` string
  - `outstanding_summary` object
  - `period_boundary_consistent` boolean
  - `period_boundary_mismatches` unknown[]
    - unknown
  - `findings` unknown[]
    - unknown
  - `rejected_inputs` unknown[]
    - unknown
  - `scope_note` string
  - `clause_note` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
