Sync to QuickBooks Online

Connect the QuickBooks Sync add-on and push customers, invoices, and payments from OpsVara into QuickBooks Online.

Updated October 19, 2026

QuickBooks Sync is a paid add-on ($50/mo) that pushes your OpsVara billing records into QuickBooks Online automatically. The sync is one-way — OpsVara → QuickBooks — so your books follow what you actually billed, and OpsVara remains the source of truth.

What gets pushed, and when:

RecordWhen it syncs
CustomersWhen created or edited in OpsVara, if Sync customers is on (it is off until you turn it on). A customer OpsVara created in QuickBooks is kept in step with OpsVara; a customer you linked to an existing QuickBooks record is never renamed or re-addressed by OpsVara — that record stays your bookkeeper's. With the switch off OpsVara never creates a QuickBooks customer; invoices still post to linked ones, and an invoice for an unlinked customer holds until you link them.
InvoicesWhen sent, marked paid, or voided. Drafts and rejected invoices never sync.
PaymentsWhen recorded — each manual payment and each online card or bank payment posts once against the matching QuickBooks invoice, for the amount it holds, as the QuickBooks payment method of the same name (Check, Cash, Credit Card; bank payments match Bank Transfer, ACH, EFT or Direct Debit if your company has one — otherwise QuickBooks uses its default). Online payments carry the Stripe charge reference; the customer's processing fee is never posted (it is Stripe's, not your revenue).
Service itemsCreated in QuickBooks automatically the first time a service, drive & labor, billable expense, other charge, or card fee line needs one, named after your work types and booked to your default income account.

Set it up

  1. Add QuickBooks Sync to your plan

    An admin opens SettingsBilling and adds the QuickBooks Sync add-on. It is not available on trial accounts.

  2. Connect your QuickBooks company

    Open SettingsIntegrations and click Connect QuickBooks. Sign in at Intuit with a QuickBooks admin login and choose the company to connect. You are returned to OpsVara with "QuickBooks connected" — and the banner Connected · setup incomplete. Connecting only authorizes OpsVara: nothing is written into QuickBooks until you click Start syncing in the last step.

  3. Pick your Default tax code

    In the Sync Settings card, set Default tax code and Default income account (both required before you can start: the income account is what new service items are booked to). If your QuickBooks company has sales tax turned off, tick This QuickBooks company doesn't charge sales tax instead of picking a tax code — every line then posts as non-taxable, and an invoice that does carry tax is flagged rather than pushed. Choose what to push with the Sync customers, Sync invoices, and Sync payments checkboxes — Sync customers starts off, and stays off unless you turn it on, so OpsVara never creates QuickBooks customers you did not ask for. If earlier invoices were already entered in QuickBooks by hand, set Only sync invoices dated on or after so a backfill cannot book them twice. Click Save Sync Settings.

  4. Match the customers you already have

    If your customers are already in OpsVara, click Match Customers to QuickBooks and link them to their QuickBooks records before anything syncs (see below). This is what keeps invoices posting to the customers already in your books instead of creating duplicates. Customers that are not in QuickBooks at all: either turn Sync customers on so OpsVara creates them, or leave it off and their invoices hold until you link them.

  5. Click Start syncing

    At the bottom of Sync Settings, click Start syncing. From that moment, new and changed invoices and payments go to QuickBooks as you work. The button stays disabled until a tax code (or the no-sales-tax tick) and an income account are saved, and the banner changes to Syncing.

  6. Backfill with Sync Now

    Click Sync Now to push what already exists. The confirmation lists exactly what it will do — how many invoices on or after your start date, and how many customers will be created in QuickBooks versus already linked — before you type "sync". Starting the sync does not push existing records; only Sync Now does.

Invoices hold until a tax code is mapped

QuickBooks requires a tax code to record the exact tax OpsVara calculated, so invoice sync holds until you pick a Default tax code. Those invoices appear under Needs Attention on the Integrations tab as waiting on you, and are pushed again overnight, or immediately when you click Sync Now.

Match Your Existing Customers to QuickBooks

When your customers already live in OpsVara, link them to the records in your books before invoices flow. On SettingsIntegrations, click Match Customers to QuickBooks. Every active OpsVara customer is listed with its QuickBooks state:

  • Linked — already tied to a QuickBooks customer.
  • Suggested — a QuickBooks customer has exactly the same display name (or, failing that, the same primary email). Review the suggestions, then click Link all suggested.
  • No match — click Link… to search your QuickBooks company by name and pick the right record. Use this whenever the two systems spell a name differently, such as "Smith, John" and "John Smith".

Linking writes nothing to QuickBooks. It only tells OpsVara which QuickBooks customer to post invoices and payments against.

Unmatched customers are created in QuickBooks on first sync

