If your Friday afternoon involves staring at a wall of export errors on the batch and export screen, trying to figure out why one invoice won't push to QuickBooks, you're doing accounting the hard way. ServiceTitan's touchless journal entry integration exists specifically to kill that problem. Most companies I talk to either haven't switched yet or switched halfway and never finished the setup.
Here's what the integration actually does, how to set it up, and the handful of things that will bite you if you skip them.
First, why the old integration caused so many errors
ServiceTitan's original accounting integration was document based. That means every invoice in ServiceTitan had to become an actual invoice over in QuickBooks. Every vendor bill had to become a bill. Every line item had to map to a product or service on the QuickBooks side.
That's a lot of data that has to match exactly between two different systems. If the customer name in ServiceTitan doesn't match the customer name in QuickBooks, you either get an export error or you get a duplicate customer. If you export an invoice before you receive the PO that consumed the inventory, your QuickBooks inventory goes negative and now you have a different error. Inventory is notoriously finicky here.
The touchless journal entry integration flips the whole thing around. Instead of duplicating your invoices in QuickBooks, ServiceTitan sends over journal entries. A journal entry just says what happened with the money, which GL account it hit, and which class it belongs to. That's all your accounting software actually needs to produce a P&L and a balance sheet. All the customer names, line items, and job detail stay in ServiceTitan, where they already live.
Less duplicate data means less that can mismatch. In practice it eliminates something like 99% of export errors. And it syncs every two minutes instead of waiting for you to manually batch, post, and export.
Which accounting software you need
Touchless journal entries work with QuickBooks Online and Sage Intacct. Xero support has been in the works. QuickBooks Desktop is not supported and my honest read is that it never will be, because of limitations on the desktop side of a server based application.
If you're on QuickBooks Desktop, I know this isn't fun to hear, but start thinking about the move to QuickBooks Online. Intuit has been steering people away from Desktop for years now. They stopped selling new US licenses of Desktop 2024 and they have a page on their own site talking you out of buying it. QuickBooks Online is what ServiceTitan recommends for small to midsize companies, and it's what I recommend too. If you're enterprise, look at Intacct.
You can still export journal entries as a file and import them into pretty much any other accounting software manually. You just won't get the automatic two minute sync.
Do this prep work before you flip the switch
Don't just go turn the setting on. Two things need to line up first, and if they don't, you'll create errors on day one.
Match your GL accounts
Go to Settings, then Accounting, then General Ledger Accounts. Every account name in there needs to exactly match your chart of accounts in QuickBooks. Not close. Exactly.
Match your classes
Classes are what let you slice your P&L by business unit, so you want them on. In ServiceTitan, classes map to business units. Go to Settings, then Business Units, click Edit on a business unit, and look at the QuickBooks tab. Whatever class is listed there has to match what's in QuickBooks.
One thing people trip over. A colon in the class name creates a subclass. If you type Glendale:HVAC, you're mapping to a subclass called HVAC underneath a parent class called Glendale. That's fine, it's a normal thing to do. Just make sure you're doing it on purpose and not because someone typed a colon by accident.
Also worth knowing before you go live: once you switch to journal entry summaries, you can't pull AR out of QuickBooks anymore. All your AR rolls up under a single customer called ServiceTitan Customer. You pull AR from ServiceTitan instead, and the report over there is basically identical. But if part of your business runs outside ServiceTitan, this integration isn't going to work for you.
Making the switch
Go to Settings, then Accounting, then Journal Entries and Auto Batching. In the Export Type column, click the edit pencil and switch each transaction type to Journal Entry Summary. Turn on auto export wherever it's available.
You'll see an option for Journal Entry Detail instead of Summary. Detail puts individual customer names and descriptions on your journal entries in QuickBooks. It sounds nice, but it opens you back up to export errors, and you don't need it. Every journal entry that lands in QuickBooks has a URL in the memo field that takes you straight back to that journal entry record in ServiceTitan, where you can see every single transaction and every detail behind it. The detail is already there. Go with Summary.
Then set your auto export start date, and set your auto batch start date to the same day.
Two new transaction types you probably haven't seen
Journal entries brought in two transaction types that didn't exist before: applied payments and bank deposits.
Applied payments handle customer deposits. If you take money upfront to secure work you haven't done yet, go to Settings, Invoicing, and Payment Collections, and turn on the deposit workflow. Point it at a customer deposits liability GL account. When the deposit comes in it hits that liability account, and when it gets applied to an invoice the revenue moves out of liability and clears the AR. Turn this on. Without it, deposits can push you into negative AR, and negative AR is a mess.
Bank deposits handle money you physically take to the bank. Payments that ran through ServiceTitan Payments, like credit cards and scanned checks, export as bank deposits automatically and auto reconcile. You don't touch them. For cash and unscanned checks, go to the Accounting screen, Customer Payments, then the Ungrouped Payments tab. Check off what you deposited, hit Actions, then Add a Deposit. Name it, pick the bank, pick the date. Once the bank clears it, flip the deposit status from Open to Deposited.
You still need to batch, and here's the one reason why
With touchless journal entries, invoices and payments export automatically. So technically you don't need to batch anything. But you still do, for one reason.
Vendor bills and vendor credits don't auto export. ServiceTitan has no way of knowing when you've reconciled or paid a vendor bill, so those still need to be manually batched and exported from that ancient looking batch and export screen under the Accounting tab. Which means you'll still be visiting that screen.
And if you never batch your invoices and payments, they'll all be sitting loose on that screen. Hundreds of them. Thousands of them. The screen can't handle it and it will crash your browser.
So turn on auto batching, set everything to a daily cadence, and let it group things up so the screen stays usable. That's the whole reason. It's not an accounting requirement, it's a don't crash your browser requirement.
You'll also see checkboxes to separate batches by business unit and by payment type. Leave them unchecked unless you're actually running multiple separate companies out of one ServiceTitan tenant. Same for group batches by cadence. More batches just means more clutter.
Accounting periods are now the lock, not exporting
This is the part that catches people, so pay attention here.
Under the old document based integration, exporting a transaction was the moment it got locked. Once it was exported, you couldn't edit it. That's not how it works anymore. With touchless journal entries, an invoice exports within two minutes and you can still edit it afterward. The edit just syncs over to QuickBooks.
So what locks things now? Closing the accounting period. Go to Settings, Accounting, then Accounting Periods. Set your fiscal year and tell ServiceTitan when to auto close the previous month. If you set it to auto close on the 15th, then on July 15th everything from June locks down. Admins can reopen a closed period if you really need to, and that's permission based.
The payroll gotcha
Payroll depends on invoices being in the Exported status. And Exported is now controlled by the accounting period, not by the export itself. So if it's Friday and you need to run payroll for last week, but the period is still open, your payroll isn't going to populate. It'll look broken. It isn't.
Here's the fix. Go to the Accounting screen, then the Accounting Periods tab. Find the period containing that pay week. Click the period number to open up the transaction types inside it. Hit the kebab menu and pick Close Through Date, then close invoices through the last day of that pay period. The period status changes to partially closed and your payroll populates.
You don't have to close the whole month to run payroll. Just close through the date you need.
Don't touch things in QuickBooks
It's called a touchless integration for a reason. No touchy.
If you go into QuickBooks and manually delete or edit a journal entry that ServiceTitan is syncing to, you will create errors. I'm not sure why you'd want to, but people do it, and then they wonder why their sync status shows an error. Do your work in ServiceTitan and let the journal entries flow.
If you do need to check on something, the Journal Entries screen under the Accounting tab shows sync status for every entry. And the Accounting Audit Trail, also under the Accounting tab, shows you a record of every accounting change that's happened. Who did it, what the value was before, what it is now. You can filter by record type, by user, by date, and export the whole thing to a spreadsheet. That screen has saved a lot of people a lot of arguments.
Wrapping up
The touchless journal entry integration takes some upfront work. You have to get your GL accounts matched, get your classes matched, turn on the deposit workflow, set up accounting periods, and retrain your team on where AR lives. That's real change management and it's not nothing.
But once it's done, your accounting close gets a whole lot quieter. No more chasing export errors on a Friday. Just make sure you understand that accounting periods are the new lock, and that closing through date is how you get payroll to run.
If this was useful, the guide goes much deeper. Searchable video lessons walking through the full accounting setup, auto batching, accounting periods, payroll, inventory, and every other part of ServiceTitan, built for every role on your team. You can check it out at https://www.bluecollarnerd.com/#pricing