BillingBase Developer Overview

BillingBase Developer Overview

1. BillingBase Developer Overview

Billing affects revenue and customer balances. Keep changes focused and add scenario-level tests.

1.1. Module responsibilities

modules/BillingBase contains billing configuration, products/items, taxes, accounting records, SEPA data, settlement runs, invoices, and related jobs/commands.

1.2. Important areas

  • Entities/SettlementRun.php and settlement jobs/commands

  • Entities/Invoice.php, Item.php, and AccountingRecord.php

  • notification, invoice-generation, export, and archive jobs

  • module Feature/Lifecycle tests

1.3. Contributor guidance

  • Use decimal/money-safe representations already established by the module

  • Preserve accounting traceability and idempotency

  • Queue long-running settlement/invoice work

  • Restart queue workers after deploying changed job code through the supported service workflow

  • Test calculations, retries, permissions, and customer-visible output

Operator procedures belong in the Billing application documentation; this page is for source orientation.