When the XPM to Link Reporting sync occurs
There are two types of sync that occur routinely each night from XPM to Link Reporting. The first is a transactional sync and the second is a non-transactional sync. They occur concurrently roughly at the same date/time each night shown in the upper right of your Link Reporting dashboard. The date/time shown means that your reports are up to date as at that date/time. The duration of the sync is dependent on the volume of data/size of the organisation and sometimes dependent on if any errors are found.
The green tick next to the date/time in the upper right of your Link Reporting dashboard means that we have successfully synced and reconciled to your practice WIP Balance. A yellow tick indicates that we successfully synced but failed to reconcile. There are some common causes for this:
- Timesheets, disbursements, invoices or write ons/offs occurring during the sync process.
- Transactions entered outside of the sync period.
- Some error with gathering the data from XPM, like a timeout.
Most of these are resolved the following day via a manual sync which we run as part of our support desk and/or the following night.
XPM + Link Reporting Transactional Sync
The transactional sync deals with all transactions that have occurred in your XPM including:
- Any other transactions affecting WIP including 'additional time' and 'additional disbursement' entries.
The way the transactional sync works is in a recursive loop where we take the last known WIP balance, search for and append that days WIP transactions and check this against the practice WIP balance at the time of the sync. If it doesn't match, the loop is widened to search back further until it reconciles. This is why we almost always manage to sync and reconcile to ensure your reports are complete.
XPM + Link Reporting Non-Transactional Sync
There are much non-transactional information we also require to provide you the reports you need. These include but are not limited to:
- [Client] Account Manager
- [Client] Job Manager
- [Job] Job Manager
- [Job] Partner
- Client Group
- Job Category
- Job State
- Job Number
- Job Name
- Job Task Name + Label
- Job Task Estimated times
- Job Budget
- .... + many others
We are unable to sync custom fields from XPM because every practice uses different custom fields and this would be required to be written into the sync script.
To sync all non-transactional fields would require syncing all data for every practice each night, we would run out of moonlight. So instead we search and sync/update all 'active' jobs which includes:
- Jobs that are not in a completed or cancelled job state (regardless of what you might name these).
- Completed jobs where the job due date is less than 60 days in the past (the near-present or the future) at the time of job completion.
This reduces the volume of data required to be synced each night while still keeping your data accurate. There are a couple of common scenarios where a non-transactional fields might escape the regular overnight sync:
- 'Why are there Completed Jobs in my Open Jobs report?' A job is completed with a due date greater than 60s in the past
The short-term solution here is to reactivate the job, update the job due date to be the present or near future and then complete it the following day. The longer term solution is to ensure at the time of job closure that the job due date is not more than 60 days in the past.
- Another job or client related field (like Client Group) has not applied
For Client Group in particular, it is likely that the clients for the group you have updated do not have an active job. As soon as they do, we will sync the client group.
Requesting a Manual Sync
If you find any of the above you can contact firstname.lastname@example.org or use the in-app chat to request a manual re-sync. This will cause an outage of 30-60 minutes depending on the size of your account and will likely result in a minor variance (due to to transactions occurring). Your organisation will also not be included in the regular overnight sync.
We are happy to do this for you :)