Context
In ProAbono, each customer has a unique balance that gathers all the accumulated credit/debit lines required for generating an invoice. The customer’s balance is processed and settled during the invoicing process, whether it is automated (handled by ProAbono) or triggered manually (from the back office or via API).
The lines in the balance serve as the basis for generating the invoice and are subsequently no longer visible in the current balance. However, all processed lines can be viewed in the balance history.
Schemas
Here are two diagrams illustrating the concept and functioning of balance invoicing:
The customer’s balance is filled through various automatic and/or ad hoc actions such as subscription renewal or adding a debit line for a training session.
ProAbono’s automated invoicing process handles all the lines in the customer’s balance, adding up the total debit and credit amounts to generate an associated invoice. The customer’s balance is then completely settled and becomes empty after the invoicing step.