01must proveConfirmed | Creating a unit requires a name, an offered base currency and a fiscal start month between 1 and 12; an omitted identifier is generated from the name and remains fixed. ✓ A valid configuration completes the stated operation.✗ A conflicting configuration receives the stated refusal. | validation | api, service, database | test |
02must proveConfirmed | A saved unit retains its original base currency and fiscal start month, and replacing either is refused with the field identified. ✗ A conflicting configuration receives the stated refusal. | invariant | service, database | test |
03must proveConfirmed | Unit creation and generation of the fiscal year containing the workspace’s current date and the following year succeed together or are rolled back together. | lifecycle | service, database | test |
04must proveConfirmed | Unspecified creation settings default to accrual accounting, no inventory costing, direct write-off against bad-debt expense, summary downloads, Other software, no project inheritance, active status and single-currency operation. | policy | service, database | test |
05must proveConfirmed | A replacement preserves supported currencies, multicurrency enablement, direct write-off treatment and fee settings when their respective inputs are omitted, and applies their replacement semantics when supplied. | policy | api, service | test |
06must proveConfirmed | Unit deletion identifies and refuses remaining GL accounts, bank accounts, merchant accounts or projects; otherwise owned currencies, defaults, departments and fiscal years are removed, subject to other restricting references. ✗ A conflicting configuration receives the stated refusal. | lifecycle | service, database | test |
07Confirmed | Unit lists sort by ascending priority with unspecified priorities last, then name, and support activity filters and searches on name or identifier. | policy | api, service | test |
08must proveConfirmed | The console remembers an active working unit or selects the first active unit in list order, initializes scoped lists and new records with it rather than All Business Units, and offers newly created units without a reload. | policy | console | documented |
09Confirmed | The read-only business-unit query dataset exposes identifier, name, active state and base currency under its own query permission and supports transaction queries without writing units. | policy | database, service | test |