Hey all,
We’ve been reviewing and fixing issues in the billing module, and we’d like to propose a few clarifications and adjustments to the current workflow.
1. Editing bill line items
Right now, the billing app allows editing bill line items regardless of the bill’s status. A bill can have the following statuses: PENDING, POSTED, PAID, CANCELLED, ADJUSTED, EXEMPTED
Ideally, once a bill reaches the cashier (the payment point), it should no longer be editable.
Currently, a bill is PENDING when it’s created and becomes POSTED once the first payment is recorded.
For example, a workflow would be:
Items are added to the bill.
The bill is shown to the customer.
The customer confirms the bill.
A payment is recorded, and the bill becomes POSTED.
Once POSTED, the bill should no longer be editable.
Does this workflow make sense? Would it make sense to enforce that no edits are allowed once a bill is in the POSTED status (i.e., after a payment is recorded)?
Also, since there’s no status to represent a “payment pending” state, should we consider introducing one?
2. Associating bills with cashpoints
We also want to clarify when a bill should be associated with a cashpoint. For example, there is a need to create bills when orders are made, for such bills, how do cashpoints get associated when creating the bill?
We could associate a bill with a cashpoint only at the time the bill is dealt with, not when a bill is created. That is, at the cashier. Right now, the backend logic makes it so that a cashier and a cashpoint needs to be associated at the time of creating a bill, so the frontend has a configuration to set the cashier UUID and cashpoint UUID, which it will send to the backend in the payload when creating a bill.
