---
id: CAP-ACC-CLS-015
title: Request receivables aging for the closed month
feature: FEAT-ACC-CLS-04
product_area: accounting
module: close
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: inconsistent
supersedes:
  - 'RUL-ACC-RPT-024 (react-console acceptance inventory, the close''s request)'
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - >-
    services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a
    fiscal period: the closer's name, the A/R snapshot and how long it may take
purpose: >-
  A completed close requests a month-end aging version using the information
  known at its closing instant.
outcomes:
  - Reporting receives an aging request tied to the close.
  - >-
    The requested basis distinguishes partial workspace closure from closure
    across all units.
concepts:
  - CON-ACC-CLS-004
actors:
  - ACT-ACC-016
  - ACT-ACC-007
surfaces:
  - job
preconditions: []
postconditions: []
permissions: []
rules:
  - id: BR-CAP-ACC-CLS-015-01
    proved_by: [ATS-ACC-CLS-015-01, ATS-ACC-CLS-015-04, TST-ACC-CLS-021]
    statement: >-
      Finalization requests a superseding receivables aging version for calendar
      month end, known at the close instant and explained by the month and unit.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    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
    origin: Snapshot Architecture agreement of 2026-10-16 (PHASE-2-PLAN §4.1)
  - id: BR-CAP-ACC-CLS-015-02
    proved_by: [ATS-ACC-CLS-015-01, ATS-ACC-CLS-015-04, TST-ACC-CLS-021]
    statement: >-
      The requested basis is finalized only when every other unit’s overlapping
      period is closed; otherwise it is reconstructed.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    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
    origin: Snapshot Architecture agreement of 2026-10-16 (PHASE-2-PLAN §4.1)
  - id: BR-CAP-ACC-CLS-015-03
    proved_by: [ATS-ACC-CLS-015-02]
    statement: >-
      The product should complete closing without waiting for aging and show
      whether the requested snapshot is pending or ready.
    kind: policy
    enforced_at: []
    must_prove: true
    provenance: documented
    source: >-
      services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a
      fiscal period: the closer's name, the A/R snapshot and how long it may
      take
    origin: >-
      services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a
      fiscal period: the closer's name, the A/R snapshot and how long it may
      take
    examples:
      negative: An existing active aging run currently delays finalization.
  - id: BR-CAP-ACC-CLS-015-04
    proved_by: [ATS-ACC-CLS-015-03, ATS-ACC-CLS-015-05, TST-ACC-CLS-049]
    statement: >-
      The current workflow waits sixty seconds before another finalization
      attempt when an aging run for the month is active, repeating within its
      sixty-iteration limit.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    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
    origin: none
  - id: BR-CAP-ACC-CLS-015-05
    proved_by: []
    statement: >-
      The approved plan records a deployment-contract concern under which a
      close-trigger request may fail to produce an aging run.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: documented
    source: >-
      services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a
      fiscal period: the closer's name, the A/R snapshot and how long it may
      take
    origin: none
  - id: BR-CAP-ACC-CLS-015-06
    proved_by: [ATS-ACC-CLS-015-04]
    statement: >-
      Finalization retains the requested aging run, version and basis in its
      output.
    kind: policy
    enforced_at:
      - service
    must_prove: false
    provenance: observed
    source: >-
      services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:finalizeClose
    origin: none
scenarios:
  - id: SC-CAP-ACC-CLS-015-01
    given: >-
      One unit closes September while another unit still has an overlapping
      period open.
    when: The first unit finalizes its close.
    then: >-
      The aging request uses reconstructed basis; complete workspace closure is
      the condition for finalized basis.
    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
  - id: SC-CAP-ACC-CLS-015-02
    given: An aging run for September is active.
    when: A September close reaches finalization.
    then: >-
      The month remains closing while finalization waits and requests again
      within the workflow limit.
    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
edge_cases: []
constraints:
  - Transactions owns the aging type and Platform supplies the snapshot ledger.
depends_on:
  - CAP-ACC-CLS-008
related:
  - CAP-ACC-CLS-014
journeys:
  - JNY-ACC-CLS-001
open_questions: []
evidence:
  - >-
    services-accounting examination inputs:
    modules/fiscal-close/services/ports/ar-snapshot-port.ts,
    services/jobs/fiscal-close-job-tasks.ts (finalizeClose, monthOf),
    fiscal-close-jobs.ts (SNAPSHOT_WAIT_SECONDS, SNAPSHOT_WAIT_ITERATIONS),
    services/persistence/fiscal-periods.ts (anotherUnitHasMonthOpen); tests
    integration/services/jobs/close-job.integration.spec.js,
    tests/aws/fiscal-close.synth.ts; docs/fiscal-close/PHASE-2-PLAN.md §4.1;
    docs/milestones/plans/ACCT-M4-plan.md D8.
controls: [TC-IAM-001, TC-IAM-005, TC-IAM-006, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-DAT-001, TC-AVL-001, TC-AVL-004, TC-MON-001, TC-MON-002, TC-MON-004, TC-PI-002, TC-PI-003, TC-PI-004, TC-PI-005]
exercised_by: [FAS-ACC-CLS-04-02]
suites: [TST-ACC-CLS-021, TST-ACC-CLS-049]
---

# Request receivables aging for the closed month

## Purpose

A completed close requests a month-end aging version using the information known at its closing instant.

## How It Works

The closing step requests an aging version for the calendar month containing period end. It uses the close instant as the known-at boundary. The request replaces prior versions and explains which month and business unit caused it. Another unit’s overlapping open period makes the requested basis reconstructed. When none remains, the request uses finalized basis. An active aging run currently rolls back finalization and causes a timed wait. The month remains closing while the workflow attempts that step again. The approved plan calls for a different interaction. The product should finish the close without waiting and show requested or ready status. The deployment-contract concern remains documented evidence requiring resolution beyond this module’s pinned code.

## Relationships

- Finalization makes the aging request with the completed close.
- The close record is the separate retained evaluation of that same close.
