---
id: FAS-ACC-PRD-03
title: Selling Settings Acceptance
feature: FEAT-ACC-PRD-03
product_area: accounting
module: products
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-ACC-PRD-010
  - CAP-ACC-PRD-011
  - CAP-ACC-PRD-012
  - CAP-ACC-PRD-013
  - CAP-ACC-PRD-014
scenarios:
  - id: FAS-ACC-PRD-03-01
    title: A product reads back its complete supported selling configuration
    kind: behaviour
    exercises:
      - CAP-ACC-PRD-010
      - CAP-ACC-PRD-011
      - CAP-ACC-PRD-012
      - CAP-ACC-PRD-013
      - CAP-ACC-PRD-014
    relies_on:
      - ATS-ACC-PRD-010-01
      - ATS-ACC-PRD-011-06
      - ATS-ACC-PRD-012-01
      - ATS-ACC-PRD-013-04
      - ATS-ACC-PRD-014-01
    preconditions: >-
      A fixed-priced product has same-unit components, eligible task references and a shared confirmation
      template.
    steps: >-
      Save a bundle, discounts, a ceiling, tasks and shared confirmation together; retrieve and compare every
      configured collection.
    expected: One successful aggregate read contains the selected selling configuration in its saved order.
    negative: false
    data_needs: >-
      A fixed-priced product has same-unit components, eligible task references and a shared confirmation
      template.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-01;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-011-sell-products-together-as-a-bundle.md#ATS-ACC-PRD-011-06;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-012-limit-how-much-one-customer-may-buy.md#ATS-ACC-PRD-012-01;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-013-create-follow-up-tasks-when-a-product-is-bought.md#ATS-ACC-PRD-013-04;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-01
  - id: FAS-ACC-PRD-03-02
    title: One invalid selling setting prevents the combined correction
    kind: interaction
    exercises:
      - CAP-ACC-PRD-010
      - CAP-ACC-PRD-011
      - CAP-ACC-PRD-012
      - CAP-ACC-PRD-013
      - CAP-ACC-PRD-014
      - CAP-ACC-PRD-004
    relies_on:
      - ATS-ACC-PRD-010-02
      - ATS-ACC-PRD-011-06
      - ATS-ACC-PRD-004-06
      - ATS-ACC-PRD-014-02
    preconditions: 'A configured product has discounts, components, ceiling, tasks and owned confirmation.'
    steps: >-
      Change the name and template while submitting overlapping discount bands; retrieve the whole product and
      inspect communications calls.
    expected: >-
      The invalid local configuration prevents the correction and any owned-template mutation, preserving the
      prior aggregate.
    negative: true
    data_needs: 'A configured product has discounts, components, ceiling, tasks and owned confirmation.'
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-02;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-011-sell-products-together-as-a-bundle.md#ATS-ACC-PRD-011-06;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-06;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-02
  - id: FAS-ACC-PRD-03-03
    title: Disabling selling settings leaves the priced catalogue product
    kind: lifecycle
    exercises:
      - CAP-ACC-PRD-010
      - CAP-ACC-PRD-011
      - CAP-ACC-PRD-012
      - CAP-ACC-PRD-013
      - CAP-ACC-PRD-014
      - CAP-ACC-PRD-004
    relies_on:
      - ATS-ACC-PRD-010-03
      - ATS-ACC-PRD-012-03
      - ATS-ACC-PRD-013-03
      - ATS-ACC-PRD-014-03
      - ATS-ACC-PRD-004-02
    preconditions: A valid fixed-priced product carries each optional selling setting.
    steps: >-
      Replace with empty discount, ceiling, task and confirmation settings and an empty component collection
      while retaining a valid grid.
    expected: >-
      The product and prices remain; the disabled settings and components clear, with owned-template cleanup
      where applicable.
    negative: false
    data_needs: A valid fixed-priced product carries each optional selling setting.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-03;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-012-limit-how-much-one-customer-may-buy.md#ATS-ACC-PRD-012-03;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-013-create-follow-up-tasks-when-a-product-is-bought.md#ATS-ACC-PRD-013-03;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-03;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-02
  - id: FAS-ACC-PRD-03-04
    title: Selling configuration follows product write authority
    kind: permission
    exercises:
      - CAP-ACC-PRD-010
      - CAP-ACC-PRD-011
      - CAP-ACC-PRD-012
      - CAP-ACC-PRD-013
      - CAP-ACC-PRD-014
      - CAP-ACC-PRD-004
    relies_on:
      - ATS-ACC-PRD-004-07
    preconditions: A reader can inspect a product with each selling setting.
    steps: >-
      Attempt a combined selling-settings replacement as the reader, then retrieve it using an authorized
      read.
    expected: Access refusal leaves every selling setting unchanged.
    negative: true
    data_needs: A reader can inspect a product with each selling setting.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
      rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-07
  - id: FAS-ACC-PRD-03-05
    title: Console rename and withdrawal preserve API selling settings
    kind: regression
    exercises:
      - CAP-ACC-PRD-010
      - CAP-ACC-PRD-012
      - CAP-ACC-PRD-013
      - CAP-ACC-PRD-004
      - CAP-ACC-PRD-005
    relies_on:
      - ATS-ACC-PRD-004-09
      - ATS-ACC-PRD-012-02
      - ATS-ACC-PRD-013-05
    preconditions: 'Two API-created products hold discounts, a ceiling, a task instruction, fee and notes.'
    steps: >-
      Rename one in its editor and deactivate the other from the list, comparing API reads before and after
      each action.
    expected: Both writes preserve all configured fixture settings while advancing the appropriate product versions.
    negative: false
    data_needs: 'Two API-created products hold discounts, a ceiling, a task instruction, fee and notes.'
    bound_to:
      - TST-ACC-PRD-006
    provenance: test
    source: 'react-console:acceptance/accounting/playwright/journeys/products/ACT-ACC-0112.spec.ts#ACT-ACC-0112'
