Skip to content

CAP-ACC-BKS-008Organize reporting by department and project

Markdown

CAP-ACC-BKS-008

Organize reporting by department and project

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaAccountingModuleBooks, Business Units and Chart of AccountsRevision1

Read atservices-accounting f47cb263react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Reporting dimensions retain their unit and code identities.Display labels follow name corrections immediately.Product references preserve their reporting dimensions.
Surfaces
consoleapi
Intent sources
services-accounting:docs/milestones/plans/ACCT-M1-plan.md#2. Scopeservices-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R16services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#Entity capabilities (R2-ARCH-001)

Controls

23 controls apply, from the corpus control catalogue.

TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004 TC-DAT-001 TC-DAT-004 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-003

Permissions

KeyChecked atScope
accounting.departments.readapitenant
accounting.departments.createapitenant
accounting.departments.updateapitenant
accounting.departments.deleteapitenant
accounting.accounting-projects.readapitenant
accounting.accounting-projects.createapitenant
accounting.accounting-projects.updateapitenant
accounting.accounting-projects.deleteapitenant

Business Rules

8 rules, 6 to be proved before approval. A rule's product intent is derived from its origin: 8 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Department and project codes are upper-cased and unique in their separate collections within a unit; omitted identifiers derive from unit and code, and the two collections may share a code.
validationapi, service, databasetest
services-accounting:modules/books/tests/e2e/departments.e2e.spec.js#answers 400 to a code the unit already has, under the id it derives
02must prove
Confirmed
A department or project retains its saved business unit and code.
invariantservice, databasetest
services-accounting:modules/books/tests/e2e/accounting-projects.e2e.spec.js#answers 409 to a change of code, naming the column
03must prove
Confirmed
Reads calculate the display name from the current code and name, or the code alone for an unnamed project.
calculationservicetest
services-accounting:modules/books/tests/e2e/departments.e2e.spec.js#answers the new name, and the display name recomputed from it
04must prove
Confirmed
Departments require names; projects may omit names and may store an end date.
validationapi, service, databasetest
services-accounting:modules/books/tests/e2e/accounting-projects.e2e.spec.js#answers it with no name, no end date, and the code alone as its display name
05must prove
Confirmed
A product accounting setup referencing a department or project prevents its deletion and prevents deletion of its owning unit.
invariantdatabasetest
06must prove
Confirmed
Department and project requests refuse custom-field values because these records do not support them.
validationapitest
services-accounting:modules/books/tests/e2e/accounting-projects.e2e.spec.js#answers 400 to custom field values, which Accounting does not carry yet
07
Confirmed
Both collections order by code, support unit and activity filters and identifier, code or name search, and active-unit filters supply picker choices.
policyapi, servicetest
services-accounting:modules/books/tests/e2e/departments.e2e.spec.js#answers nothing to a picker’s query for a unit whose only department is inactive
08
Confirmed
The console scopes both lists to one unit with a single-row toolbar and initializes new dimensions with the working unit.
policyconsoledocumented

Scenarios

IdGivenWhenThenProvenance
01The chapter uses an Events department and a Gala project.The controller records both and changes the department name to Special Events.The display becomes EVT - Special Events while its identity is retained.test
services-accounting:modules/books/tests/e2e/departments.e2e.spec.js#answers the new name, and the display name recomputed from it

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.