Monthly bookkeeping in Xero or QuickBooks, closed, reviewed and proven every period by the team that does the work.
BOOKKEEPING PACKAGES
Guides to running Xero properly, written from monthly practice rather than from the product documentation.
THE XERO HANDBOOK
Already on QuickBooks? Stay on it. An Elite-tier ProAdvisor team closes the month in QuickBooks Online, Desktop and Intuit Enterprise Suite.
QUICKBOOKS AT LOGIFRAME
The books look different in every sector. So does the way we close them.
ALL INDUSTRIES
What running other people's books teaches you: costs, platforms, and the industries where the books work differently.
ALL INSIGHTS
Thirteen years of accounting work, two Xero Asia awards, and engagement management in San Jose.
ABOUT LOGIFRAMEIndustries
In most service businesses the person who does the work is also the person who quotes it, invoices it, chases it and codes it. The admin happens in the evening, because that is the only time left. Most of it does not need to happen at all: the software you already pay for can do a large share of it, and almost nobody has switched it on.

The structure
Most service businesses end up running two systems without ever deciding to. The job system arrives first, because scheduling and invoicing on site is the daily pain. The accounting follows behind it, and nobody ever sits down and decides how the two should relate.
The job system holds the work. ServiceM8 in most of the businesses we see, and in plenty of others a diary, a whiteboard and a group chat. The call, the schedule, the quote, the materials added on site, the photos, the invoice raised in the van. It is the record of what happened.
Xero holds the business. Profit and loss, bank accounts, supplier bills, payroll, the balance sheet. It is the record of what the business is.
Both are right about their own half, and neither is wrong. The problem is that the question every owner actually asks sits across both of them: did that job make money, and are we pricing the next one properly. No integration answers that by itself, whichever systems you run.
The real constraint
In a business this shape, admin does not compete with other admin. It competes with billable hours, and with the evening. That is why it slips, and why the answer is almost never to try harder at it.
Three layers can carry that load, and most businesses are paying for all three while using the first.
Quotes and invoices raised on site rather than at the kitchen table, and payment taken before the van leaves. Recurring maintenance jobs and their invoices generated on a schedule. ServiceM8 also offers AI drafting for the parts that eat the most time: a job description and its billing items written from what was done, client emails and texts drafted in seconds, and a voice assistant to action tasks and answer questions without stopping to type.
Bills captured from a photograph and read into the system rather than retyped. Bank rules coding the fuel, the trade counter and the phone bill without anyone looking at them, learning from what you have coded before. Reminders chasing overdue invoices under your own name on your own timing. None of this costs extra on the plans most businesses already hold, and it is the subject of one of our guides on what Xero already automates.
The newest layer is not another app. It is being able to ask the ledger a question in a sentence and get an answer, instead of building a report or opening the laptop at nine at night to find out. That is covered further down, along with the two things it will not do for you.
What none of these layers answers is whether the work is priced properly. That takes a different kind of setup, and it is the rest of this page.
A worked example
Take the most common pairing we see as the worked example. ServiceM8 also connects to QuickBooks Online, and the same questions apply there. The ServiceM8 and Xero integration is genuinely good, and it is worth being precise about what it covers, because what it leaves out is the interesting part, and the same gap exists in every other pairing we have looked at.
Invoices approved in ServiceM8 are raised in Xero ready for reconciliation. Clients and items sync in both directions, with a change in one updating the other, and items held in Xero arrive in ServiceM8 as materials. Payments taken on the job sync to Xero, and payments received in Xero sync back. Tax rates and income account codes are pulled from Xero, so coding is consistent without anyone maintaining two lists.
Two details. Clients and materials created in ServiceM8 only reach Xero attached to an approved invoice, so an unapproved job is invisible to the ledger. And sending staff shift times through as timesheets is available in Australia only, so a US business is running payroll separately whatever else is connected.
The core problem
Revenue arrives in the ledger job by job. Cost arrives by supplier, by pay run, and by card statement. Nothing in either system joins them back together unless somebody sets it up.
Materials are expensed when bought, not when used. A trade counter run on Tuesday hits the month it was bought, whether the job it was for finishes that week or next quarter. Monthly margin then swings on purchasing timing rather than on how the work went.
Van stock is invisible. Fittings, cable and consumables carried on the van were bought weeks ago and get used across a dozen jobs. Unless they are drawn down against jobs, every one of those jobs looks more profitable than it was.
Labour cost never reaches the job. Payroll posts as a lump to wages. The hours sit in the job system. Without an allocation, the most expensive input in the business is missing from every job margin you look at.
Travel and callbacks are free, apparently. Drive time between jobs and the return visit to fix something are real hours that rarely appear anywhere near the job they belong to.
Subcontractors get coded to one expense line. Which makes them invisible per job and awkward at year end when the 1099s have to be produced.

