OpenVPMS uses a technique called optimistic locking to ensure that multiple users editing the same object don't overwrite each other's changes. If two users edit the same object, the first user to save wins, and the second user's changes are rolled back.
This project will:
automatically save invoices, to limit data loss if two users edit the same invoice
support reloading the invoice, if another user has edited it
This functionality will be available:
in the Check-In, Consult, and Check-Out workflows
when editing an invoice in Customer - Charges
when invoicing an estimate
when invoicing customer orders and returns
Invoices will be automatically saved:
when adding a new invoice item
on completion of expanding a product template
Automatic save will be disabled if the invoice:
is unsaved. This is to allow users to cancel editing a new invoice without having to subsequently delete the invoice from Customer - Charges
status has been set to Finalised
When invoicing estimates and customer orders and returns, the automatic save will only be enabled after all of the items have been invoiced. This is to allow the user to cancel invoicing without making any changes.