evidence:
  - >-
    rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-01;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-011-sell-products-together-as-a-bundle.md#ATS-ACC-PRD-011-06;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-012-limit-how-much-one-customer-may-buy.md#ATS-ACC-PRD-012-01;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-013-create-follow-up-tasks-when-a-product-is-bought.md#ATS-ACC-PRD-013-04;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-01
  - >-
    rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-02;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-011-sell-products-together-as-a-bundle.md#ATS-ACC-PRD-011-06;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-06;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-02
  - >-
    rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-010-offer-discounts-for-buying-in-quantity.md#ATS-ACC-PRD-010-03;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-012-limit-how-much-one-customer-may-buy.md#ATS-ACC-PRD-012-03;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-013-create-follow-up-tasks-when-a-product-is-bought.md#ATS-ACC-PRD-013-03;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-014-send-the-buyer-a-confirmation-e-mail.md#ATS-ACC-PRD-014-03;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-02
  - >-
    rhythm-v2-docs:specs/accounting/products/planning/features/FEAT-ACC-PRD-03-selling-features.md#capabilities;
    rhythm-v2-docs:specs/accounting/products/design/tests/ATS-ACC-PRD-004-change-a-product-without-losing-another-person-s-edit.md#ATS-ACC-PRD-004-07
  - 'react-console:acceptance/accounting/playwright/journeys/products/ACT-ACC-0112.spec.ts#ACT-ACC-0112'
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-ACC-PRD-03-01
      - FAS-ACC-PRD-03-02
      - FAS-ACC-PRD-03-03
      - FAS-ACC-PRD-03-04
      - FAS-ACC-PRD-03-05
    reason: Initial cumulative feature acceptance coverage from the pinned specification and executable evidence.
    provenance: documented
    source: 'rhythm-v2-docs:specs/CONVENTIONS.md#5.3 Feature Acceptance Suite (`FAS`)'
---

# Selling Settings: Feature Acceptance Suite

## What the Feature Must Do as a Whole

The suite treats optional selling settings as one product configuration that staff can save, inspect, disable and preserve during ordinary editing. Downstream discount application, purchase restriction, task creation and message sending require their consumers to supply execution proof.

## Interactions Between Capabilities

A refusal in one selling setting can prevent every part of a combined correction. Console editing and list withdrawal must also preserve API-configured values, while owned confirmation content has a separate remote failure boundary.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative acceptance for the feature and retain the unresolved execution boundaries. |
