A plumbing company I work with is moving off Jobber. Their new system is built and they have not connected it to QuickBooks yet.
Last month I went and sorted out their tax setup, before anybody touches that connection. Their prices were entered tax inclusive, and this company invoices tax exclusive. Every invoice the system would have raised was short by exactly the tax.
None of it was urgent. It is exactly the kind of thing that is easy to leave until after go live.
Here is why it is not.
A setting like that is wrong in one system, and one system is where the whole problem lives. The moment those two systems are connected, an approved invoice stops being a thing in their software and becomes a thing in their accounting. It goes across carrying its customer and its line items. Then somebody pays it, and the payment goes across too.
So it stays a setting for exactly as long as the second system is not listening. After that it is a week of invoices somebody has to go back through, and a correction that is no longer entirely yours to make.
That is the real shape of a software switch, and it is the part almost nobody plans for.
Everybody plans the data. Export the customers, import the customers, check the count came out right. That is real work, but it is the work you expect, and it is the work the vendor will help you with.
What nobody plans for is that a new system has a window while it is still standing on its own, and the things that cost nothing inside that window get expensive outside it.
Three that catch people.
Connecting two systems decides which one is in charge of what, and nothing announces the decision.
Take ServiceM8 and QuickBooks Online, because it is documented and I have been inside it recently. Customers and materials come down from QuickBooks into ServiceM8, on setup and then continuously after that. Invoices go the other way, and only once they are approved. An invoice raised directly in QuickBooks does not come back into ServiceM8, only whether it was printed or emailed. An invoice you raise at no charge does not go across at all, so warranty and goodwill work never reaches the accounting side. Staff do not sync in either direction.
None of that is a fault. Most integrations have a table like this one. But read what it means if your two customer lists have already drifted apart, which after a few years they will have. A customer entered by hand on the accounting side overwrites the version sitting unsynced in ServiceM8. So connecting two lists that disagree does not get you a merge. It gets you one of them quietly winning, record by record, and nobody watching it happen.
Ask for that table before you connect. It is a fair thing to ask for. Then read it as a list of habits your people are about to have to change, because that is what it actually is.
Some of it unwinds and some of it does not, and it is the opposite of what people assume.
Settings feel permanent. Transactions feel like they can always be fixed.
In that same integration it runs the other way round. Tax comes down from QuickBooks in one direction only, and while the two are connected you cannot edit it in ServiceM8. That sounds like the frightening one. It mostly is not. I asked the vendor directly, and disconnecting releases it again. Not for free: the customers and materials that came across stay behind, and somebody cleans them up. But the setting comes back.
The payment is the one that does not. Once it has been sent across it cannot be deleted in ServiceM8 at all. Deleting it in QuickBooks does remove it from ServiceM8, so there is a way out, but notice where the way out is. The fix has moved into the system you may not be the person who opens.
So ask the question in that shape before you connect anything. Not "what changes," which gets you a feature list nobody reads. Ask what you can undo afterwards and what you cannot. The answer will not line up with your instincts.
And then the one that will actually break, which is in nobody's documentation.
If your accounting file already carries invoice numbers from a system you used before it, and your new system starts issuing numbers in that same range, the invoice export can fail.
And it will not necessarily tell you it is a duplicate number. It can just look like a broken connection. Somebody spends a day on the integration, and the integration is fine.
That one only bites if the old file genuinely holds invoices, which plenty do not, so it is worth two minutes of looking rather than any worrying. Read the highest number in there and start your new system above it.
I only know to check at all because I asked a vendor a question their public help pages do not answer, and that is the whole trick. A support desk will often tell you things that are written down nowhere. Ask before you connect, ask in writing, and keep the reply.
So here is the fix, and it is not a project plan.
Before anything gets connected, write the order down. Not the task list, the sequence. Then at every step, ask two questions: what does this step make impossible, and what has to be true before I take it. The sequence is the job, and https://www.chanautomation.com/servicem8-migration is mostly about getting it in the right order.
Then do the thing the vendor's own support desk told me to do, which almost nobody does. Connect it, approve exactly one invoice, and go and look at that invoice on the other side. One. Check the customer matched, the tax is right, the number went through. Then stop, and fix whatever that one invoice just showed you, before a week of real invoices goes through the same pipe.
One caveat on that, if you happen to be moving accounting systems in the same season. Ask which of the two moves has to happen first before you start either of them, because approving that one test invoice puts real data into the accounting file, and some conversions care a great deal about what is already sitting in there.

The other half is not clever at all. Do not cancel the old system on cutover day. Keep it running and readable for a full billing cycle on the far side, even if that means paying for a month you are not using. The month is cheap. Reconstructing a paid invoice out of a platform you no longer have a login for is not.
Before you do anything else, try this one. For the switch you are planning, or the two systems you are about to join up, name one thing that changes direction the moment they are connected. One piece of information that stops being yours to type and starts arriving from somewhere else.
If you cannot name it, that is a question for the vendor this week. This is a far better week to find that out than the one after go live.
Kevin Chan
The Ops Shortcut by ChanAutomation
https://www.chanautomation.com/servicem8-migration

