Background of Issue
There are three types of billing engagements you have with your clients:
- Time Charge Agreements, where you invoice the timesheets to create an invoice.
- Time Charge Agreements, where you invoice a quoted or agreed fee, irrespective of the timesheets on the job.
- Fixed Price Agreements, where you setup a repeating monthly invoice in Xero for the contract value.
With both methods of the Time Charge Agreement, you are creating job in XPM, logging timesheets, then billing it on either an ‘Actual Time and Cost’ method, or ‘Quoted/Estimated Time and Cost’ method. We call both these methods, Time Charge Agreements, but you can call them “billable’ or ‘time and cost’. The point is, we are doing the work, and sending an invoice for that work once completed. We acknowledge that there may also be a deposit or progress invoice charged. It is still a time charge agreement because it is billed from XPM.
Fixed Price Agreements are a little bit more complicated. For these engagements, we have an agreed fixed fee with our client, to be billed over a 12 month period. We setup a repeating invoice in Xero, and map this revenue to a job within XPM.
A problem that often occurs is these invoices are sent to a different job than where the timesheets are logged for the work. The issue with causes is when the jobs are then closed, it creates a big write up on the job that received the invoices, and a big write off for the job that had the timesheets. We want to put both the invoices and timesheets on the same job so we get an accurate write ups/write offs. This happens because when the job is closed, the invoice totals are apportioned against all the timesheets, giving us that write up/write off figure.
If this is not currently setup in your XPM, the reporting will not be correct in Link Reporting. To resolve this, we simply need to put the invoice and the timesheets in to the same job. It is up to your how far back historically you would like to tidy up, but at a minimum, we want to tidy up all active jobs. The best way to do this is to get a list of clients that have active jobs, then run through the list tidying up each engagement. We want each engagement to contain all the tasks that need to be completed for that annual engagement.
It is important to understand that this tidy up process is only required for the jobs that do not have time and invoices in the same jobs, or jobs that are missing invoices from jobs because you have invoices from Xero and not captured this in XPM. If your timesheets and invoices are in the same job, there is no need for you to do this.
How to Resolve
The first step is to identify what job we are going to move our timesheets to. If you currently have a job that has all the invoices against it, this will be the best job to use. If all your invoicing is not in XPM, you can either use the job that has the timesheets, or create a new one. The important thing is we want one job that will have all the timesheets and invoices in it.
Once we have identified what job we want to use, we want to look at what tasks are currently on the job. If we are happy with them, we can leave them as is, if not, we want to apply a Job Template that contains all the relevant tasks that need to be completed for the annual engagement. You may already have a job template setup, or you may need to create a new one for this engagement. To create a new job template, you can go to Business > Settings > Job Settings > Job Templates. Here is a great video that explains Job Templates.
If you decide the job needs a new set of tasks, apply the job template you have setup to the job to create these new tasks. You then need to track down all the timesheets for this engagement. They could be in this job, or they could be in other jobs. To move timesheets, click into the job, then select ‘Options’ then ‘Move Timesheets’. Move the timesheets to the most appropriate tasks you have created on this job.
By now, you should have a job, with all the timesheets against the relevant tasks. The next thing we need to look at is the invoices. If the invoices are already one the job, you’re done! But most likely, you won’t have these against the job yet, or there will be some missing. To get these onto the job, you need to put a client order number into the job. The best thing to do is use a client reference code. This could be anything. For example, if your clients name is ABC Limited, you could make the code ABC100. Put this code in the client order number.
Once the client order number is in the job, we need to put it into the repeating invoices in Xero. If you are part way through the year, you will want to update the repeating invoice so any future ones auto populate this reference and send to XPM. We also want to send the previously issued invoices to the job in XPM. Previously issued invoices without a client order number in the invoice reference field would have been imported to XPM as miscellaneous invoices & not allocated against a job. To allocate these invoices to a job you will first need to ensure that these prior invoices are removed from XPM.
To do this you can run a custom Invoice Report by going Report > Report Builder > Report Type Invoice Report > Add the Invoice Number, Client & Job Number fields into the report > Preview report. You can search the invoice number by pressing Ctrl + F to find the invoice number. Once you have found the invoice number you can click into the invoice number > Options > Delete invoice.
Once the miscellaneous invoice in XPM has been removed, open the Xero invoice and add the client order number to the invoice reference field. As long as the invoice in Xero has been edited within the last 14 days then it will sync to the correct job overnight.
To reiterate this important point, to get the invoice total in Xero to send to XPM, we must have the Reference field in Xero Invoice match the Client Order Number field in the XPM Job. When this is setup, the invoice value will appear against the job as an interim overnight. You can also use the Job Number, but we recommend using the client order number. You can watch a video here for more information.
You will need to repeat this for each client engagement. Remember, the objective is to have all the invoices and timesheets in the same job. This is so we can accurately report on the write ups/write offs on each job. This also flows through to the staff reporting for their write ups/write offs.
Steps to Resolve
- Identify the client that needs their engagement tidied up.
- Decide whether you are going to use an existing job to migrate all time and invoices to, or create a new one. We will call this the master job.
- Decide whether or not the master job needs a new Job template applied to it. Apply this job template if necessary by going to Options > Apply Additional Templates.
- Move all timesheets from the current job, and other jobs, onto this master job.
- All timesheets for this engagement are on the master job.
- Check if all invoices for this engagement are on this job. If not:
- Time Charge Agreement: Raise an invoice on this job to match what was invoices in Xero, then delete the invoice from Xero.
- Fixed Price Agreement: Enter the clients code in the Client Order Number in the job in XPM, then add this to the Xero invoices reference field. Do this for the repeating invoice, and all issued invoices.
- Wait overnight for invoices to arrive in the job.
- Check all invoices and timesheets are in the same job. If so, you have completed this process for this client. Move onto the next one.
If you work without distractions, you should be able to resolve 10 engagements per hour once you get underway. You might be able to do 4 or 5 in the first hour while learning, and around 10 per hour once you get the hang of it. We’d estimate around 75 per workday. So if you have 150 engagements to fix up, put aside two full days.