---
id: ADR-ACC-PRD-004
title: Financial Setup Has Independent Permissions and Versioning
product_area: accounting
module: products
revision: 3
status: proposed
design_intent: confirmed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: A product's optional accounting setup has independent permissions, version and protection and is
  maintained through its own operations.
constrains:
- DOM-ACC-PRD-004
- SVC-ACC-PRD-products
- WF-ACC-PRD-002
- WF-ACC-PRD-005
- SCR-ACC-PRD-003
origin: 'services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D3 (Andrew, 2026-10-19: approve
  as Rhythm 1.0 behaviour)'
alternatives:
- option: Include finance fields in every catalogue write.
  why_not: A shared permission boundary would bind ordinary product changes to financial authority.
consequences:
- Console product and setup requests commit separately.
- Setup checks hold the product lock while consulting its price.
- Bulk setup requests can configure finance without replacing products.
supersedes: []
evidence:
- 'services-accounting at f47cb263: aws/accounting.service.ts (ProductAccountingPermissions); modules/products/services/persistence/product-accounting-setups.ts;
  docs/accounting/products.md (Accounting setup, Permissions).'
- 'react-console at baf6dae3: components/accounting-config/products/product-editor.tsx (useProductEditorState).'
---

# Financial Setup Has Independent Permissions and Versioning

## Context

The milestone preserves separate authority for catalogue editing and financial treatment. Roles can therefore receive setup access independently.

## Decision

A product's optional accounting setup has independent permissions, version and protection and is maintained through its own operations.

## Alternatives Considered

Include finance fields in every catalogue write. A shared permission boundary would bind ordinary product changes to financial authority.

## Consequences

The current page lacks an accounting-only edit mode. A combined request for callers holding both permissions remains a product option rather than a requirement inferred from the permission split.
