---
id: SVC-COM-CAT-configuration
title: 'Configuration: checkout policies, stores and tax zones'
product_area: commerce
module: catalog
repository: services-commerce
source_module: modules/configuration
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
owns:
  - DOM-COM-CAT-001
  - DOM-COM-CAT-002
does_not_own:
  - Accounting supplies payment settings and financial reference records.
  - MOD-COM-ORD owns orders and checkout records using these settings.
  - MOD-CRM-ENT defines the organization roles named by stores.
  - MOD-PFM-INT registers the handlers selected by stores.
operations:
  - operation_id: createOrderingProfile
    intent: Prepare a new checkout policy with validated configuration.
    access: console
    permission: commerce.ordering-profiles.create
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: listOrderingProfiles
    intent: Browse the workspace’s checkout policies using supported filters.
    access: console
    permission: commerce.ordering-profiles.read
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: getOrderingProfile
    intent: Inspect the selected checkout policy and its retained details.
    access: console
    permission: commerce.ordering-profiles.read
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: getOrderingProfileUsage
    intent: Inspect stores and default selections retaining the selected checkout policy.
    access: console
    permission: commerce.ordering-profiles.read
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: updateOrderingProfile
    intent: Save permitted changes to the selected checkout policy at its read version.
    access: console
    permission: commerce.ordering-profiles.update
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: deleteOrderingProfile
    intent: Remove the selected checkout policy when protection and dependencies permit.
    access: console
    permission: commerce.ordering-profiles.delete
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: getOrderingProfileDefaults
    intent: Inspect workspace and application policy selections together.
    access: console
    permission: commerce.ordering-profiles.read
    realises:
      - CAP-COM-CAT-002
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: replaceOrderingProfileDefaults
    intent: 'Save the complete policy-default document, dropping omitted application selections.'
    access: console
    permission: commerce.ordering-profiles.update
    realises:
      - CAP-COM-CAT-002
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: resolveOrderingProfile
    intent: Identify the policy selected by explicit or default configuration and explain the source.
    access: console
    permission: commerce.ordering-profiles.read
    realises:
      - CAP-COM-CAT-002
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: createStore
    intent: Prepare a new store with validated configuration.
    access: console
    permission: commerce.stores.create
    realises:
      - CAP-COM-CAT-003
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: listStores
    intent: Browse the workspace’s stores using supported filters.
    access: console
    permission: commerce.stores.read
    realises:
      - CAP-COM-CAT-003
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: getStore
    intent: Inspect the selected store and its retained details.
    access: console
    permission: commerce.stores.read
    realises:
      - CAP-COM-CAT-003
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: updateStore
    intent: Save permitted changes to the selected store at its read version.
    access: console
    permission: commerce.stores.update
    realises:
      - CAP-COM-CAT-003
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: deleteStore
    intent: Remove the selected store when protection and dependencies permit.
    access: console
    permission: commerce.stores.delete
    realises:
      - CAP-COM-CAT-003
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: createTaxZone
    intent: Prepare a new tax zone with validated configuration.
    access: console
    permission: commerce.tax-zones.create
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: listTaxZones
    intent: Browse the workspace’s tax zones using supported filters.
    access: console
    permission: commerce.tax-zones.read
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: getTaxZone
    intent: Inspect the selected tax zone and its retained details.
    access: console
    permission: commerce.tax-zones.read
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: updateTaxZone
    intent: Save permitted changes to the selected tax zone at its read version.
    access: console
    permission: commerce.tax-zones.update
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: deleteTaxZone
    intent: Remove the selected tax zone when protection and dependencies permit.
    access: console
    permission: commerce.tax-zones.delete
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: configuration.resolveOrderingProfile
    intent: Provide checkout with the shared explicit and default policy selection.
    access: internal
    permission: none (in-process)
    realises:
      - CAP-COM-CAT-002
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: configuration.snapshotOf
    intent: Return the processing settings copied onto a placed order.
    access: internal
    permission: none (in-process)
    realises:
      - CAP-COM-CAT-001
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
  - operation_id: configuration.listActiveTaxZones
    intent: Supply active interim zones and rates to the tax provider.
    access: internal
    permission: none (in-process)
    realises:
      - CAP-COM-CAT-004
    published_to_submissions: 'not published: this operation has no registered Submissions binding'
events: []
jobs: []
integrations:
  - system: 'Accounting (business unit currencies, merchant accounts)'
    direction: outbound
    contract: >-
      Unit currency validation reads Accounting tables; merchant-account validation calls the shared
      Accounting client and logs connectivity bypass.
consistency:
  - rule: >-
      Policy writes and requested default transfers are atomic; defaults-map replacement is another atomic
      save.
    kind: transactional
    compensation: A refusal rolls back its configuration transaction.
  - rule: Store saves validate category references within their write transaction.
    kind: transactional
    compensation: Refused references prevent the commit.
  - rule: Zone replacement commits its ordered rate set with the parent.
    kind: transactional
    compensation: A failed write leaves the previous zone and rates.
  - rule: Store pictures are prepared before save and attached transactionally; released copies are settled later.
    kind: eventual
    compensation: Asset cleanup removes abandoned copies and retires detached pictures.
  - rule: >-
      Merchant-account matching is checked when Accounting answers; connectivity failure allows saving without
      that check.
    kind: eventual
    compensation: The service logs the unchecked save and performs no automatic verification recovery.
evidence:
  - >-
    services-commerce at c8b66a98: modules/configuration/aws/api/*.routes.ts (every route),
    services/persistence/*.ts, db/*.table.ts; aws/commerce.service.ts (ordering-profiles, stores, tax-zones
    permission groups).
  - 'react-console at baf6dae3: lib/commerce/ordering-profiles/live.ts, lib/commerce/stores/live.ts.'
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-LOG-004, TC-LOG-005, TC-AVL-002, TC-AVL-003, TC-MON-001, TC-MON-003, TC-MON-004, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002]
---

# Configuration: checkout policies, stores and tax zones

## What This Service Is For

Configuration supplies reusable processing policies, fallback policy selections, stores and interim tax zones. Orders uses its resolution and snapshot functions while processing sales.

## Boundary

Financial references belong to Accounting. Store and policy dependencies in checkouts and orders belong to Orders. Organization roles and stored handler references are supplied by other owners rather than defined here.

## Operations in Words

Staff inspect and maintain policies, defaults, stores and zones. The resolution endpoint explains explicit and default selection; checkout performs its additional selling-context choices. Internal readers expose policy snapshots and tax inputs. Route authority is recorded per operation, and no Submissions publication binding is present.

## Events and Jobs

Configuration runs no background job and publishes no event. System metadata attributes creation and the latest change without a historical change feed.

## Consistency Guarantees

Policy and default transfers, store saves and zone-rate replacements each have transactional boundaries. Picture cleanup occurs later. Merchant-account connectivity failure allows an unchecked save with a log warning.
