Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions skills/objectstack-data/rules/field-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,18 +179,18 @@ Stored as JSON on the parent row — no separate table / FK:
type: 'currency',
currencyConfig: {
precision: 2,
currencyMode: 'fixed', // 'fixed' = one currency for the column;
// 'dynamic' = per-record `{ value, currency }`
currencyMode: 'fixed', // 'fixed' = the column is pinned to
// defaultCurrency; 'dynamic' = tenant default
defaultCurrency: 'USD', // ISO 4217
},
}
```

**Currency resolution (ADR-0053).** A displayed amount resolves its symbol
through: the field's own `currencyConfig.defaultCurrency` → the tenant
`localization.currency` default. With neither set, renderers show a plain
grouped number (never a hardcoded `$`). The same chain backs analytics measures
(a measure's explicit `currency` wins over the field/tenant default).
**Currency resolution.** The value is a bare number in both modes (ADR-0104
D1), never `{ value, currency }`. The displayed symbol: under `'fixed'`,
`currencyConfig.defaultCurrency`; under `'dynamic'` (default), the tenant
`localization.currency` setting, not `defaultCurrency`; with neither, a plain
grouped number (never a hardcoded `$`). A measure's own `currency` wins.

### Select with Default

Expand Down
Loading