Deprecated: Creation of dynamic property content::$home is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 62

Deprecated: Creation of dynamic property content::$products is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 63

Deprecated: Creation of dynamic property content::$resources is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 64

Deprecated: Creation of dynamic property content::$partners is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 65

Deprecated: Creation of dynamic property content::$industries is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 66

Deprecated: Creation of dynamic property content::$support is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 68

Deprecated: Creation of dynamic property content::$news_events is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 69

Deprecated: Creation of dynamic property content::$company is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 70

Deprecated: Creation of dynamic property content::$bodytag is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 115

Deprecated: Creation of dynamic property content::$footlink is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 183

Deprecated: Creation of dynamic property content::$metadesc is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 198

Deprecated: Creation of dynamic property content::$metakey is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 202

Deprecated: Creation of dynamic property content::$landingmast is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 206

Deprecated: Creation of dynamic property content::$homemast is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 211

Deprecated: Creation of dynamic property content::$beginmast is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 214

Deprecated: Creation of dynamic property content::$endmast is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 218

Deprecated: Creation of dynamic property content::$breadcrumbs is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 222

Deprecated: Creation of dynamic property content::$pagetools is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 229

Deprecated: Creation of dynamic property content::$about is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 238

Deprecated: Creation of dynamic property content::$formvalidator is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 241

Deprecated: Creation of dynamic property content::$genericAbout is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 245

Deprecated: Creation of dynamic property content::$beginendleftnav is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 248

Deprecated: Creation of dynamic property content::$callout is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 256

Deprecated: Creation of dynamic property content::$beginright is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 507

Deprecated: Creation of dynamic property content::$endright is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 511

Deprecated: Creation of dynamic property content::$homeright is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 515

Deprecated: Creation of dynamic property content::$nextsteps is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 542

Deprecated: Creation of dynamic property content::$socialmedia is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 551

Deprecated: Creation of dynamic property content::$beginrelatedlinks is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 557

Deprecated: Creation of dynamic property content::$endrelatedlinks is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 561

Deprecated: Creation of dynamic property content::$relatedlinks is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 565

Deprecated: Creation of dynamic property content::$closerelatedlinks is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 571

Deprecated: Creation of dynamic property content::$rnevents is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 576

Deprecated: Creation of dynamic property content::$beginresources is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 580

Deprecated: Creation of dynamic property content::$endresources is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 586

Deprecated: Creation of dynamic property content::$enterpriseedition is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 591

Deprecated: Creation of dynamic property content::$industrysolutions is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 596

Deprecated: Creation of dynamic property content::$partnerlocator is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 600

Deprecated: Creation of dynamic property content::$aboutcompiere is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 604

Deprecated: Creation of dynamic property content::$successstories is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 608

Deprecated: Creation of dynamic property content::$wpcompiereerp is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 612

Deprecated: Creation of dynamic property content::$compierecapabilities is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 616

Deprecated: Creation of dynamic property content::$erpfaq is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 624

Deprecated: Creation of dynamic property content::$crmfaq is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 628

Deprecated: Creation of dynamic property content::$trainingschedule is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 632

Deprecated: Creation of dynamic property content::$documentation is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 636

Deprecated: Creation of dynamic property content::$wmsdatasheet is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 658

Deprecated: Creation of dynamic property content::$wiki is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 666

Deprecated: Creation of dynamic property content::$tcoanalysis is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 674

Deprecated: Creation of dynamic property content::$dashboarddemo is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 678

Deprecated: Creation of dynamic property content::$whitepapersdatasheets is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 682

Deprecated: Creation of dynamic property content::$webcastarchive is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 686

Deprecated: Creation of dynamic property content::$contactus is deprecated in E:\websites\www.compiere.com\php_libs\component.inc on line 690

Deprecated: Creation of dynamic property content::$title is deprecated in E:\websites\www.compiere.com\products\platform\transaction-integrity.php on line 3

Warning: Undefined property: content::$enterprisedatasheet in E:\websites\www.compiere.com\php_libs\rightnav\products\platform\default.php on line 13

Deprecated: Creation of dynamic property content::$footer is deprecated in E:\websites\www.compiere.com\php_libs\parser.inc on line 62
Transaction Integrity and Recovery with Compiere

Jump to content

Transaction Integrity

Compiere ensures that every transaction can be repeated and regenerated. Transaction failures, while rare, can occur. In most cases these errors are identified by the system immediately. An error causes the system to alert the user, who can attempt to fix the problem. If recovery is not possible, the failed transaction is isolated and the rest of the system continues to work. This "transaction de-coupling" is the basis for Compiere's transaction integrity system.

Transaction Integrity Example

Below is an example of the transaction substructure for a "cash sale of an over the counter product:"

  • Material Transaction (adjust inventory)
    • Generate Material Accounting (for each Accounting Schema)
    • Post
  • Invoice Transaction (calculate tax & create invoice)
    • Generate Invoice Accounting (for each Accounting Schema)
    • Post
  • Receipt Transaction (create receipt for invoice)
    • Generate Receipt Accounting (for each Accounting Schema)
    • Post

To have nine or more transactions rather than one or two may seem like overkill, but it is actually faster and much more reliable than a single transaction approach.

In this example, only two sub-transactions are performed immediately: the material and invoice transactions. If these transactions succeed, the cashier proceeds to the next task. The remaining sub-transactions are scheduled (or optionally batched) and are executed asynchronously. If this particular invoice fails to post, additional invoices can still be generated and sent to customers.

Simplified Recovery

With Compiere, the system checks regularly if a transaction is complete. If a transaction is not complete and consistent due to a system failure, the administrator and user are alerted. If a problem occurs during processing of one of the sub-transactions, that error doesn't stop the cashier from performing additional tasks. An administrator can investigate and resolve the failed transaction independently and asynchronously.

As applications become more complex with ever growing combinations of transactions, potential error causes grow exponentially. In the rare case of an error, Compiere isolates the problem without interrupting Compiere's core functions.