Compiere ERP makes sure that each transaction can be repeated and regenerated. Rarely, Transaction failures will happen in Compiere ERP. But, most of these transaction failures can be found out by the system instantly. When a transaction error happens, the Compiere system will notify the Compiere user to get it fixed. Some transaction errors cannot be recovered at all. But those transaction failures are isolated and the Compiere system will continue to work. This process is termed “transaction de-coupling” and it is the base for the Compiere ERPs transaction integrity system.
Example of Transaction Integrity
Explanation of the transaction substructure for a “cash sale of an over-the-counter product”
- Material Transaction (inventory adjustment)
- Generate Material Accounting (for each Accounting Schema)
- Post
- Invoice Transaction (tax calculation & invoice creation)
- Generate Invoice Accounting (for each Accounting Schema)
- Post
- Receipt Transaction (create receipt for invoice)
- Generate Receipt Accounting (for each Accounting Schema)
- Post
Having 9 or more transactions instead of 1 or 2 transactions will look like excessive, but it is much more faster and more reliable than the single transaction approach.
In the above transaction scenario, only 2 sub-transactions (material and invoice) are happened immediately. If transaction succeeds, the cashier will proceed to the next transaction. The rest of the sub-transactions are scheduled (or optionally batched) and are executed asynchronously. If an invoice fails to post, additional invoices can still be created and sent to customers.
Transaction Recovery Simplified using Compiere ERP
Compiere ERP system will frequently check whether a transaction is complete or not. If a transaction fails and remains consistent in system failures, the admin and user are notified. If a problem arises while processing sub-transactions, it won’t stop the cashier doing additional transactions. Admin can review by isolating the problem and fix the failed transaction without interfere cashier tasks.