Sync Flow¶
Every tenth minute, new or updated objects from Lime CRM are fetched and created or updated in the ERP system, and vice versa for objects that are controlled by the ERP system.
Statuses¶
The ERP Connector uses the ERP Status property to keep track of what is synced or not. These are the option keys of the ERP Status properties and how they are used.
key | description | set by | next status(es) |
---|---|---|---|
empty | Default value. Object is not activated for syncing. | Lime | readyforfirstsync |
readyforfirstsync | Object is ready to be synced for the first time. This is set using one of the apps. | Lime | inprocess |
updatesmade | One of the properties in the "Properties to sync" list was updated in Lime. | Lime | inprocess |
inprocess | Syncify has fetched the object and is currently processing it. | Syncify | synced, error |
synced | The object was succesfully synced | Syncify | updatesmade |
error | The object was not synced. Actions need to be taken. | Syncify | updatesmade, readyforfirstsync |
Sending an Object to the ERP System¶
By clicking the "Send to ERP" button on the object card, you will mark a company as "ready for first sync". This means that during the next sync interval, Syncify's service will pick up the information about that object, for example a company, and create a customer with the corresponding information in the ERP system. A customer number is returned from the ERP system and is saved in the field Customer number ERP
. This is now the key for future syncs of this object.
If a field is empty in Lime CRM, the information in the corresponding field in the ERP system (except for Fortnox) will be cleared. For Fortnox, the field will not be updated since their API ignores parameters that are empty.
Option Fields¶
It is not possible to send data from an option field to the ERP system. There are two work arounds that we recommend in order to achieve this anyway:
- Convert the option field to a relation field if that makes sense in your Lime CRM solution.
-
Add a hidden text field with an
SQL for update
:SELECT s.[key] FROM [string] s WHERE s.[idstring] = [company].[myoptionfield]
Where
myoptionfield
is the database name of the option field. Let Syncify fetch the data from this text field instead of the option field. Remember to keep the option field in the list of fields that trigger a sync, in the configuration in Lime Admin.
Two-way Sync¶
For customers and contact persons, there is a possibility to activate a two-way sync. This means that the standard behavior for those objects, where they are created and updated from Lime CRM, can be overruled. In fact, it is possible to completely decide your own sync directions for these two objects. Think of it like a matrix like this, where you can check the cells you prefer for your desired way of working with customer and contact person data.
Lime CRM | ERP System | |
---|---|---|
create new customer | ||
update customer info |
Some common examples:
- Only create new customers from Lime CRM but keep them updated from the ERP system.
- Create new customers from both systems but only update from the ERP system.
- Only create and update from the ERP system.
It is highly recommended to only allow updates from one of the systems. This usually makes any integration more robust and less prone to errors, and actually easier to understand for the users.
Warning
If the Two-way Sync is installed at a later, separate point in time than the standard ERP Connector, there is a risk that the users might have created customers in their ERP system during that time. If so, these need to be migrated to Lime CRM separately as there is no migration done as part of the installation of the Two-way Sync.
Set Fields as Readonly¶
If the ERP Connector is setup to not allow updates of customers or contact persons from Lime CRM, then the integrated properties can be set to readonly in Lime CRM on objects that are currently in sync.
Web Client¶
In the Lime CRM web client, this can be achieved using the Variants feature. Use the option field ERP Status as Variant property.
Desktop Client¶
In the Lime CRM desktop client, the integrated fields can be set as readonly if a customer number exists on the company. This is done through VBA code and is described in the installation steps.