---
id: FAS-ACC-TRX-01
feature: FEAT-ACC-TRX-01
product_area: accounting
module: transactions
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-ACC-TRX-001
  - CAP-ACC-TRX-002
  - CAP-ACC-TRX-005
scenarios:
  - id: FAS-ACC-TRX-01-01
    title: A service bill remains usable after correction and delivery
    kind: behaviour
    exercises:
      - CAP-ACC-TRX-001
      - CAP-ACC-TRX-002
      - CAP-ACC-TRX-005
    relies_on:
      - ATS-ACC-TRX-001-07
      - ATS-ACC-TRX-002-01
      - ATS-ACC-TRX-005-03
    preconditions: >-
      Commerce creates an 80.00 invoice in an open batch and staff can amend and
      send it.
    steps:
      - do: >-
          Add an unpaid 20.00 line, render the changed invoice and send it to an
          explicit recipient.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-07;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-01;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-03
    expected: >-
      The same bill shows 100.00 with the later revision, and one submitted
      communication contains its current charges.
    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-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-07;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-01;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-03
  - id: FAS-ACC-TRX-01-02
    title: Amendment reaches the next customer document
    kind: interaction
    exercises:
      - CAP-ACC-TRX-002
      - CAP-ACC-TRX-005
    relies_on:
      - ATS-ACC-TRX-002-01
      - ATS-ACC-TRX-005-02
    preconditions: An issued unpaid invoice has already been rendered.
    steps:
      - do: Change an eligible line from 80.00 to 100.00 and render again.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-01;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-02
    expected: >-
      The next rendering contains the changed charge and revision while the
      financial difference remains in history.
    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-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-01;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-02
  - id: FAS-ACC-TRX-01-03
    title: Quote recognition and cancellation retain distinct endpoints
    kind: lifecycle
    exercises:
      - CAP-ACC-TRX-001
      - CAP-ACC-TRX-002
    relies_on:
      - ATS-ACC-TRX-001-12
      - ATS-ACC-TRX-002-08
    preconditions: Separate drafts can become an ordinary 80.00 bill and an 80.00 quotation.
    steps:
      - do: >-
          Issue both, convert the quotation, then void an untouched ordinary
          invoice and inspect the retained documents.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-12;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-08
    expected: >-
      Conversion retains the quotation’s number; the void retains its original
      amount and offsets its debt on the cancellation date.
    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-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-12;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-08
  - id: FAS-ACC-TRX-01-04
    title: Readers inspect billing without changing or sending it
    kind: permission
    exercises:
      - CAP-ACC-TRX-001
      - CAP-ACC-TRX-002
      - CAP-ACC-TRX-005
    relies_on:
      - ATS-ACC-TRX-002-10
      - ATS-ACC-TRX-005-06
    preconditions: >-
      A reader has an issued bill and lacks adjustment, update, void and email
      grants.
    steps:
      - do: >-
          Read the bill and its document, then attempt amendment, details, void
          and delivery.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-10;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-06
    expected: >-
      Inspection remains available and every mutation or delivery attempt fails
      without a changed document.
    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-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-10;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-005-send-a-customer-their-invoice.md#ATS-ACC-TRX-005-06
  - id: FAS-ACC-TRX-01-05
    title: A posted bill cannot enter the amendment flow
    kind: regression
    exercises:
      - CAP-ACC-TRX-001
      - CAP-ACC-TRX-002
    relies_on:
      - ATS-ACC-TRX-001-10
      - ATS-ACC-TRX-002-03
    preconditions: >-
      A real invoice’s batch has posted and the editor holds an earlier
      snapshot.
    steps:
      - do: Request a new commercial revision and then reread the invoice.
        provenance: proposed
        source: >-
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-10;
          rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-03
    expected: >-
      The request fails; retained commercial amounts and existing financial
      facts are unchanged.
    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-001-bill-a-customer-with-an-invoice.md#ATS-ACC-TRX-001-10;
      rhythm-v2-docs:specs/accounting/transactions/design/tests/ATS-ACC-TRX-002-correct-or-cancel-an-issued-invoice-before-its-batch-posts.md#ATS-ACC-TRX-002-03
evidence:
  - >-
    rhythm-v2-docs:specs/accounting/transactions/planning/features/FEAT-ACC-TRX-01-invoicing.md:
    feature membership and linked capabilities, journeys and capability test
    specifications.
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-ACC-TRX-01-01
      - FAS-ACC-TRX-01-02
      - FAS-ACC-TRX-01-03
      - FAS-ACC-TRX-01-04
      - FAS-ACC-TRX-01-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)'
---

# Invoicing: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Staff can prepare billing, make an eligible correction and deliver the resulting customer document. Acceptance follows the same bill through those actions so the displayed charges and retained financial history stay connected.

## Interactions Between Capabilities

Amendment changes what later rendering and delivery must contain. Posting changes the corrections staff can perform, while reading alone grants neither correction nor sending.

## Regression Record

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