When a customer syncs with no link, OpsVara adopts an existing QuickBooks customer only when the name and the email agree (or the email alone matches). A QuickBooks customer with the same name but a different email — or no email on one side — is not guessed at: the customer is listed under Needs Attention as waiting on you until you confirm the match here or on the customer page. The same goes for an email that several of your OpsVara customers share (a property manager billed for three HOAs, say): it suggests nothing and the push holds, because only you know which of them the QuickBooks record is. Finding nothing at all, OpsVara creates a new QuickBooks customer, so a person already in your books under a different spelling becomes a duplicate. Match first, then sync.

Keep a customer out of QuickBooks

Tick Don't sync on a row of the match list, or open the customer's page under DirectoriesCustomers and tick Don't sync to QuickBooks in the QuickBooks card. An excluded customer is never pushed, and any invoice for them waits under Needs Attention until you turn the switch back off.

The QuickBooks card on a customer's page shows which QuickBooks record they are linked to. Link to QuickBooks… or Change link… opens the same search, and Unlink forgets the link (the next sync matches by name or email again, and may create a new QuickBooks customer if nothing matches).

Import Customers from QuickBooks

If some customers exist only in QuickBooks, pull just those in. On SettingsIntegrations, click Import Customers from QuickBooks, search your QuickBooks company, tick the customers that belong in this OpsVara account, pick the customer type for any that will be created, and click Import selected.

  • A ticked QuickBooks customer that matches an existing OpsVara customer by name or email is linked, never overwritten — nothing you maintain in OpsVara changes.
  • Everyone else you ticked is created in OpsVara with their name, contact, email, phone, and addresses.
  • Rows already linked are greyed out; Show inactive reveals inactive QuickBooks customers.
  • The import is quiet: it sends no portal invites, and imported customers are not pushed back to QuickBooks.

Import all… brings in every active customer in the QuickBooks company. It asks you to type "import" first, because a company that serves several markets would land in this one OpsVara account in full.

When it finishes, the panel shows a summary, and the connection card shows "Last import: N imported, M linked, K already synced."

Imported customers have no service sites yet

QuickBooks tracks who you bill, not where you work — so every imported customer arrives with no site. A customer with no site cannot be scheduled, cannot hold a job, and cannot be billed for work. Send your site list (with pool sizes or acreage if you track them) to your OpsVara contact: they import it against the customers you just brought in, so nothing is retyped and no customer is duplicated.

When something doesn't sync

The Integrations tab shows a Needs Attention card whenever records are stuck. It is grouped by reason, not by record — a hundred invoices waiting on a tax code are one row, "No default tax code is set · Waiting on you 100", not a hundred rows. Each row says what the cause is, how many records it holds, and what to do about it:

  • Waiting on you means the records need a setting or a decision — usually the default tax code, a same-name customer match you need to confirm, or a customer who is not linked while Sync customers is off.
  • Failed means the push was rejected by QuickBooks — a total that did not match, an invoice number already taken, a voided invoice with synced payments.

Buttons on each row:

  • Fix in Sync Settings or Open Match Customers takes you straight to the setting that clears the cause.
  • Retry pushes every record in that row again right now, once you have fixed the cause. (Everything open is retried overnight anyway.)
  • Mark all resolved takes the whole row off the list once you have handled it in QuickBooks yourself — entered the credit memo, deleted the duplicate payment. Resolved records are not pushed again unless they change.

Expand a row to see the records themselves (invoice numbers and customer names link to their pages), with the per-record detail such as the two amounts of a total mismatch, and a Mark resolved for a single one. If a later push for a resolved record fails again, it comes back on its own.

The connection card at the top summarises the same thing in one line — "12 records are waiting on you and 4 could not be pushed to QuickBooks".

While anything is listed, admins and office managers get one email a day naming the causes, biggest first — "80 — No default tax code is set; 15 — QuickBooks already has a customer with this name but a different email" (turn it off per person under Settings → Notifications → QuickBooks sync).

Each invoice shows a small QuickBooks chip (Synced, Waiting on you or Failed), and the QuickBooks card on each customer page shows Linked, Waiting on you or Failed, so you can check a single record without leaving it.

If the connection banner says Reconnect Required, QuickBooks expired the authorization (this happens after roughly 100 days without sign-in). Admins and office managers are emailed the moment it happens. Click Reconnect QuickBooks — your settings and links are kept, and OpsVara catches up on the invoices and payments that changed while the connection was down. A reconnect never pushes your customer list; only Sync Now does, and it tells you the counts first.

