---
id: ACTORS-ACC
title: Accounting Actors
product_area: accounting
revision: 1
status: draft
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
actors:
  - id: ACT-ACC-001
    name: Books Administrator
    who: >-
      A controller or administrator responsible for establishing and maintaining
      the customer’s accounting configuration.
    goals:
      - Prepare complete accounting setup.
      - Maintain configuration without stranding dependencies.
    can_broadly:
      - >-
        Maintain units, financial destinations, calendars, shared definitions,
        transitional tax setup and document content.
      - Select workspace accounting policy.
    represented_by:
      - >-
        Administrator-tier create, update and delete keys for the listed
        accounting configuration resources: business-units, gl-accounts,
        bank-accounts, merchant-accounts, departments, accounting-projects,
        payment-terms, payment-methods, tax-classes, tax-zones, exchange-rates,
        fiscal-years, document-templates and settings.
    surfaces:
      - console
      - api
  - id: ACT-ACC-002
    name: Finance Reviewer
    who: >-
      A staff reviewer, treasurer or auditor authorized to inspect Accounting
      configuration without changing it.
    goals:
      - Understand the configured books.
      - Review information safely.
    can_broadly:
      - >-
        Inspect configuration, preview content and read authorized schedule
        history.
    represented_by:
      - accounting.application.access
      - Read Only tier of each accounting resource read key.
    surfaces:
      - console
      - api
  - id: ACT-ACC-003
    name: Transaction Staff
    who: >-
      A staff member who encounters configured choices while entering invoices
      and receipts.
    goals:
      - Use the intended accounting context.
      - Choose suitable transaction configuration.
    can_broadly:
      - Use saved configuration through financial workflows.
    represented_by:
      - >-
        Transaction user permissions such as accounting.invoices.create and
        accounting.payments.create, together with configuration read
        permissions.
    surfaces:
      - console
  - id: ACT-ACC-004
    name: Financial Service Consumer
    who: >-
      Commerce or an Accounting module consuming shared configuration for
      pricing, posting, reconciliation or rendering.
    goals:
      - Resolve financial configuration consistently.
    can_broadly:
      - >-
        Read applicable rates, posting destinations, content and periods through
        service and database interfaces.
    represented_by:
      - >-
        Platform service principals described by D-07 and local calls from other
        Accounting modules.
    surfaces:
      - api
      - job
  - id: ACT-ACC-005
    name: Workspace and Schedule Operator
    who: >-
      Platform lifecycle jobs and Accounting scheduling workers processing
      workspace operations.
    goals:
      - Complete Accounting’s customer-data lifecycle contribution.
      - Process due recurring work.
    can_broadly:
      - >-
        Provision and verify initial data, inventory and export customer
        datasets, purge owned data and dispatch scheduled occurrences.
    represented_by:
      - >-
        System execution through lifecycle and scheduling workers without a
        person’s resource permission key.
    surfaces:
      - job
  - id: ACT-ACC-006
    name: Accounting Administrator
    who: A finance administrator responsible for the product catalogue and its accounting configuration.
    goals:
      - Maintain products that staff can use in sales.
      - Keep account assignments aligned with finance requirements.
    can_broadly:
      - 'Administer product creation, changes, lifecycle and removal.'
      - Maintain or remove product accounting configuration.
    represented_by:
      - accounting.products.create
      - accounting.products.update
      - accounting.products.delete
      - accounting.product-accounting.update
      - accounting.product-accounting.delete
    surfaces:
      - console
      - api
  - id: ACT-ACC-007
    name: Accounting Reader
    who: A staff reader with access to product information and accounting configuration.
    goals:
      - Understand a product’s prices and accounting treatment.
    can_broadly:
      - 'Inspect product kinds, products, accounting setups and setup gaps.'
    represented_by:
      - accounting.products.read
      - accounting.product-accounting.read
      - accounting.tax-classes.read
    surfaces:
      - console
      - api
  - id: ACT-ACC-008
    name: Product Accounting Specialist
    who: >-
      A finance specialist whose access to accounting configuration is granted separately from access to
      product editing.
    goals:
      - Maintain revenue treatment without changing product prices.
    can_broadly:
      - Maintain individual accounting setups and submit bulk setup changes.
      - Find products lacking accounting configuration.
    represented_by:
      - accounting.product-accounting.read
      - accounting.product-accounting.update
      - accounting.product-accounting.delete
    surfaces:
      - console
      - api
  - id: ACT-ACC-009
    name: Tax Administrator
    who: A tax administrator responsible for the existing product-kind tax defaults.
    goals:
      - Maintain suitable default tax assignments.
    can_broadly:
      - Maintain and remove product-kind tax defaults.
    represented_by:
      - accounting.tax-classes.read
      - accounting.tax-classes.update
      - accounting.tax-classes.delete
    surfaces:
      - console
      - api
  - id: ACT-ACC-010
    name: Domain Application
    who: A Rhythm application responsible for products belonging to its own product kinds.
    goals:
      - Save a domain record and its shared product within one transaction.
    can_broadly:
      - 'Save, replace and retire products belonging to the application.'
    represented_by:
      - service principal svc_<service>
      - database role rhythm_accounting_product_writer
    surfaces:
      - api
      - job
  - id: ACT-ACC-011
    name: Accounting System
    who: 'Rhythm processes that consume the catalogue for pricing, invoicing, posting and workspace maintenance.'
    goals:
      - Use product configuration consistently when processing sales.
    can_broadly:
      - 'Read product information, prices, accounting configuration and tax assignments.'
    represented_by:
      - system caller
      - rhythm_table_reader
    surfaces:
      - job
  - id: ACT-ACC-012
    name: Accounting Staff User
    who: >-
      A staff member who raises invoices and records payments and meets configuration through pickers and defaults.
    goals:
    - Work in the right business unit
    - Choose the right terms, methods and accounts on transactions
    can_broadly:
    - Use configuration on transactions without changing it
    represented_by:
    - >-
      user tier of the transaction keys (for example accounting.invoices.create, accounting.payments.create) with
      the configuration read keys
    surfaces:
    - console
  - id: ACT-ACC-013
    name: Rhythm Services
    who: >-
      Commerce and the other Accounting modules, which read configuration to price, post, reconcile and render.
    goals:
    - Resolve rates, accounts, templates and periods the same way every time
    can_broadly:
    - >-
      Read exchange rates, default accounts, templates and fiscal periods through service functions and the database
    represented_by:
    - Platform-issued service principals (D-07); in-process calls of other Accounting modules
    surfaces:
    - api
    - job
  - id: ACT-ACC-014
    name: Rhythm Platform Operations
    who: >-
      Platform’s provisioning, deletion and export jobs and Accounting’s own scheduler acting on a workspace.
    goals:
    - Create, serve, export and erase a workspace’s Accounting data completely
    - Run scheduled work on time
    can_broadly:
    - >-
      Provision, verify, inventory, export and purge Accounting data; dispatch and run scheduled work
    represented_by:
    - >-
      system execution (the tenant lifecycle function and the schedule dispatcher and consumer); no user permission
      key
    surfaces:
    - job
  - id: ACT-ACC-015
    name: Month-End Closer
    who: >-
      A controller or finance lead responsible for confirming monthly completion
      and requesting an eligible correction to a closed period.
    goals:
      - Complete closing after reviewing the books and payment reconciliation.
      - Make corrections while retaining evidence of the earlier close.
    can_broadly:
      - Review readiness, submit close and reopen requests, and recover interrupted runs.
    represented_by:
      - accounting.fiscal-periods.read
      - accounting.fiscal-periods.close
      - accounting.fiscal-periods.reopen
    surfaces:
      - console
      - api
  - id: ACT-ACC-016
    name: Accounting Close Job
    who: >-
      System execution that carries out saved close and reopen requests through
      durable workflow steps.
    goals:
      - Complete protected period changes while retaining committed work and execution evidence.
    can_broadly:
      - >-
        Take the period, evaluate required conditions, invoke close-owned revenue
        processing, finalize its state and request future-year generation.
    represented_by:
      - fiscal_period_close and fiscal_period_reopen system execution with the system caller’s grants.
    surfaces:
      - job

  - id: ACT-ACC-017
    name: Reconciliation Preparer
    who: A finance colleague who assembles the deposit explanation and supplies its supporting records.
    goals:
      - Prepare a clear explanation for each processor deposit.
      - Keep matching work ready for independent review.
    can_broadly:
      - Record and maintain payouts.
      - Assemble reconciliation drafts and supporting material.
      - Work through reconciliation problems.
    represented_by:
      - 'policy:accounting:reconciliation-preparer'
      - accounting.payouts.create
      - accounting.payouts.update
      - accounting.payouts.delete
      - accounting.payouts.verify
      - accounting.reconciliation-batches.create
      - accounting.reconciliation-batches.update
      - accounting.reconciliation-batches.delete
      - accounting.reconciliation-exceptions.update
    surfaces:
      - console
      - api
    provenance: observed
    source: 'services-accounting:aws/accounting.service.ts:ReconciliationBuiltInPolicies'
  - id: ACT-ACC-018
    name: Reconciliation Approver
    who: A finance reviewer who authorizes the prepared explanation and reviews later corrections.
    goals:
      - Authorize explanations that balance exactly.
      - Repair approved work through a recorded correction.
    can_broadly:
      - Approve and reverse reconciliations.
      - Resolve settlement items through splitting or write-off.
      - Review policy acceptance of reconciliation problems.
    represented_by:
      - 'policy:accounting:reconciliation-approver'
      - accounting.reconciliation-batches.finalize
      - accounting.reconciliation-batches.reverse
      - accounting.settlement-items.resolve
      - accounting.reconciliation-exceptions.accept
    surfaces:
      - console
      - api
    provenance: observed
    source: 'services-accounting:aws/accounting.service.ts:ReconciliationBuiltInPolicies'
  - id: ACT-ACC-019
    name: Controller
    who: A finance lead responsible for monthly review and the division of preparation and approval.
    goals:
      - Finish period review with financial differences explained.
      - Maintain independent preparation and approval responsibilities.
    can_broadly:
      - Review reconciliation readiness and address its blockers.
      - Arrange preparation and approval responsibilities through role administration.
      - Use the fiscal close workflow to close or reopen a period.
    represented_by:
      - accounting.fiscal-periods.close
      - accounting.reconciliation-batches.read
      - accounting.reconciliation (responsibility)
    surfaces:
      - console
      - api
    provenance: inferred
    source: >-
      services-accounting:aws/accounting.responsibilities.ts;
      services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D3
    note: >-
      The controller persona combines the declared reconciliation responsibility with the approved separation
      of preparation and approval; role assignment and fiscal close belong to other modules.
  - id: ACT-ACC-020
    name: Refund Approver
    who: A finance reviewer authorized to approve refunds initiated by another person.
    goals:
      - Provide independent authorization before required repayments.
    can_broadly:
      - Approve eligible refunds requested by a different person.
    represented_by:
      - accounting.refunds.approve
    surfaces:
      - console
      - api
  - id: ACT-ACC-021
    name: Commerce
    who: >-
      The ordering application that requests billing, collection and cancellation through Accounting
      interfaces.
    goals:
      - 'Coordinate an order’s charges, receipts and cancellation.'
    can_broadly:
      - >-
        Request invoices, collection, settlement and billing reversal, and read supported terms and tax
        results.
    represented_by:
      - svc_commerce
      - accounting_billing_service
      - accounting_tender_service
      - accounting_reversals_service
      - accounting_tax_service
    surfaces:
      - api
  - id: ACT-ACC-022
    name: Payment Processor
    who: >-
      An external card or bank processor that moves funds and reports outcomes through the integration
      interfaces.
    goals:
      - Report the disposition of processor transactions.
    can_broadly:
      - 'Send clearing, return, refund and dispute outcomes.'
    represented_by:
      - svc_platform
      - accounting_integration_events_service
      - the public Stripe webhook
    surfaces:
      - api
  - id: ACT-ACC-023
    name: Rhythm Staff
    who: A Rhythm operator with access to restricted operational payment actions.
    goals:
      - Complete eligible settlement work when external reporting is unavailable.
    can_broadly:
      - Mark an electronic-check receipt as settled.
    represented_by:
      - accounting.payments.settle
    surfaces:
      - api
  - id: ACT-ACC-024
    name: Accounting Scheduler
    who: >-
      The scheduled Accounting processes that revisit interrupted money movements and build historical
      receivables reports.
    goals:
      - Resolve interrupted financial work where recovery is available.
      - Produce month-end aging snapshots.
    can_broadly:
      - 'Revisit processing intents, refunds and voids.'
      - 'Plan, execute and publish aging snapshots.'
    represented_by:
      - accounting_payment_intent_sweeper
      - accounting_snapshot_planner
      - accounting_snapshot_dispatcher
    surfaces:
      - job
evidence:
  - >-
    Permission and policy declarations verified in
    services-accounting:aws/accounting.service.ts; service-principal authority
    described in
    services-accounting:docs/architecture/accounting-2.0/02-decisions.md#D-07.
---

# Accounting Actors

Finance administrators maintain setup, reviewers inspect it and transaction staff use its choices during money workflows. Service consumers resolve shared financial configuration, while lifecycle and scheduling operators process system work. These actors share the Accounting permission model; further modules extend this product-area catalogue when their responsibilities require another actor.
