The challenge
Billing processes often evolve across several applications without a single architectural owner. Operational systems calculate charges. Accounting systems generate invoices. Banks process collections. Staff then reconcile payments, exceptions and amendments.
Each application may behave correctly in isolation while the overall process remains fragile.
In this environment, a billing adjustment can originate in one system after an invoice has already been generated in another. A payment may be presumed successful before the bank reports an exception. Partial payments, reversals and manual interventions create additional complexity.
The central architectural issue is determining which system owns each financial state, how changes propagate, and how the history of those changes is preserved.
Our approach
- 01
Define ownership of financial records
Our work examined the end-to-end billing lifecycle, from operational charges through invoicing, bank-file generation, payment recording and exception management. Charges, invoices, payment instructions and financial allocations were treated as distinct concepts rather than interchangeable records — the creation of an invoice is not the same event as collecting funds, and an expected payment is not necessarily a confirmed payment.
- 02
Model the lifecycle explicitly
The architecture considered invoice preparation, amendment, payment submission, confirmation, partial allocation and exception handling as separate business events.
- 03
Address cross-system reconciliation
Where accounting and operational systems both contain financial information, reliable synchronization requires clear identifiers, mapping rules and reconciliation procedures.
- 04
Design for exceptions rather than only successful transactions
Insufficient funds, disputed transactions, reversals, corrections and delayed confirmations must be represented without losing the original transaction history.
- 05
Connect technology decisions to operational controls
The proposed design emphasized traceable changes and controlled financial workflows, recognizing that accounting correctness depends on processes as well as software.
The outcome
The architecture work clarified important boundaries between operational billing, external invoicing, banking activity and financial records.
It provided design direction for improving the consistency, traceability and extensibility of the overall billing workflow.
This case illustrates an architecture and modernization initiative; it does not claim that every component of the target financial workflow has already been deployed.