---
id: RESP-BIL
title: Billing Responsibilities
product_area: billing
revision: 2
status: draft
design_intent: proposed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
modules:
  - module: MOD-BIL-BIL
    owns:
      - DOM-BIL-BIL-001
      - DOM-BIL-BIL-003
      - DOM-BIL-BIL-004
      - DOM-BIL-BIL-006
    exposes:
      operations:
        - getBillingHealth
        - listBillingActions
        - createBillingNotice
        - listBillingNotices
        - getBillingNotice
        - updateBillingNotice
        - deleteBillingNotice
        - createBillingTemplate
        - listBillingTemplates
        - getBillingTemplate
        - updateBillingTemplate
        - deleteBillingTemplate
        - listBillingRuns
        - createBillingRun
        - estimateBillingRun
        - getBillingRun
        - deleteBillingRun
        - prepareBillingRun
        - refreshBillingRun
        - cancelBillingRun
        - startBillingRun
        - retryBillingRun
        - listBillingRunItems
        - excludeBillingRunItems
        - streamBillingRunEvents
        - listBillingRunEvents
        - createRecurringBillingRun
        - listRecurringBillingRuns
        - getRecurringBillingRun
        - updateRecurringBillingRun
        - deleteRecurringBillingRun
        - listRecurringBillingRunHistory
        - createInstallmentPlan
        - listInstallmentPlans
        - getInstallmentPlan
        - updateInstallmentPlan
        - deleteInstallmentPlan
        - createInstallmentSchedule
        - previewInstallmentSchedule
        - listInstallmentSchedules
        - getInstallmentSchedule
        - processInstallmentSchedule
        - reduceInstallmentSchedule
        - suspendInstallmentSchedule
        - resumeInstallmentSchedule
        - cancelInstallmentSchedule
        - recordInstallmentPaymentOutcome
        - >-
          query datasets accounting.installment_schedules and
          accounting.installments
        - export dataset accounting.billing
      events: []
    delegates:
      - concern: 'Durable preparation, reconciliation and the preparation job read model'
        to: Platform Durable Job engine (services-platform docs/jobs.md)
      - concern: 'Bulk admission, batching, receipts and item cancellation or retry'
        to: MOD-PFM-DJE
      - concern: Saved-query execution and record selection for notices
        to: MOD-PFM-QRY
      - concern: >-
          Message purposes and templates, request acceptance and delivery
          outcomes
        to: MOD-PFM-NOT
      - concern: Authorization and renewed grants for each executing batch
        to: MOD-PFM-SEC
      - concern: Installment query serving and dataset access checks
        to: MOD-PFM-QRY
      - concern: Workspace export and purge coordination
        to: >-
          Platform workspace lifecycle, with Accounting's maintenance module as
          participant host (MOD-ACC-BKS)
      - concern: 'Shared recurrence storage, firing and system pause after failures'
        to: MOD-ACC-BKS
      - concern: 'Business units, supported currencies and payment terms'
        to: MOD-ACC-BKS
      - concern: Products and eligibility for installment financing
        to: MOD-ACC-PRD
      - concern: 'Issued invoices, payments, allocations and receivable records'
        to: MOD-ACC-TRX
      - concern: Batch placement for installment invoices
        to: MOD-ACC-BAT
      - concern: Idempotency records used when creating an arrangement
        to: MOD-ACC-REC
      - concern: 'People, organizations, affiliations and recipient facts'
        to: MOD-CRM-ENT
      - concern: >-
          Orders, checkout, initial payment, installment tender and reported
          outcomes
        to: MOD-COM-ORD
      - concern: Custom-field infrastructure; Billing declares no custom fields
        to: MOD-PFM-MTD
      - concern: >-
          Record history and business-event infrastructure; Billing has adopted
          neither
        to: 'Platform record history and business events, when adopted'
      - concern: Submissions infrastructure; Billing publishes no bindings
        to: Submissions product area
    guarantees:
      - INV-DOM-BIL-BIL-001-01
      - INV-DOM-BIL-BIL-001-03
      - INV-DOM-BIL-BIL-001-06
      - INV-DOM-BIL-BIL-001-09
      - INV-DOM-BIL-BIL-003-01
      - INV-DOM-BIL-BIL-003-02
      - INV-DOM-BIL-BIL-003-03
      - INV-DOM-BIL-BIL-003-04
      - INV-DOM-BIL-BIL-003-05
      - INV-DOM-BIL-BIL-003-09
      - INV-DOM-BIL-BIL-003-11
      - INV-DOM-BIL-BIL-004-02
      - INV-DOM-BIL-BIL-004-05
      - INV-DOM-BIL-BIL-004-06
      - INV-DOM-BIL-BIL-006-01
      - INV-DOM-BIL-BIL-006-02
      - INV-DOM-BIL-BIL-006-04
      - INV-DOM-BIL-BIL-006-06
      - INV-DOM-BIL-BIL-006-07
      - INV-DOM-BIL-BIL-006-09
evidence:
  - >-
    services-accounting at f47cb263: modules/billing (routes, services, tables,
    jobs); aws/accounting.service.ts; aws/accounting.service-functions.ts;
    modules/maintenance/services/participants/billing-participant.ts;
    docs/milestones/plans/ACCT-realignment-2026-10-22.md
  - >-
    services-platform at ad3f6a65: docs/jobs.md; docs/data-jobs;
    docs/record-history.md; docs/business-events.md;
    docs/standards/custom-field-capability.md;
    docs/standards/submission-compatible-operations.md
  - >-
    rhythm-v2-docs:
    specs/billing/billing/design/contracts/SVC-BIL-BIL-billing.md;
    specs/PRODUCT-AREAS.md (MOD-BIL-BIL)
  - >-
    services-accounting:modules/billing/services/persistence/billing-runs.ts:deleteBillingRun;
    modules/billing/services/billing-run-execution/installment-schedule.operations.ts;
    modules/maintenance/services/participants/billing-participant.ts;
    services-platform:docs/communications/architecture.md#18
---

# Billing Responsibilities

## Billing

Billing owns reusable instructions and notices, reviewed run populations, execution outcomes, recurrence configuration and installment arrangements. The owned objects and exposed operations above define this module’s boundary. Current code remains hosted by Accounting; the recorded target is a separate Billing backend in the combined Accounting and Billing console.

Run instructions are saved at creation, and execution names an accountable person whose authority is checked again for batches. Uniqueness, receipts and installment keys protect their stated local scopes. Committed business effects remain after later failure. Run deletion and workspace purge can remove history, so ordinary run retention is not a promise of permanence.

The module exposes staff operations and a trusted Commerce arrangement subset, two query datasets and a workspace export. It registers no business events, model tasks or Submissions bindings. The listed invariant references describe its guarantees without broadening them into a promise of complete delivery or one transaction for an entire run.

Platform supplies job execution, saved-query selection, communications, grants and workspace orchestration. Accounting supplies the current invoice transaction and shared configuration, financial, product, idempotency and scheduling dependencies. CRM supplies party and recipient facts through direct reads. Commerce owns purchasing and the down-payment boundary; the recorded target also gives it installment invoice creation. Those remote migration contracts remain unfinished.
