---
id: FAS-ACC-TRX-05
feature: FEAT-ACC-TRX-05
product_area: accounting
module: transactions
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-ACC-TRX-017
  - CAP-ACC-TRX-018
  - CAP-ACC-TRX-019
scenarios:
  - id: FAS-ACC-TRX-05-01
    title: Collection choices and financial standing remain explainable
    kind: behaviour
    exercises:
      - CAP-ACC-TRX-017
      - CAP-ACC-TRX-018
      - CAP-ACC-TRX-019
    relies_on:
      - ATS-ACC-TRX-017-01
      - ATS-ACC-TRX-018-02
      - ATS-ACC-TRX-019-02
    preconditions: >-
      A customer’s saved terms supply a due date, and its bills and available
      receipts cross a month end.
    steps:
      - do: >-
          Read current standing, capture the closed month and inspect the saved
          choices used for subsequent billing.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-02;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-02
    expected: >-
      Current and captured positions each reconcile at their own date and
      cutoff, and the saved choices remain attributable to the customer.
    negative: false
    data_needs: >-
      An isolated workspace, matching unit and currency, eligible accounts,
      products and open periods; branch-owned financial records and distinct
      caller identities.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-02;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-02
  - id: FAS-ACC-TRX-05-02
    title: Later-known correction changes today while preserving the capture
    kind: interaction
    exercises:
      - CAP-ACC-TRX-017
      - CAP-ACC-TRX-018
    relies_on:
      - ATS-ACC-TRX-017-01
      - ATS-ACC-TRX-018-02
      - ATS-ACC-TRX-018-05
    preconditions: A published month-end capture holds an 80.00 bill.
    steps:
      - do: >-
          Record a later-known backdated 20.00 credit memo and read current
          standing and the original run.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-02;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-05
    expected: Current debt is 60.00 and the earlier captured debt remains 80.00.
    negative: false
    data_needs: >-
      An isolated workspace, matching unit and currency, eligible accounts,
      products and open periods; branch-owned financial records and distinct
      caller identities.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-02;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-05
  - id: FAS-ACC-TRX-05-03
    title: Removing overrides restores future billing defaults
    kind: lifecycle
    exercises:
      - CAP-ACC-TRX-017
      - CAP-ACC-TRX-019
    relies_on:
      - ATS-ACC-TRX-017-02
      - ATS-ACC-TRX-019-04
    preconditions: A customer has saved terms and an existing bill with a resolved deadline.
    steps:
      - do: >-
          Remove the terms at their current version, reread defaults and inspect
          the existing bill’s overdue classification.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-02;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-04
    expected: >-
      Defaults return for later billing; the existing bill keeps its deadline
      and current classification.
    negative: false
    data_needs: >-
      An isolated workspace, matching unit and currency, eligible accounts,
      products and open periods; branch-owned financial records and distinct
      caller identities.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-02;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-04
  - id: FAS-ACC-TRX-05-04
    title: 'Standing, choices and aging use distinct read grants'
    kind: permission
    exercises:
      - CAP-ACC-TRX-017
      - CAP-ACC-TRX-018
      - CAP-ACC-TRX-019
    relies_on:
      - ATS-ACC-TRX-017-06
      - ATS-ACC-TRX-018-07
      - ATS-ACC-TRX-019-06
    preconditions: The caller holds only invoice-read authority.
    steps:
      - do: >-
          Read current standing, attempt saved-terms and aging reads, and
          attempt a customer-terms write.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-06;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-07;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-06
    expected: >-
      Standing is readable; the unrelated reads and mutation are denied without
      revealing another workspace’s position.
    negative: true
    data_needs: >-
      An isolated workspace, matching unit and currency, eligible accounts,
      products and open periods; branch-owned financial records and distinct
      caller identities.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-06;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-07;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-019-record-a-customer-s-collection-terms.md#ATS-ACC-TRX-019-06
  - id: FAS-ACC-TRX-05-05
    title: New aging publication invalidates only the old cursor
    kind: regression
    exercises:
      - CAP-ACC-TRX-017
      - CAP-ACC-TRX-018
    relies_on:
      - ATS-ACC-TRX-017-01
      - ATS-ACC-TRX-018-06
    preconditions: >-
      A reader holds a detail cursor for a published capture and current
      standing remains available.
    steps:
      - do: >-
          Publish another version, continue with the old cursor and read current
          standing afresh.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-06
    expected: >-
      The old cursor is refused instead of mixing capture rows; the current
      summary still reconciles to today’s financial facts.
    negative: true
    data_needs: >-
      An isolated workspace, matching unit and currency, eligible accounts,
      products and open periods; branch-owned financial records and distinct
      caller identities.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-017-know-where-a-customer-stands.md#ATS-ACC-TRX-017-01;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-018-report-receivables-at-a-past-month-end.md#ATS-ACC-TRX-018-06
evidence:
  - >-
    rhythm-v2-docs:specs/accounting/transactions/planning/features/FEAT-ACC-TRX-05-customer-balances-and-receivables-reporting.md:
    feature membership and linked capabilities, journeys and capability test
    specifications.
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-ACC-TRX-05-01
      - FAS-ACC-TRX-05-02
      - FAS-ACC-TRX-05-03
      - FAS-ACC-TRX-05-04
      - FAS-ACC-TRX-05-05
    why: Initial cumulative acceptance specification for the landed feature.
    provenance: documented
    source: 'rhythm-v2-docs:specs/CONVENTIONS.md#5.3 Feature Acceptance Suite (FAS)'
---

# Customer Balances and Receivables Reporting: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Staff can understand today’s customer position, read a retained month-end capture and maintain collection choices. Acceptance checks each view at its own date and knowledge cutoff.

## Interactions Between Capabilities

A later-known correction changes current standing while an earlier capture remains fixed. Saved choices influence future billing without rewriting deadlines already established on existing bills.

## Regression Record

Revision one establishes the initial cumulative suite. Later changes revisit dependent scenarios, and retired scenarios retain their identities and reasons.
