01must proveProposed | Revenue treatment selects immediate, automatic, relative-date or fixed-date recognition, with deferred treatment requiring a capable kind and deferred revenue account. | validation | service, database | test |
02must proveProposed | Fixed-date treatment requires up to one hundred twenty distinct dates whose percentages sum to exactly one hundred. ✓ Allocations of 40.5 percent and 59.5 percent complete the required hundred percent.✗ Three allocations of 33.33 percent fall short at 99.99 percent and fail validation. | calculation | service | test |
03must proveProposed | Relative-date treatment requires up to twelve inclusive transaction-month ranges with no shared month, permits ranges crossing December and stores them by starting month. | validation | service | test |
04Proposed | Relative-date fallback configuration selects immediate recognition or default deferral for transactions outside configured ranges. | policy | database | observed |
05must proveProposed | Each revenue split names an income account in the product’s unit and supplies either a percentage or fixed amount. | validation | service, database | test |
06must proveProposed | Percentage shares total at most one hundred; fixed shares fit the standard set base price from the always period when available, preferring undated then first matching dated rows. | calculation | service | observed |
07must proveProposed | Revenue split identities are retained when supplied and generated when absent, with repeated identities rejected. | invariant | service | test |
08must proveProposed | Inter-entity entries appear once per other unit, exclude the product’s unit and name accounts belonging to that other unit. | validation | service, database | test |
09must proveProposed | Accounting setup accepts no more than fifty revenue splits and two hundred inter-entity entries. | validation | api, service | observed |
10Proposed | The console rejects transaction-month ranges crossing December and omits split identities from saves, causing identities to be generated again. | policy | console | observed |