---
id: ADR-ACC-BKS-012
title: Platform orchestrates Accounting lifecycle participants
product_area: accounting
module: books
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Participants answer provisioning, verification, inventory, purge and export
  calls. Configuration provisions five system payment methods; purge removes one
  table batch with change capture suppressed and requires deleting standing.
  Export applies recognized-secret checks before staging. No participant
  supports reset.
constrains:
  - SVC-ACC-BKS-maintenance
  - WF-ACC-BKS-009
  - WF-ACC-BKS-010
  - WF-ACC-BKS-011
  - STATE-ACC-BKS-005
  - DOM-ACC-BKS-006
origin: >-
  Platform's workspace provisioning and deletion plan and the workspace data
  export (as cited in code); services-accounting
  docs/architecture/accounting-2.0/02-decisions.md#2.11 decision D-01 (five
  provisioned methods); FND-ACC-BKS-024
alternatives:
  - option: Run an independent Accounting deletion loop.
    why_not: >-
      That proposed design would require coordination with Platform’s
      cross-application progress and continuation.
  - option: Provision a default chart.
    why_not: >-
      The examined provisioning step creates no unit or chart; choosing customer
      accounting setup would require a separate product decision.
  - option: Provide a reset operation.
    why_not: >-
      The registered lifecycle contract excludes reset and retains configuration
      during imported-data reset.
consequences:
  - >-
    Committed purge batches are irreversible; continuation resumes from
    remaining rows rather than restoring deleted data.
  - >-
    Participants and export readers are declared beside several owning modules
    and registered by maintenance.
  - >-
    The declared participant coverage check catches an undeclared table during
    build verification.
supersedes: []
evidence:
  - >-
    services-accounting at f47cb263:
    modules/maintenance/services/lifecycle/tenant-lifecycle-operations.ts
  - 'services-accounting at f47cb263: modules/maintenance/services/participants/*'
---

# Platform orchestrates Accounting lifecycle participants

## Context

Accounting provides bounded lifecycle steps across its records. Platform owns the workspace and the jobs that order and repeat those steps.

## Decision

Participants answer provisioning, verification, inventory, purge and export calls. Configuration provisions five system payment methods; purge removes one table batch with change capture suppressed and requires deleting standing. Export applies recognized-secret checks before staging. No participant supports reset.

## Alternatives Considered

Run an independent Accounting deletion loop. That proposed design would require coordination with Platform’s cross-application progress and continuation.

Provision a default chart. The examined provisioning step creates no unit or chart; choosing customer accounting setup would require a separate product decision.

Provide a reset operation. The registered lifecycle contract excludes reset and retains configuration during imported-data reset.

## Consequences

Committed purge batches are irreversible; continuation resumes from remaining rows rather than restoring deleted data.

Participants and export readers are declared beside several owning modules and registered by maintenance.

The declared participant coverage check catches an undeclared table during build verification.