Known limitations

  • The sync is one-way. Changes made inside QuickBooks are not pulled into OpsVara. On invoices and payments OpsVara's next push overwrites them; on a linked customer's name and contact details it does not.
  • Invoice and payment dates post on your company's calendar (Settings → Company → Company time zone). Leave the time zone blank and QuickBooks gets the UTC day instead, so an evening payment on the last day of a month can land in the next month's books.
  • Payments post once. Removing a manual payment or applying a Stripe refund in OpsVara flags the QuickBooks payment under Needs Attention so you can adjust it by hand; other edits do not update QuickBooks. A refunded payment that has not been applied yet waits there instead of posting.
  • Voiding an OpsVara invoice that already has synced payments does not void it in QuickBooks; the record shows an error asking you to resolve it with a credit memo in QuickBooks. Combining invoices voids the originals in QuickBooks too.
  • Contract credit applied to an invoice is not a QuickBooks payment. The invoice syncs with its full amount and a held row asks you to record a credit memo.
  • If QuickBooks computes a different total than OpsVara billed (usually a tax-code or item setup difference), the invoice shows an error with both amounts instead of a green Synced.
  • Deactivating a customer in OpsVara does not deactivate them in QuickBooks.
  • Invoices dated before Only sync invoices dated on or after never sync, even when voided later — they were never in QuickBooks through OpsVara.
  • The integration is designed for US-based QuickBooks Online companies.

Verify it worked

After Sync Now, the Integrations tab shows "Last synced" with a fresh timestamp and no Needs Attention card. In QuickBooks Online, open Sales → Invoices and confirm an OpsVara invoice appears with the same invoice number, lines, tax, and payments. On that invoice in Sales and BillingInvoices, the chip reads QuickBooks · Synced.

Frequently asked questions

Does the sync go both ways?

Ongoing sync is one-way — OpsVara pushes to QuickBooks, and edits made inside QuickBooks are not pulled back. The one exception is the on-demand customer import, which pulls your existing QuickBooks customer list into OpsVara when you click Import Customers from QuickBooks.

My customers are already in OpsVara. What happens when I turn on the sync?

Nothing is pushed by connecting, and nothing is pushed until you click Start syncing. When an invoice syncs, OpsVara uses the QuickBooks customer you linked. With no link it adopts a QuickBooks customer only when the name and the email both agree, or the email alone matches and that email belongs to just one OpsVara customer; a same-name customer with a different email, or an email shared by several of your customers, is held for you to confirm. When nothing matches, a new QuickBooks customer is created only if Sync customers is on — it is off until you turn it on, so by default the invoice holds instead. Open Match Customers to QuickBooks first and link each customer to the right record before you start. A linked customer's name, email, phone, and address in QuickBooks are never overwritten by OpsVara — only customers OpsVara created there are kept in step.

I connected QuickBooks but nothing is syncing. Why?

Connecting only authorizes OpsVara. Syncing starts when you finish Sync Settings (a tax code or the no-sales-tax tick, plus an income account), save, and click Start syncing. Until then the Integrations tab says "Connected · setup incomplete" and Sync Now is disabled.

Can I import only some of my QuickBooks customers?

Yes. Click Import Customers from QuickBooks, search your QuickBooks company, tick the customers that belong in this OpsVara account, and click Import selected. Importing every QuickBooks customer is still possible, but it asks you to type "import" first because it brings in the whole company.

Can I keep one customer out of QuickBooks?

Yes. On the customer's page, tick Don't sync to QuickBooks in the QuickBooks card (or in the Match Customers to QuickBooks list). That customer is never pushed, and their invoices wait under Needs Attention instead of syncing.

We already entered older invoices in QuickBooks by hand. Will Sync Now double them?

Not if you set Only sync invoices dated on or after in Sync Settings. Invoices dated before that day are skipped by Sync Now and by the automatic sync.

My imported customers have no sites. How do I add them?

QuickBooks has no concept of a service location, so imported customers arrive with none. Send your site list to your OpsVara contact — they import it with a spreadsheet that attaches sites, and their vertical details like pool volume or acreage, onto the customers you already imported.

Why is an invoice waiting under Needs Attention?

Invoices wait until you pick a Default tax code and a Default income account in Sync Settings — QuickBooks needs a tax code to record the exact tax OpsVara calculated, and an income account to create service items. Pick them, save, then click Sync Now. An invoice also holds when its customer is marked Don't sync to QuickBooks, when contract credit settled it in OpsVara (record a credit memo in QuickBooks), when a same-name QuickBooks customer has a different email (or an email several OpsVara customers share) so you can confirm the match, and when the customer is unlinked while Sync customers is off.

What happens if I connect a different QuickBooks company?

OpsVara clears its stored record mappings, because QuickBooks ids only mean something inside one company, and syncing stops until you redo Sync Settings and click Start syncing again. After that, records are matched into the new company by customer email and by invoice number, or created fresh.

Do payment edits or refunds sync?

No. A payment is pushed to QuickBooks once, when it is recorded. Editing or removing it later in OpsVara does not change QuickBooks — make that correction in QuickBooks directly. A removed payment or an applied refund is flagged under Needs Attention so you can fix it there.

Related guides