Context
An invoice has 2 states:
- A functional state (Status), which is mainly the accounting state
- A technical state (StateInvoice), which reflects the functional state and adds information about the invoice lifecycle.
Functional States
Special state
This state is not an accounting state and you rarely find invoices in that state.
State (Status) |
Description |
Draft | Only case where the invoice is not issued (no number)
This is an intermediate state
|
Accounting states
Those are the states that you will need when pushing data into an accounting solution or make an export for your finance team.
State (Status) |
Description |
Due | The invoice has not been paid yet |
Paid | The invoice has been paid |
Problem | The invoice has an issue. Either it’s not paid, or the funds have been charged back |
Void | The invoice has been issued by mistake and has been cancelled |
Uncollectible | The invoice was due but the payment cannot be collected or has been charged back and will not be paid |
Technical states
Those states are used internally by ProAbono and are used to determine where is the invoice in the automation process, what are the possible actions and outcome. You most likely won’t need to dig into those.
This article will tell you more about the lifecycle of invoices.
Functional State |
Technical State |
Description |
---|---|---|
Draft |
Draft |
Basic draft |
DraftCharging |
Invoice is currently being charged and will be issued if the charge succeeds |
|
Due |
DueAuto |
Invoice is due and automatically processed |
DueOffline |
Invoice is due and an offline payment by the customer is expected |
|
DueToProcess |
Invoice is due and will be processed later (ex: Batch) |
|
DuePending |
Invoice is due and the payment is pending |
|
Paid |
Paid |
Invoice is paid |
PaidRefunded |
Invoice is paid but has been refunded |
|
Problem |
ProblemAuto |
Invoice encountered an issue with an automated payment |
ProblemOverdue |
Invoice is overdue |
|
ProblemDisputed |
Invoice payment has been disputed |
|
Void |
Void |
Invoice has been cancelled before any payment attempt |
Uncollectible |
Uncollectible |
Invoice payment cannot be collected |
Example of a JSON-format invoice
{ "Id": 42", ... "ReferenceCustomer": "123456", "Status": "Paid", // Functional state "StateInvoice": "PaidRefunded", // Technical state ... }