What is the QuickBooks SyncToken field?
The SyncToken is the QuickBooks Version number of the object (Customer, Invoice etc). It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
You can find yourself in a “record locking” situation where the same record has been updated in both FileMaker and QuickBooks Online. To control this QuickBooks Online have a field called SyncToken which contains a value that changes upon a record update. You must pass this value to the QuickBooks Online API when updating an existing record in QuickBooks Online (e.g. updating a Contact or Invoice).
If you upload a record from FileMaker an older SyncToken the request will fail and you will get an error message like the following:
The FileMaker user will need to download/update the record first, then make their changes and upload it again. We have also added this button to the Contacts, Invoices, Bill and Purchase Orders detail screens to allow you to retrieve just the latest SyncToken value:
This will allow you to download the latest SyncToken from QuickBooks Online for the record you are viewing before uploading any changes back to QuickBooks Online if you no longer have the latest version stored in FileMaker (for example if someone has made changes to the same record in QuickBooks Online).
If you upload a record to QuickBooks Online that a user is also in the process of editing but haven't saved they will get an error like the following when attempting to save the record: