09 · Resolution and money
Close the matter without the ledger going soft.
Demands, offers, the closing statement and the trust ledger stay on one record, and money moves through a dual-control path with the arithmetic done in the database.
No bank statement is a refusal, never a zero that reads as reconciled.
The question in the room
“Does the trust math tie, and what happens when it does not?”
How it works
The mechanism, not the promise.
Atomicity bought back on purpose
This backend reaches the database through a layer with no transactions. Rather than fake it in application code, two database functions exist solely to buy real transactions for money, with a genuine row lock and a real overdraw raise that surfaces as a conflict carrying the function's own message.
Two people, never one
An approved closing statement becomes money only through the existing dual-control proposal flow. Every line lands pending, and a second licensed attorney, never the requester, releases it.
A negotiation ledger priced at the time
Demands, offers and counters are appended, each priced against the valuation band as it stood at that moment. A correction is a new row pointing at the one it supersedes.
Overdraw guards per matter and per client
ShippedSegregation is enforced at matter level, not only at client level.
backend/src/lib/settlement/trustBridge.ts
Three-way reconciliation in the database
ShippedReported as the pair of matched and discrepancy, so no bank statement is a refusal rather than a zero that reads as reconciled.
backend/src/lib/compliance/trustReconciliation.ts
Closing statements frozen at signature
ShippedOnce signed, the statement is the record and cannot be edited underneath it.
backend/src/routes/settlement.ts
An attested invoice
ShippedAn invoice a client can check against the record behind it.
backend/src/lib/billing/attestedInvoice.ts
Native signature with a sealed evidence record
ShippedOne signing surface, ordered signers, sealed when the last one signs.
backend/src/lib/esign/native.ts
Refusals
What it will not do, and why.
- Disburse contingency funds without the signed closing statement.
- Florida Bar Rule 4-1.5(f)(5), answered as a conflict. Completion means a completed signature event: a captured mark, a sent row, or an envelope waiting on another signer is not completion and does not release the gate.
- Price the work when it cannot read its own terms.
- A timed-out read that collapsed into no data once billed real work as free. A pricing engine that cannot read its terms must refuse rather than price at nothing.
- Fall back to application code when the database function is absent.
- It fails closed with a service error. The instinct to retry the posting in JavaScript is the original bug.
- Let a paralegal re-key payees into the trust module.
- Reading an approved statement on one screen and typing it into another is how a transposed digit becomes a client's money in the wrong place, in a ledger that makes it permanent.
One record
Nothing here stands on its own.
What feeds it
- Valuation and the settlement posture
- Time, expenses and liens
- The signed closing statement
What it feeds
- The trust ledger
- The client portal
- The audit chain
Limits
What this does not establish.
- Trust records are immutable and retained. There are no hard deletes and no editing a posted entry.
- A net recovery can be negative, and the statement shows it rather than flooring it at zero.
Check the work before you believe it.
Run a sample manifest in your own browser, or read where publication refuses for want of evidence.