Skip to content

Last reviewed: 2026-06-16

Money Contract

Canonical value: Money

Required concepts: - amount - currency - scale or precision - rounding policy where applicable

Initial storage precision: - decimal amount with precision 19 and scale 4 for persisted accounting amounts. - ISO 4217 currency code stored with each persisted accounting amount.

Rules: - Calculations must preserve currency and precision. - Rounding must be explicit and explainable. - Rounding differences must be handled consistently. - Posting validation must not balance amounts across different currencies unless an explicit multi-currency policy exists.

Validation expectations: - currency and precision accompany each amount. - rounding policy is documented when applied. - currency codes are three uppercase letters. - persisted accounting amounts use the initial storage precision unless a later accepted decision defines a different precision for a specific accounting area.

Related truth pages: - ../accounting/money-and-rounding.md