---
id: ACTORS-BIL
title: Billing Actors
product_area: billing
revision: 1
status: draft
product_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actors:
  - id: ACT-BIL-001
    name: Billing administrator
    who: >-
      A finance or membership administrator maintains billing templates,
      notices, recurring configuration and the financing plans offered for
      purchases.
    goals:
      - Keep reusable definitions for repeated billing work
      - Configure recipients and messages for notices
      - Maintain financing options consistent with organizational policy
    can_broadly:
      - >-
        Maintain and deactivate billing configuration, subject to permissions
        and reference protections
      - Assign the person whose authority recurring work uses
      - Perform the billing controller’s operational tasks
    represented_by:
      - accounting.billing-templates.create|update|delete|bulk (admin tier)
      - accounting.billing-notices.create|update|delete|bulk (admin tier)
      - accounting.recurring-billing-runs.create|update|delete|bulk (admin tier)
      - accounting.installment-plans.create|update|delete|bulk (admin tier)
      - 'policy:accounting:administrator'
    surfaces:
      - console
  - id: ACT-BIL-002
    name: Billing controller
    who: >-
      A finance operator prepares and reviews billing runs, manages execution
      and recovery, and administers individual customer installment schedules.
    goals:
      - Execute the intended population without duplicate successful work
      - Understand successful requests and refusal reasons
      - Reconcile financing schedules with purchases and payment reports
    can_broadly:
      - 'Create, prepare, review, start, recover, stop and remove eligible runs'
      - >-
        Create and process schedules, then reduce, suspend, resume or cancel
        eligible arrangements
      - Record external reconciliation with its required reason
    represented_by:
      - accounting.billing-runs.create|delete|run|cancel (user tier)
      - >-
        accounting.installment-schedules.create|update|process|cancel (user
        tier)
      - 'policy:accounting:standard-user'
    surfaces:
      - console
      - api
  - id: ACT-BIL-003
    name: Billing reviewer
    who: >-
      An auditor, manager or colleague has read access to billing configuration
      and outcomes without authority to change them or start execution.
    goals:
      - Inspect billing populations and outcomes
      - Report installment balances and schedule history
    can_broadly:
      - 'Read configuration, runs, prepared populations and schedules'
      - Query installment reporting datasets
      - >-
        Inspect disabled write controls and their explanations where supplied by
        the console
    represented_by:
      - accounting.billing-templates.read
      - accounting.billing-notices.read
      - accounting.recurring-billing-runs.read
      - accounting.installment-plans.read
      - accounting.billing-runs.read
      - accounting.installment-schedules.read|query
      - accounting.installments.query
      - 'policy:accounting:read-only'
    surfaces:
      - console
  - id: ACT-BIL-004
    name: Commerce checkout
    who: >-
      The Commerce service represents a purchaser when requesting schedule
      previews, creating arrangements, reflecting order changes and reporting
      installment payment outcomes. Trusted invocation is declared, while the
      complete checkout integration remains unproved.
    goals:
      - Present deposit and later installment amounts
      - Reflect purchase changes in its financing arrangement
      - Report installment tender outcomes to Billing
    can_broadly:
      - 'Request previews, creation and schedule reads'
      - Request eligible reductions and cancellations
      - 'Report paid, declined or failed outcomes'
    represented_by:
      - >-
        svc_commerce through the accounting_billing_service function (trusted
        invoke)
    surfaces:
      - api
  - id: ACT-BIL-005
    name: Billing scheduler
    who: >-
      Scheduled system work creates and prepares recurring occurrences, starts
      eligible automatic work and settles completed execution. Creation and
      start use the configured owner’s authority.
    goals:
      - Prepare occurrences ahead of their scheduled dates
      - 'Require an accountable, authorized owner'
    can_broadly:
      - Create and prepare occurrences using their owner’s permissions
      - Start automatically enabled work under its owner’s identity
      - Settle runs after their jobs finish
    represented_by:
      - the billing dispatcher (every minute)
      - the scheduled work accounting.recurring-billing-run.prepare
    surfaces:
      - job
  - id: ACT-BIL-006
    name: Member or customer
    who: >-
      The contact or organization receiving a billing notice or financing a
      purchase is the subject of Billing work. This role does not imply a
      Billing console account or an implemented member-facing schedule page.
    goals:
      - Receive clear information about amounts and dates
      - Spread an eligible purchase across agreed installments
    can_broadly:
      - Receive notice and reminder messages
      - Be the billed-to party on a purchase or amount-based schedule
    represented_by:
      - a CRM contact or organization (no console access)
    surfaces:
      - portal
---

# Billing actors

Administrators maintain configuration, controllers execute work and manage schedules, and reviewers inspect results. Commerce is the service integration role for purchase financing; complete checkout proof remains open. The scheduler creates recurring occurrences under an authorized owner. Members and customers receive messages and owe installment amounts, without needing a Billing console account.
