ADR-056 — Money

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-056-money.md

ADR-056: Money

Estado

Accepted — 2026-08-23

Decisión

  1. V1: USD only (Organization.currency = USD). Otra moneda = amendment.
  2. Persistencia: entero en cents (amountCents bigint/int) o DECIMAL(19,4) — se elige cents (integer) en Prisma para evitar float.
  3. Dominio: VO Money (cents + currency). Nunca number IEEE para sumar AR.
  4. JSON API: { "amountCents": 840000, "currency": "USD" } y opcional amountDisplay: "$8,400.00" generado en presentation.
  5. IA: si extrae "$8,400" → cents; si no puede parsear → no inventar (ADR-019).
  6. Dashboard: sumas en cents, redondeo half-up solo al display.

DOC-021 usa “amount” en prosa; implementación = cents.