---
id: FAS-ACC-BKS-01
title: Business Units and Currency Policy acceptance
feature: FEAT-ACC-BKS-01
product_area: accounting
module: books
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-ACC-BKS-001
  - CAP-ACC-BKS-002
  - CAP-ACC-BKS-003
  - CAP-ACC-BKS-004
scenarios:
  - id: FAS-ACC-BKS-01-01
    title: Open books with currency and accounting choices
    kind: behaviour
    exercises:
      - CAP-ACC-BKS-001
      - CAP-ACC-BKS-002
      - CAP-ACC-BKS-003
    relies_on:
      - ATS-ACC-BKS-001-03
      - ATS-ACC-BKS-002-04
      - ATS-ACC-BKS-001-04
    preconditions: >-
      A controller can create a unit and has no existing setup under its
      run-owned identity.
    steps: >-
      Create a July-start unit with CAD and EUR, choose its rate and pricing
      policies and accounting settings, then inspect the unit, calendar and
      working context.
    expected: >-
      The choices agree across the saved unit, currency settings, initial
      calendar and newly available working context.
    negative: false
    data_needs: >-
      Run-owned records and principals for the stated setup; record original
      shared settings and restore them after exclusive cases.
    bound_to:
      - TST-ACC-BKS-001
    provenance: test
    source:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0001.spec.ts#ACT-ACC-0001
    binding_evidence:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0001.spec.ts#ACT-ACC-0001
  - id: FAS-ACC-BKS-01-02
    title: Dated quotes protect the configured currency
    kind: interaction
    exercises:
      - CAP-ACC-BKS-001
      - CAP-ACC-BKS-002
      - CAP-ACC-BKS-004
    relies_on:
      - ATS-ACC-BKS-002-05
      - ATS-ACC-BKS-004-03
    preconditions: A unit supports CAD and has no rate rows under the run-owned dates.
    steps: >-
      Create and correct a manual CAD quote, resolve it at historical dates and
      attempt CAD removal. Delete the dated quotes and repeat removal.
    expected: >-
      Quote resolution reflects the stored correction; existing quote rows
      protect CAD until they are removed.
    negative: false
    data_needs: >-
      Run-owned records and principals for the stated setup; record original
      shared settings and restore them after exclusive cases.
    bound_to:
      - TST-ACC-BKS-022
    provenance: test
    source:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0030.spec.ts#ACT-ACC-0030
    binding_evidence:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0030.spec.ts#ACT-ACC-0030
  - id: FAS-ACC-BKS-01-03
    title: Replace a unit with the correct founding currency
    kind: lifecycle
    exercises:
      - CAP-ACC-BKS-001
      - CAP-ACC-BKS-002
    relies_on:
      - ATS-ACC-BKS-001-02
      - ATS-ACC-BKS-001-06
      - ATS-ACC-BKS-001-09
    preconditions: >-
      A wrongly denominated unit has owned calendar records and removable
      account and project dependencies.
    steps: >-
      Try correcting its currency and deleting it, remove blocking setup and
      recreate the free identity with the correct currency.
    expected: >-
      The early attempts preserve the original setup; the replacement has fresh
      currency and calendar records.
    negative: false
    data_needs: >-
      Run-owned records and principals for the stated setup; record original
      shared settings and restore them after exclusive cases.
    bound_to:
      - TST-ACC-BKS-004
    provenance: test
    source:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0004.spec.ts#ACT-ACC-0004
    binding_evidence:
      - >-
        react-console:acceptance/accounting/playwright/journeys/configuration/ACT-ACC-0004.spec.ts#ACT-ACC-0004
  - id: FAS-ACC-BKS-01-04
    title: Separate unit inspection from currency and policy changes
    kind: permission
    exercises:
      - CAP-ACC-BKS-001
      - CAP-ACC-BKS-002
      - CAP-ACC-BKS-003
    relies_on:
      - ATS-ACC-BKS-016-01
    preconditions: >-
      A reader and administrator can enter Accounting and inspect a configured
      unit.
    steps: >-
      Read the unit as the reader, attempt currency and policy replacements, and
      repeat the valid replacements as the administrator.
    expected: >-
      The reader changes no policy or currency; the administrator can save
      eligible choices.
    negative: true
    data_needs: >-
      Run-owned records and principals for the stated setup; record original
      shared settings and restore them after exclusive cases.
    bound_to: []
    provenance: proposed
    source:
      - ATS-ACC-BKS-016-01
    binding_evidence: []
  - id: FAS-ACC-BKS-01-05
    title: Keep extension settings through an older editor save
    kind: regression
    exercises:
      - CAP-ACC-BKS-001
      - CAP-ACC-BKS-002
      - CAP-ACC-BKS-003
    relies_on:
      - ATS-ACC-BKS-001-05
      - ATS-ACC-BKS-002-04
      - ATS-ACC-BKS-003-03
    preconditions: >-
      A unit has supported-currency policies, revenue-reversal treatment and a
      complete tender-fee rule.
    steps: >-
      Save a description from an editor that omits all extension settings, then
      compare the complete configuration.
    expected: The ordinary edit preserves every omitted extension group.
    negative: true
    data_needs: >-
      Run-owned records and principals for the stated setup; record original
      shared settings and restore them after exclusive cases.
    bound_to: []
    provenance: proposed
    source:
      - ATS-ACC-BKS-001-05
      - ATS-ACC-BKS-002-04
      - ATS-ACC-BKS-003-03
    binding_evidence: []
evidence:
  - provenance: documented
    source: >-
      specs/accounting/books/planning/features/FEAT-ACC-BKS-01-business-units-and-currencies.md
  - provenance: test
    source: >-
      Pinned executable suites and their individual assertion references are
      listed in the suite register.
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-ACC-BKS-01-01
      - FAS-ACC-BKS-01-02
      - FAS-ACC-BKS-01-03
      - FAS-ACC-BKS-01-04
      - FAS-ACC-BKS-01-05
    why: >-
      Establish cumulative feature acceptance from the pinned specification and
      executable evidence.
---

# Business Units and Currency Policy: Feature Acceptance Suite

## What the Feature Must Do as a Whole

The feature brings the unit’s founding setup, currencies and accounting policy into one usable context. Acceptance checks the saved choices and the calendar together, then follows changes that depend on existing configuration.

## Interactions Between Capabilities

Unit replacement can preserve extension settings, reject a currency still in use or release document choices. These scenarios check the resulting configuration across capability boundaries.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish the feature’s cumulative acceptance boundary and record unimplemented joined outcomes. |
