Reconcile money in, sign money out
Finance owns two ledgers that must always tie out: trustee escrow (money in) and distribution runs (money out). Escrow credits are matched, split, flagged or returned; releases and payouts are two-person acts with frozen evidence. This journey runs the full cash lifecycle including the ugly paths: short payments, overpayments, duplicates, failed payouts.
Reconcile the escrow feed
- 1
Open Escrow & custody. It lands on reconciliation when credits are open.
http://admin.blackant.tech/escrowExpect · The trustee feed: each credit with amount, counterparty, mangled-or-clean reference, and a reconciliation sub-state beside its cash state.
- 2
Auto-match the clean ones, then work the rest.
/escrowExpect · Exact reference + exact amount match in one pass; everything else needs your decision.
- 3
Record a trustee feed credit manually, as a bank line arriving on the feed.
/escrow/[ticker]Expect · Duplicates by feed reference are flagged, and foreign currency goes to manual review.
- 4
Apply partial credits to one subscription until covered; split one credit across several.
/escrow/[ticker]Expect · Partial payments converge (underpaid until whole); a split with insufficient credit refuses rather than part-filling a subscription.
- 5
Return an overpayment’s excess.
/escrow/[ticker]Expect · The excess goes back through the payment boundary with its own instruction; the allocation trail stays balanced.
- 6
Flag duplicates / unknown payments into the exception lane.
/escrow/[ticker]Expect · Each lands as a Finance exception with the reason recorded.
Release escrow after close (two people)
- 7
After a round closes, find the release request the close created.
http://admin.blackant.tech/escrow (Releases)Expect · Principal is HELD; the request carries a frozen evidence snapshot with its hash.
- 8
Have a different approver decide the release.
/escrowExpect · Approval re-validates the evidence hash; any drift refuses with evidence_changed. Approval writes the release entry and flips settlements to released.
Requesting and approving your own release is refused as maker_checker.
Run a distribution end-to-end
- 9
Accept an issuer proposal into a run, or create one directly.
http://admin.blackant.tech/payoutsExpect · Acceptance creates the linked run at the attested net; direct runs take offering, period, record date, distributable income and reserve months.
- 10
Open the run and calculate.
/payouts/[id]Expect · Record-date entitlements per holder, management fee and IPF levy carved out, and the reserve test against the 6-month policy.
- 11
Collect two staff signatures (step-up: distribution.approve).
/payouts/[id]Expect · Two different signers; then the trustee countersign.
- 12
Execute (step-up: distribution.execute).
/payouts/[id]Expect · Per-investor payout attempts run against verified payout accounts; the run shows paid / failed / skipped per entitlement.
- 13
Correct and retry failures.
/payouts/[id]Expect · A failed entitlement stays payable at the same amounts; retry succeeds after the investor fixes their account. Nothing is ever re-derived.
Own the transfer window
- 14
Open a quarterly window from the Register.
http://admin.blackant.tech/register (Transfer window)Expect · Eligible investors can now reserve sells and fund buys; the book shows both sides live.
- 15
Close and finalize matches when the quarter ends.
/registerExpect · Bilateral matches freeze at NAV. No positions or cash move yet; each match settles separately in the transfer workbench.
- 16
Settle matches in the workbench.
/register/transfersExpect · Each settlement attempt runs ledger + cash together and records its evidence; failures retry without double-moving.