01must proveProposed | Fiscal close posts one system batch per type, unit and period using its supplied name and date, and a later re-close reuses that batch with a new posting. | lifecycle | service | test |
02must proveProposed | Repeated close event keys return the original batch and posting without writing, while reusing a key for different entries or a different period is refused. | invariant | service, database | test |
03must proveProposed | System posting requires entries balanced on the unit’s accounts in base and transaction amounts, within two-decimal validation, dated in the period and without duplicate entry references. | validation | service | test |
04must proveProposed | System posting and recognition admit Open and Closing periods, while system reversal and unrecognition admit Closed and Reopening periods. | lifecycle | service, database | test |
05must proveProposed | Recognition takes current open schedules booked by the period end, releases all unrecognised entries due by then including earlier stragglers, and closes schedules fully recognised. | calculation | service | observed |
06must proveProposed | Recognition runs in the caller’s close transaction with system posting and period state, and refuses execution outside a transaction. | invariant | service | test |
07must proveProposed | Fiscal reopening retains original system entries, adds debit-credit mirrors, reverses the posting and returns its batch to Open. | lifecycle | service | test |
08must proveProposed | Reopening resets recognised entries dated from the period start or recognised by that period and reopens affected schedules while preserving unaffected earlier recognition. | lifecycle | service | test |
09must proveProposed | System reversal rejects an ordinary posting and returns a no-change result for a posting already reversed. | validation | service | test |
10must proveProposed | A system batch with a current posting rejects a new close key, and system-batch creation cannot take another batch’s name within the unit. | validation | service | test |
11must proveProposed | A closed period prevents ordinary unposting, and its system batch refuses all ordinary actions. | policy | service | test |