---
id: FAS-ACC-BAT-01
feature: FEAT-ACC-BAT-01
product_area: accounting
module: batches
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  rhythm-v2-docs: 37405d50d1465ea0571a66095d98ebec4db04175
capabilities:
  - CAP-ACC-BAT-001
  - CAP-ACC-BAT-002
  - CAP-ACC-BAT-003
  - CAP-ACC-BAT-004
  - CAP-ACC-BAT-005
  - CAP-ACC-BAT-006
  - CAP-ACC-BAT-007
  - CAP-ACC-BAT-008
scenarios:
  - id: FAS-ACC-BAT-01-01
    title: Collection remains identifiable through edits
    kind: behaviour
    exercises:
      - CAP-ACC-BAT-001
      - CAP-ACC-BAT-002
      - CAP-ACC-BAT-003
    relies_on:
      - ATS-ACC-BAT-001-01
      - ATS-ACC-BAT-002-02
      - ATS-ACC-BAT-003-06
    preconditions: An isolated unit has open fiscal periods.
    steps:
      - do: >-
          Create Morning, save description First, rename it to Evening and
          retrieve it through the list and detail.
        expect: >-
          The created reference remains stable, both reads show Evening and the
          saved description.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-001-open-a-batch-to-collect-a-business-unit-s-transactions.md#ATS-ACC-BAT-001-01;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-002-find-batches-and-see-what-they-hold.md#ATS-ACC-BAT-002-02;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-06
    expected: >-
      The created reference remains stable, both reads show Evening and the
      saved description.
    negative: false
    data_needs: >-
      An isolated workspace, business unit and owned fixtures matching the
      stated accounting setup.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-001-open-a-batch-to-collect-a-business-unit-s-transactions.md#ATS-ACC-BAT-001-01;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-002-find-batches-and-see-what-they-hold.md#ATS-ACC-BAT-002-02;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-06
  - id: FAS-ACC-BAT-01-02
    title: Finishing intake changes available document work
    kind: interaction
    exercises:
      - CAP-ACC-BAT-001
      - CAP-ACC-BAT-004
      - CAP-ACC-BAT-007
      - CAP-ACC-BAT-008
    relies_on:
      - ATS-ACC-BAT-004-01
      - ATS-ACC-BAT-007-01
      - ATS-ACC-BAT-008-02
      - ATS-ACC-BAT-008-03
    preconditions: Attention is enabled and Morning contains one issued invoice.
    steps:
      - do: >-
          Close Morning, try to issue another invoice into it, inspect waiting
          attention, then reopen it and issue the waiting invoice.
        expect: >-
          Closed intake refuses issuance; reopening permits it and resolves the
          waiting attention item.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-01;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-007-keep-each-document-in-an-accepting-batch-and-freeze-it-once.md#ATS-ACC-BAT-007-01;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-008-tell-the-posting-team-which-batches-are-waiting-to-be-posted.md#ATS-ACC-BAT-008-02;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-008-tell-the-posting-team-which-batches-are-waiting-to-be-posted.md#ATS-ACC-BAT-008-03
    expected: >-
      Closed intake refuses issuance; reopening permits it and resolves the
      waiting attention item.
    negative: true
    data_needs: >-
      An isolated workspace, business unit and owned fixtures matching the
      stated accounting setup.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-01;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-007-keep-each-document-in-an-accepting-batch-and-freeze-it-once.md#ATS-ACC-BAT-007-01;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-008-tell-the-posting-team-which-batches-are-waiting-to-be-posted.md#ATS-ACC-BAT-008-02;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-008-tell-the-posting-team-which-batches-are-waiting-to-be-posted.md#ATS-ACC-BAT-008-03
  - id: FAS-ACC-BAT-01-03
    title: Scheduled retirement and empty cleanup stay consistent
    kind: lifecycle
    exercises:
      - CAP-ACC-BAT-001
      - CAP-ACC-BAT-003
      - CAP-ACC-BAT-004
      - CAP-ACC-BAT-005
      - CAP-ACC-BAT-006
      - CAP-ACC-BAT-008
    relies_on:
      - ATS-ACC-BAT-005-04
      - ATS-ACC-BAT-006-02
      - ATS-ACC-BAT-006-06
    preconditions: Two unused Open batches have future close schedules.
    steps:
      - do: >-
          Remove one close time by editing; archive and unarchive the other;
          delete both and inspect schedules and attention.
        expect: Both batches are absent without schedules or open waiting items.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-005-close-a-batch-automatically-at-a-chosen-time.md#ATS-ACC-BAT-005-04;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-02;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-06
    expected: Both batches are absent without schedules or open waiting items.
    negative: false
    data_needs: >-
      An isolated workspace, business unit and owned fixtures matching the
      stated accounting setup.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-005-close-a-batch-automatically-at-a-chosen-time.md#ATS-ACC-BAT-005-04;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-02;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-06
  - id: FAS-ACC-BAT-01-04
    title: Reader and staff collection controls differ
    kind: permission
    exercises:
      - CAP-ACC-BAT-001
      - CAP-ACC-BAT-002
      - CAP-ACC-BAT-003
      - CAP-ACC-BAT-004
      - CAP-ACC-BAT-006
      - CAP-ACC-BAT-007
    relies_on:
      - ATS-ACC-BAT-001-09
      - ATS-ACC-BAT-002-01
      - ATS-ACC-BAT-003-10
      - ATS-ACC-BAT-004-05
      - ATS-ACC-BAT-006-01
    preconditions: Reader and staff personas share visibility of an isolated Open batch.
    steps:
      - do: >-
          Read its list and detail as the reader, attempt writes, then create
          and edit as permitted staff.
        expect: >-
          Read access succeeds; reader mutations return 403 and permitted staff
          saves succeed.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-001-open-a-batch-to-collect-a-business-unit-s-transactions.md#ATS-ACC-BAT-001-09;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-002-find-batches-and-see-what-they-hold.md#ATS-ACC-BAT-002-01;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-10;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-05;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-01
    expected: >-
      Read access succeeds; reader mutations return 403 and permitted staff
      saves succeed.
    negative: true
    data_needs: >-
      An isolated workspace, business unit and owned fixtures matching the
      stated accounting setup.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-001-open-a-batch-to-collect-a-business-unit-s-transactions.md#ATS-ACC-BAT-001-09;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-002-find-batches-and-see-what-they-hold.md#ATS-ACC-BAT-002-01;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-10;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-05;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-01
  - id: FAS-ACC-BAT-01-05
    title: Protected collections preserve their original state
    kind: regression
    exercises:
      - CAP-ACC-BAT-003
      - CAP-ACC-BAT-004
      - CAP-ACC-BAT-006
      - CAP-ACC-BAT-007
    relies_on:
      - ATS-ACC-BAT-003-03
      - ATS-ACC-BAT-004-03
      - ATS-ACC-BAT-006-02
      - ATS-ACC-BAT-007-04
    preconditions: A Posted batch and its documents exist in an Open period.
    steps:
      - do: >-
          Attempt ordinary details changes, Archive, Delete and reassignment of
          its invoice.
        expect: >-
          All attempted mutations fail and the completed collection and its
          document references remain unchanged.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-03;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-03;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-02;
          rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-007-keep-each-document-in-an-accepting-batch-and-freeze-it-once.md#ATS-ACC-BAT-007-04
    expected: >-
      All attempted mutations fail and the completed collection and its document
      references remain unchanged.
    negative: true
    data_needs: >-
      An isolated workspace, business unit and owned fixtures matching the
      stated accounting setup.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-003-correct-a-batch-s-details-while-it-is-still-workable.md#ATS-ACC-BAT-003-03;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-004-move-a-batch-through-its-working-life-with-named-actions.md#ATS-ACC-BAT-004-03;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-006-delete-a-batch-that-holds-nothing.md#ATS-ACC-BAT-006-02;
      rhythm-v2-docs:specs/accounting/batches/design/tests/ATS-ACC-BAT-007-keep-each-document-in-an-accepting-batch-and-freeze-it-once.md#ATS-ACC-BAT-007-04
evidence:
  - source: CAP-ACC-BAT-001
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-002
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-003
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-004
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-005
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-006
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-007
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
  - source: CAP-ACC-BAT-008
    provenance: documented
    note: >-
      Feature-level scenarios compose the capability outcomes; no complete
      executable binding is inferred from isolated assertions.
---

# Batch collection and control: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Collection, details, intake, scheduling and posting attention form one preparation experience. The suite follows a collection across those responsibilities and checks that one action changes the next available operation.

## Interactions Between Capabilities

Closing and reopening connect document intake with attention. Scheduling and deletion are checked together because removing a collection must also retire its background work.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative feature acceptance from the pinned planning and design outcomes. |
