Skip to main content

Money

A semantic Value Type representing a monetary amount with an explicit currency code.

type: data-model · status: draft · abstraction: instance

What it is​

Money stores a lossless monetary amount together with an explicit ISO 4217 currency code, such as 1500.00 USD. The amount and currency form one semantic value: the code is not a display label attached to a Number.

Money provides currency-aware validation and formatting. Values in the same currency can be compared, added and aggregated safely. Values in different currencies cannot be combined or compared by nominal amount without an explicit conversion performed outside this Value Type.

Currency codes provide sensible display and minor-unit defaults, but financial workflows may require additional calculation precision and their own rounding policy. Symbols are presentation only; interfaces use the currency code where a symbol such as $ would be ambiguous.

Why it exists​

Manufacturers buy, sell and report across currencies. Storing an order value as a bare Number loses its denomination and makes arithmetic, reporting and data exchange unsafe.

Money binds each amount to its currency so Properties, integrations, formulas, Business Flows and AI Agents can distinguish monetary values from ordinary numbers and reject invalid mixed-currency operations. It preserves the original commercial fact without making the Value Type responsible for wider financial policy.

Relationships​

Outgoing

Neighbourhood​

Stakeholder summaries​

  • Product — The required Value Type for prices, costs and other monetary Properties. It formats values by currency and blocks unsafe mixed-currency arithmetic.
  • Investor — Explicit monetary semantics make procurement, reporting and cross-tenant exchange reliable without embedding financial policy in the core Value Type.
  • Marketing — Store every price and cost with its actual currency, so totals and reports do not mix unlike amounts.
  • Engineering — Stores a lossless decimal amount with an ISO 4217 currency code. Same-currency arithmetic is valid; mixed-currency operations require an explicit conversion outside the Value Type.