When trying to upgrade, I get this error message: “ERROR: insert or update on table 'checkitem' violates foreign key constraint 'checkitem_checkitem_curr_id_fkey'.” What does that mean?

This error relates to a known bug in one of the scripts in the updater package. It only impacts those who are upgrading from 4.11.x, 4.12.x to anything before 5.1.0 (final) and have at least one check with at least one item in a different currency than the check header in the database.

Note:  If you do not use multi-currency, you will not run into this bug.

If you find that this bug does impact you, here are the next steps to take:

  1. Go to the xTuple Customer Portal and log in. 

  2. Click on the Downloads menu item at the top of the page. 

  3. Navigate to the xTuple Package (by clicking on the icon).

  4. Make sure to select the version in the drop down - either 4.12.2 or 5.0.0 - that you are in the process of upgrading to. (This bug only impacts the upgrade process from 4.11.x to either 4.12.x and 5.0.x versions.)

  5. Click on the icon by the file “edition-upgrade-version.number-patched.gz” to download. (Example: distribution-upgrade-5.0.0-patched.gz)

  6. Run the upgrade file in the same way you’ve run the previous version.

See below for a complete list of available patched files:


  • distribution-upgrade-5.0.0-patched.gz
  • enterprise-upgrade-5.0.0-patched.gz
  • manufacturing-upgrade-5.0.0-patched.gz
  • Postbooks-upgrade-5.0.0-patched.gz


  • distribution-upgrade-4.12.2-patched.gz
  • enterprise-upgrade-4.12.2-patched.gz
  • manufacturing-upgrade-4.12.2-patched.gz
  • Postbooks-upgrade-4.12.2-patched.gz