Skip to content
logo Knowledgebase

Sage 200 CRM Integration - 'Failed to update account successfully' error causes integration to fail

Created on  | Last modified on 

Summary

During a synchronisation between Sage 200 and Sage 200 CRM, the integration may fail with the following error reported in the integration log, steps to correct.

Description

NOTE:

Sage 200 CRM has stopped being sold as of 1st April 2021. The classic integration for Sage 200 CRM is now in extended support until 30th September 2021. For any new integrations, the Qmulus Qnect Connector must be used. For further information on this, please see this article.

ERROR CAUGHT IN ProcessIncomingArray. Error was - Failed to update account successfully. Update Failed within update nested entity. Error managing conflicts. Error Message is - Conflict resolver detected attempt to update non-existent record.

Resolution

When a record is amended in Sage 200 CRM, the change is logged in a table called Journal. The table holds details of all new, amended and deleted records. This issue occurs when the integration tries to select an entry from the Journal table of the CRM database which does not exist. If the record does not exist, the relevant change cannot be passed across to the Sage 200 application.

Scripts are available which check the database type and then looks for any records that should be present in the Journal table but are not. It then creates a record for each missing entry in the Journal table.

CAUTION:

You must test the following process off-site before implementing to the production site.

Before executing the scripts...

  • You should backup both the Sage 200 and Sage 200 CRM databases prior to running the script
  • Ensure all users are logged out of Sage 200 CRM
  • The integration must be disabled
  • The integration service must be stopped
  • The CRM Application Pool in IIS must be stopped

NOTE:

As per the instructions within the script, you must remember to change the integrationID on line 68 from 6002 to match the ID of the integration which is failing. If you are unsure which ID number you should use, check the ERPIntegrations table within the CRM database. You should use the value in the first column called ERPI_IntegrationID. If you have multiple integrations, in CRM, check the name of the integration that is failing then look for that name in the ERPI_IntegrationName column in the SQL table. Make a note of this integration's ID number in the first column and insert that number into line 68 of the script.

Running the scripts

Download the scripts from here then unzip them to a convenient location. You'll need to identify which scripts need to be run, as this depends upon the whether the database is a new installation database or an upgraded database from a previous version.

To identify the database type

Run the 'Check Database Type' script in Microsoft SQL Management Studio. The output will advise if the database is 'New install of 7.2 or above' or '7.1 database or upgraded'.

  • New install of 7.2 or above - run the 'Fix Missing Journals (New installations 7.2 or above) script against the Sage 200 CRM database.
  • 7.1 database or upgraded - run the 'Fix Missing Journals (Version 7.1 or upgraded sites) script against the Sage 200 CRM database.

Once the scripts have been run, restart the CRM Application pool and integration service before trying the integration again.

 


Sage Business Partners can now log new cases online!

If you're unable to find the help you require from our online resources, log a new case with us without having to use phone or email. Simply select 'Manage your cases' from the dashboard or visit my.sage.co.uk/cases.

View More...