Skip to main content

ADR 0007: Keep Perflo as the money ledger

This record separates monetary truth from wrapper operational state.

Context

The wrapper coordinates several Perflo services but does not custody or settle money independently.

Decision

Treat Perflo balances, transactions, KYC, transfers, grants, and cards as authoritative. Store local projections with observed_at, plus customer mappings, idempotency, consent, operations, stricter policy, and audit history. Refresh financial observations during confirmation and reconciliation. Display observation time whenever data is cached.

Consequences

The wrapper does not attempt double-entry reconciliation against an invented ledger. Provider disagreement stops execution and triggers investigation.

Rejected alternatives

  • Wrapper-owned ledger: it would imply custody and settlement authority the product does not have.
  • No local state: idempotency, consent, audit, and asynchronous reconciliation require durable records.