Skip to Content

QuickBooks sync

If your accountant works in QuickBooks, you don’t have to move them. LawnLedger can push customers, invoices, payments and items across so the work happens here and the books stay there - and your financial statements on the Reports page come straight from QuickBooks.

Growth and up. Connecting requires integrations.manage - Owner or Admin.

QuickBooks sync and LawnLedger’s own books are mutually exclusive. Running both would produce two sets of numbers with no way to say which is right, so LawnLedger asks you to pick. Choose the one your accountant actually opens.

Connect

Open Integrations

Settings → Connect → Integrations.

Connect QuickBooks

Click Connect on the QuickBooks card. You’ll be sent to Intuit to sign in and approve access, then returned.

Check your chart of accounts and items

Connecting mirrors your QuickBooks chart of accounts into LawnLedger. Under Chart of accounts on the QuickBooks card, set the posting defaults - the account a pushed record uses when it names none - and tell LawnLedger which QuickBooks items your services correspond to. Do this before the first sync - it’s much easier than fixing it after.

Your chart of accounts is mirrored

LawnLedger keeps a copy of your QuickBooks chart of accounts and refreshes it as QuickBooks changes. Every imported bill and expense lands on the QuickBooks account it was posted to, by account rather than by guessing from a name, and every record LawnLedger pushes names a QuickBooks account explicitly.

QuickBooks stays the place to add, rename or deactivate an account. Books → Accounting → Chart of accounts shows the mirror read-only, and Refresh from QuickBooks pulls it again on demand.

Posting defaults

A pushed record that names no account - a service with no income account, an expense line with no account - falls back to a default you set: the income account for services, the expense account of last resort, the bank or card account expenses and bill payments are paid from, and where customer payments deposit. Each expense category can also suggest an account.

A default left unset doesn’t guess. The push fails, the sync log says which default it needed, and it retries once you set one. That’s deliberate: a wrong account posted silently is the harder thing to find later.

What syncs

  • Customers - created in QuickBooks when they don’t exist there
  • Invoices - with their line items
  • Payments - applied against the matching invoice
  • Items/services - linked to your service catalog
  • Chart of accounts - mirrored from QuickBooks, refreshed as it changes
  • Financial statements - the trial balance, balance sheet, income statement, cash-flow statement and general ledger on the Reports page are QuickBooks’ own, fetched on demand and marked From QuickBooks. The four statements print as QuickBooks lays them out: its groups and subtotals, sub-accounts under their parents, in its order - on screen and in the CSV, PDF and Excel downloads. The general ledger nests its sub-account blocks on screen, and its CSV carries QuickBooks’ with-sub-accounts totals. The Profit & Loss opens on that statement layout; the dashboard layouts are still a click away.

When changes go to QuickBooks

Push changes automatically, under Settings on the QuickBooks card, decides whether LawnLedger sends changes on its own.

  • On - what you create and edit goes to QuickBooks within seconds, including an edit to an invoice, estimate or expense you’ve already sent. Bills are the exception: they go when you sync.
  • Off - nothing is sent until you ask. What you create and edit waits. The card says how many changes are waiting, and they go when you press Sync All to QuickBooks or a sync button on the Sync tab, or when you turn automatic push back on.

Turning it back on sends what waited. If anything is waiting, LawnLedger tells you how many changes it’s about to send and asks first.

Importing from QuickBooks is separate. This switch doesn’t affect it.

What Sync All sends

Sync All sends what’s waiting, and nothing else:

  • records QuickBooks has never received
  • records whose last push failed
  • records changed since they last synced
  • changes that waited while automatic push was off

Preview shows the count by type before anything is sent.

A record that’s already in step isn’t sent again - and that includes everything you imported from QuickBooks. When LawnLedger can tell a record was deleted in QuickBooks, Sync All doesn’t create it there again, and the preview says how many it’s holding back.

Sync All works the same whether automatic push is on or off.

Mapping services to items

By default, linking a service to an existing QuickBooks item is link-only: LawnLedger points at it and doesn’t overwrite it.

That default is deliberate. If your bookkeeper maintains item names, descriptions and prices in QuickBooks, having LawnLedger push its own values over them on every sync would quietly destroy their work. Turn on Manage in QuickBooks for an item only if you want LawnLedger to be the source of truth for it.

Troubleshooting

A customer synced twice. Usually two records that differ slightly (“Bob Smith” vs “Robert Smith”). Merge them in QuickBooks; the link follows.

An invoice won’t sync. Most often an unmapped service or a missing income account. The sync log names the specific record and reason.

A push failed for want of an account. Set the missing posting default under Chart of accounts on the QuickBooks card, or put an account on the record itself, then retry it from the sync log.

An account was deactivated in QuickBooks. The mirror follows within the next sync pass. Anything still pointing at it - a default, a service’s income account - is named in the sync preview, and a push that needs it fails until you pick another.

More changes are waiting than you expected. Every change made while automatic push is off waits, so the number grows until you sync. One more thing can be in it: before the September 2026 update, a Sync All pressed while automatic push was off queued its records and then held them instead of sending them. Those count as waiting now, and the next sync sends them. Preview shows what a sync would send, by type, before you commit to it.

A statement says QuickBooks didn’t answer. The Reports page shows the last copy it fetched, marked as such, for a day; after that it asks you to try again. Reconnecting from Settings → Connect → Integrations fixes an expired connection.

The connection expired. Intuit tokens expire and need periodic re-approval. Reconnect from Settings → Connect → Integrations.

Last updated on