---
id: ADR-ACC-REC-006
title: 'A Second Person Finalizes by Default, with an Audited Waiver'
product_area: accounting
module: reconciliation
revision: 2
status: proposed
design_intent: confirmed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Require independent finalization by default and mark every approval made while
  that control is disabled.
constrains:
  - DOM-ACC-REC-003
  - STATE-ACC-REC-003
  - WF-ACC-REC-004
  - SCR-ACC-REC-003
  - RESP-ACC
origin: 'ACCT-M8 plan D3, approved by Andrew 2026-10-22'
alternatives:
  - option: Forbid any waiver of independent approval.
    why_not: >-
      A finance team with one eligible person would have no permitted completion
      path.
  - option: Allow every preparer to approve.
    why_not: That would remove the recorded independence control.
consequences:
  - The creator and qualifying audit contributors form the preparer set.
  - Reads provide a reason when preparation excludes finalization.
  - >-
    Changing the setting lacks an audited command, and contributor scope remains
    a product question.
supersedes: []
evidence:
  - >-
    services-accounting at f47cb263:
    modules/reconciliation/services/rules/segregation.ts;
    services/reconciliation-batches/batch-views.ts;
    docs/milestones/plans/ACCT-M8-plan.md D3.
---
# A Second Person Finalizes by Default, with an Audited Waiver

## Context

Preparation and approval need distinct authority, while the recorded policy permits a waiver.

## Decision

Require independent finalization by default and mark every approval made while that control is disabled.

## Alternatives Considered

Forbid any waiver of independent approval. A finance team with one eligible person would have no permitted completion path.

Allow every preparer to approve. That would remove the recorded independence control.

## Consequences

The creator and qualifying audit contributors form the preparer set. Reads provide a reason when preparation excludes finalization. Changing the setting lacks an audited command, and contributor scope remains a product question.
