Dealing with Conflicts

Showing conflicting transaction in the listThere are a few things that cause conflicts, which are listed later. Resolving a conflict is easy, and since you're probably reading this because you have one, let's start with the solution first.

How to resolve conflicts

Resolving the conflicts is quite straightforward. When a conflict is shown, you can view the details about the change in the history, and see why the change is in conflict. The message shown in the table will show what the problem is.

Easy Books is designed to reject changes that would cause problems, so even when you see conflicts, it just means the changes were ignored. The data in your Mac is safe, although you won't have the conflicting changes present in it. Simply re-downloading from the server will not resolve the conflicts. This is because all the changes are stored on the server, including the changes that conflict with one another. Effectively the conflicts are two changes that cannot both be made in the device. This applies to the online snapshot too, as all your changes are also processed by our servers to the snapshot to keep it updated. The changes are processed in the order they were made, but local changes are always made straight away. So once you see a conflict in a device, it is likely you will see different conflicts (if any) in other devices.

It is important to deal with the conflicts. As an example, assume the conflict is that an account was created on two devices with the same category and name. At the server, these are two different accounts, and each account has a unique identity which all related information refers to. Only one of the accounts will exist on each device, and all changes that affect the other will not be made on it. Just ignoring the conflict and adding transactions, statements and so on will likely cause more conflicts, as the entries will be added to one account or the other, depending on which one is present in the device.

To resolve the conflict, you simply upload a new snapshot. This can be done from any of the devices, and once done, all outstanding changes other devices are discarded, and all devices are re-synchronised to the snapshot. In the example of adding the same account in two places, you may have made more changes linked to that account, such as adding transactions. You could pick the device that you had made the most changes, and use this to upload the snapshot.

To upload a new snapshot...
* turn off syncing on the device you want to use as the "master".
* Then turn syncing back on and when prompted, choose the re-upload option.

When complete, your other devices will need to sync before you can make any changes in them. They will then download the new snapshot and continue syncing.

The conflicts can be avoided very easily when you know what causes them.

Deletes

Deleting records on one device, then making changes to them on another before they have time to sync can cause these "does not exist" conflicts. These are not serious, because the record will be deleted on all devices when they sync, but they are a good warning that you made changes that were discarded.

Account does not exist

Caused by deleting an account on one device and...
* Saving the same account on another.
* Saving a new transaction linked to it on another.
* Saving a new statement for it on another.
* Saving a new rate card for it (if a customer account) on another.

Income account does not exist

Caused by deleting an income account on one device and saving a new rate card linked to in on another.

VAT account does not exist

Caused by deleting a VAT account on one device and...
* Saving a transaction linked to the VAT account on another.
* Saving a rate card linked to it on another.

Transaction does not exist

Caused by deleting a transaction on one device and...
* Saving it (or a linked transaction such as a payment for an invoice) on another.
* Adding it to a statement on another.

Statement does not exist

Caused by deleting a statement on one device and adding a transaction to it on another.

Worker-Customer combination does not exist

Caused by deleting the combination of worker and customer from one device and...
* Saving time against it on another.
* Saving a rate card for it on another.

Time Entry does not exist

Caused by deleting an hours entry on one device and saving it on another.

Rate Card does not exist

Caused by deleting a rate card for worker-customer combination on one device and saving it on another.

Worker does not exist

Caused by deleting a worker on one device and saving a new rate card for the worker on another.

Duplicates

These conflicts are more serious, as they indicate that a duplicate exists in the system. Each device only has one record (account, transaction, statement and so on), but the devices are out of sync.

* Created the same business setting in two places
* Created the same account in two places
* Reconciled the same transaction in two places
* Created the same statement in two places
* Created the same account in two places
* Created the same account setting in two places
* Created the same worker/customer combination in two places