---
id: ATS-ACC-CLS-015
scope: CAP-ACC-CLS-015
product_area: accounting
module: close
revision: 1
status: proposed
approved_by: null
approved_at: null
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
scenarios:
  - id: ATS-ACC-CLS-015-01
    title: Request reconstructed aging during partial closure
    level: api
    proves:
      - BR-CAP-ACC-CLS-015-01
      - BR-CAP-ACC-CLS-015-02
    preconditions: Another unit still has September open.
    steps: Complete the first unit’s September close.
    expected: >-
      The superseding September-end request uses reconstructed basis and the
      close-time boundary.
    negative: false
    data_needs: The multi-unit aging request fixture.
    bound_to:
      - >-
        services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
        the A/R aging snapshot of September, reconstructed while gamma still has
        September open
      - TST-ACC-CLS-021
    provenance: test
    source: >-
      services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
      the A/R aging snapshot of September, reconstructed while gamma still has
      September open
    category: interaction
  - id: ATS-ACC-CLS-015-02
    title: Complete closing without waiting for aging
    level: api
    proves:
      - BR-CAP-ACC-CLS-015-03
    preconditions: An aging run is already active.
    steps: Close its month.
    expected: >-
      The product should complete the month and display requested or ready aging
      status without waiting.
    negative: false
    data_needs: An active monthly aging run.
    bound_to: []
    provenance: proposed
    source: 'services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8'
    category: transition
  - id: ATS-ACC-CLS-015-03
    title: Verify the current timed aging wait
    level: unit
    proves:
      - BR-CAP-ACC-CLS-015-04
    preconditions: The close state machine is synthesized.
    steps: Inspect the repeat path for finalization.
    expected: >-
      The synthesized workflow includes a sixty-second wait before requesting
      finalization again.
    negative: false
    data_needs: The infrastructure synthesis fixture.
    bound_to:
      - >-
        services-accounting:tests/aws/fiscal-close.synth.ts#waits 60 s in a Wait
        state before finalize asks again for the month’s A/R snapshot
      - TST-ACC-CLS-049
    provenance: test
    source: >-
      services-accounting:tests/aws/fiscal-close.synth.ts#waits 60 s in a Wait
      state before finalize asks again for the month’s A/R snapshot
    category: boundary
  - id: ATS-ACC-CLS-015-04
    title: Keep aging request output with the successful record
    category: interaction
    level: api
    proves:
      - BR-CAP-ACC-CLS-015-01
      - BR-CAP-ACC-CLS-015-02
      - BR-CAP-ACC-CLS-015-06
    preconditions: Two units overlap the same calendar month and one remains open.
    steps: >-
      Close the first unit, inspect its captured close outputs and aging
      request, then reopen and close it again.
    expected: >-
      Each close records its own requested version and basis; a requested
      version is distinguishable from completed report computation.
    negative: false
    data_needs: Two units overlap the same calendar month and one remains open.
    bound_to: []
    provenance: proposed
    source:
      - >-
        rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
        It Does
      - >-
        services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
        the A/R aging snapshot of September, reconstructed while gamma still has
        September open
      - >-
        services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
        the A/R aging snapshot of September, reconstructed while gamma still has
        September open
      - >-
        services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    exercises:
      - CAP-ACC-CLS-015
      - CAP-ACC-CLS-014
      - CAP-ACC-CLS-008
      - CAP-ACC-CLS-009
      - CAP-ACC-CLS-010
      - CAP-ACC-CLS-003
    workflows:
      - WF-ACC-CLS-001
  - id: ATS-ACC-CLS-015-05
    title: Exhaust contention without a completed close
    category: failure
    level: api
    proves:
      - BR-CAP-ACC-CLS-015-04
      - BR-CAP-ACC-CLS-012-04
    preconditions: >-
      An aging run remains active through every allowed finalization attempt;
      test with and without committed recognition.
    steps: >-
      Run finalization through its repeat limit and settle failure, then inspect
      the period, run and snapshot.
    expected: >-
      No successful close snapshot is committed; the unrecognized case releases
      the month, while the recognized case retains it for recovery.
    negative: true
    data_needs: >-
      An aging run remains active through every allowed finalization attempt;
      test with and without committed recognition.
    bound_to: []
    provenance: proposed
    source: >-
      services-accounting:modules/fiscal-close/services/jobs/fiscal-close-jobs.ts:applyRunFailure
evidence:
  - >-
    services-accounting examination inputs: the bound integration and synthesis
    files.
  - >-
    Testing back-fill: pinned executable files are inspected; no backend or
    browser result is claimed.
coverage:
  rule: 'gap: FND-ACC-CLS-071'
  transition: covered
  validation: 'gap: FND-ACC-CLS-071'
  permission: not-applicable
  edge: 'gap: FND-ACC-CLS-071'
  failure: covered
  boundary: covered
  concurrency: 'gap: FND-ACC-CLS-071'
  invariant: 'gap: FND-ACC-CLS-071'
  interaction: covered
coverage_notes:
  rule:
    reason: >-
      Finalized aging basis, repeat exhaustion, output retention and the
      approved nonwaiting result need complete proof.
    provenance: unknown
    source: FND-ACC-CLS-071
  transition:
    scenarios:
      - ATS-ACC-CLS-015-02
    provenance: inferred
    source:
      - ATS-ACC-CLS-015-02
    note: Specified coverage does not establish that all variants execute or pass.
  validation:
    reason: >-
      Finalized aging basis, repeat exhaustion, output retention and the
      approved nonwaiting result need complete proof.
    provenance: unknown
    source: FND-ACC-CLS-071
  permission:
    reason: >-
      This capability declares no independent action grant; entry-point
      authority is exercised by the calling capability.
    provenance: inferred
    source:
      - CAP-ACC-CLS-015
      - WF-ACC-CLS-001
  edge:
    reason: >-
      Finalized aging basis, repeat exhaustion, output retention and the
      approved nonwaiting result need complete proof.
    provenance: unknown
    source: FND-ACC-CLS-071
  failure:
    scenarios:
      - ATS-ACC-CLS-015-05
    provenance: inferred
    source:
      - ATS-ACC-CLS-015-05
    note: Specified coverage does not establish that all variants execute or pass.
  boundary:
    scenarios:
      - ATS-ACC-CLS-015-03
    provenance: inferred
    source:
      - ATS-ACC-CLS-015-03
    note: Specified coverage does not establish that all variants execute or pass.
  concurrency:
    reason: >-
      Finalized aging basis, repeat exhaustion, output retention and the
      approved nonwaiting result need complete proof.
    provenance: unknown
    source: FND-ACC-CLS-071
  invariant:
    reason: >-
      Finalized aging basis, repeat exhaustion, output retention and the
      approved nonwaiting result need complete proof.
    provenance: unknown
    source: FND-ACC-CLS-071
  interaction:
    scenarios:
      - ATS-ACC-CLS-015-01
      - ATS-ACC-CLS-015-04
    provenance: inferred
    source:
      - ATS-ACC-CLS-015-01
      - ATS-ACC-CLS-015-04
    note: Specified coverage does not establish that all variants execute or pass.
design_coverage:
  objects:
    - DOM-ACC-CLS-004
  invariants:
    - id: INV-DOM-ACC-CLS-004-01
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-02
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-03
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-04
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-05
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-06
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-07
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-08
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
    - id: INV-DOM-ACC-CLS-004-09
      scenarios: []
      gap: FND-ACC-CLS-071
      provenance: unknown
      source: FND-ACC-CLS-071
  permissions: []
  workflows:
    - WF-ACC-CLS-001
  state_models: []
  transitions: []
  interactions:
    - with: CAP-ACC-CLS-014
      scenario: ATS-ACC-CLS-015-04
      provenance: proposed
      source:
        - >-
          rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
          It Does
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    - with: CAP-ACC-CLS-008
      scenario: ATS-ACC-CLS-015-04
      provenance: proposed
      source:
        - >-
          rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
          It Does
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    - with: CAP-ACC-CLS-009
      scenario: ATS-ACC-CLS-015-04
      provenance: proposed
      source:
        - >-
          rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
          It Does
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    - with: CAP-ACC-CLS-010
      scenario: ATS-ACC-CLS-015-04
      provenance: proposed
      source:
        - >-
          rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
          It Does
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    - with: CAP-ACC-CLS-003
      scenario: ATS-ACC-CLS-015-04
      provenance: proposed
      source:
        - >-
          rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-001-close-a-month.md#What
          It Does
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#requests
          the A/R aging snapshot of September, reconstructed while gamma still
          has September open
        - >-
          services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
---
# Request receivables aging for the closed month: Capability Test Specification

## Coverage

The table maps each required rule to its specified cases or an explicit finding. Category coverage describes the specification; executable bindings and recorded run results establish different kinds of evidence. Proposed cases remain unqualified.

| Rule | Scenarios or Finding |
|---|---|
| `BR-CAP-ACC-CLS-015-01` | `ATS-ACC-CLS-015-01`, `ATS-ACC-CLS-015-04` |
| `BR-CAP-ACC-CLS-015-02` | `ATS-ACC-CLS-015-01`, `ATS-ACC-CLS-015-04` |
| `BR-CAP-ACC-CLS-015-03` | `ATS-ACC-CLS-015-02` |
| `BR-CAP-ACC-CLS-015-04` | `ATS-ACC-CLS-015-03`, `ATS-ACC-CLS-015-05` |

## Interactions With Related Capabilities

Aging belongs to Reporting, while closing requests and retains its reference. The interaction cases compare that request with the closed month and later correction. Request creation is distinct from completed report computation, and the nonwaiting product expectation remains unproved.