The fix is not more software. It is deciding how cost gets attributed, and then doing it every month: materials posted to jobs rather than to a single materials account, a labour rate applied from recorded hours, and van stock treated as inventory drawn down rather than as an expense on the day of purchase.

Cash
Taking a deposit when a quote is accepted is good for cash flow and slightly awkward in the accounts, because the money arrives before the work does. Through ServiceM8 Pay, a deposit syncs to Xero as a prepayment credit against the client, which is the right treatment: it is money held, not revenue earned, until the job is done.
Two configuration details decide whether that works cleanly. The default account for payments has to be set to a bank account for deposits to sync as prepayments at all. And if auto-reconciliation of ServiceM8 Pay transactions is switched on, the ServiceM8 Pay clearing account needs to be a bank account too.

A payments clearing account is doing its job when it returns to zero. If yours has been growing since the day card payments were switched on, that balance is the accumulated difference between what the app recorded and what the processor actually deposited, usually fees. It is the cheapest early warning you have that the two systems have drifted apart.
The newer layer
The honest version, because there is a lot of noise about this. AI will not keep your books for you, and anyone saying otherwise is selling something. What it does is take real time out of the week: drafting the writing, reading the documents, and shortening the distance between a question in your head and an answer out of your ledger.
Xero ships this directly today. Its assistant, JAX, is available inside Xero and answers within the permissions the user already has. Alongside it, Xero has built an integration with Anthropic’s Claude that puts live ledger data into a tool you can simply ask questions of. That is the one we use and the one shown below, and it is read-only: it can read your books and answer from them, but it cannot change anything in them.
What that looks like on a Tuesday: asking which invoices are more than thirty days overdue and what they total, or what you spent at a particular supplier last quarter, in a sentence rather than by building a report. Combined with the drafting and capture described above, an evening of admin becomes a few minutes between jobs, which is the version of this worth caring about.

An answer is only as good as the file it is drawn from. An assistant reading an unreconciled ledger will give you confident answers built on numbers that do not agree with the bank, and it has no way of telling you so. And a connection to your accounting data is a connection like any other. Know who authorised it, what access it was granted, and how you would revoke it. We cover both on the integration page.
The failure modes
Jobs completed but never approved. The work is done, the customer thinks they have been invoiced, and nothing reached the ledger because nobody pressed approve. Revenue and receivables are both understated until someone notices.
The same customer, twice. Created once in the field and once in the office, so the receivables ledger splits one client across two contacts and the aging looks wrong.
Cash and card jobs recorded on the phone but not in the books. The bank feed shows a deposit with no invoice behind it, and it gets coded to sales as a plug.
Supplier bills entered without a job reference. Once that habit sets in, job costing cannot be rebuilt later without going back through the invoices by hand.
Warranty callbacks billed at zero. Which is correct commercially and misleading in the accounts, because the labour and materials still cost you and belong against the original job.
Boundaries
Questions
Next
If the answer involves a spreadsheet and a guess, that is the gap. Tell us what you run and we will tell you what it would take to close it.
Book a free 30-minute call See the 32-point check