01must proveProposed | A fixed-priced product requires a manually set standard price in its business unit’s base currency. | validation | service, console | test |
02must proveProposed | A giver-priced product rejects price rows because the purchaser supplies the amount. | validation | service, console | test |
03must proveProposed | Price currencies must belong to the unit, and supported foreign currencies require multicurrency to be enabled. | validation | service, database | test |
04must proveProposed | Each price cell selects an amount, a percentage of standard, conversion or prohibition and supplies only the values that mode requires, with percentages from zero to one hundred and at most two decimals. | validation | api, service, database | test |
05must proveProposed | Conversion and prohibition modes cannot apply to the base currency. | validation | service | test |
06must proveProposed | A percentage price cannot target the standard audience and requires a set standard price in the same currency from its own period or the always period. ✓ A member price can be set to eighty percent of the standard euro price.✗ The member percentage has no basis when the corresponding standard euro price is absent. | calculation | service, database | test |
07must proveProposed | A converted price requires its own audience’s set or percentage base-currency price from the same period or the always period. | calculation | service | test |
08must proveProposed | Validation uses backing rows from the matching or always period and never another named period; Commerce owns actual price selection. | calculation | service | observed |
09must proveProposed | Rows sharing audience, currency and period cannot overlap in time, with opening instants included and closing instants excluded. | invariant | service, database | test |
10must proveProposed | Known audiences are standard, member and active Commerce audiences in the workspace; before that vocabulary exists, previously held audiences are also accepted. | validation | service | test |
11Proposed | Price amounts use nonnegative integer minor units of their currency. | validation | api, database | test |
12must proveProposed | Each product accepts up to five hundred price cells and replaces the entire grid on creation or replacement. | validation | api, service | test |
13Proposed | Documented pricing responsibility assigns missing foreign-currency cells to unit defaults and conversion with frozen rates to Commerce. | policy | | documented |
14Proposed | The product API retains the deprecated audience alias in responses and accepts it instead of the current audience field. | policy | api, service | test |
15Proposed | The console fills an empty standard foreign-currency cell with prohibition unless the unit default supplies conversion. | policy | console | observed |