Sync to QuickBooks Online
Connect the QuickBooks Sync add-on and push customers, invoices, and payments from OpsVara into QuickBooks Online.
Updated September 28, 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:
| Record | When it syncs |
|---|---|
| Customers | When created or edited in OpsVara, if Sync customers is on. Existing QuickBooks customers are matched by display name or email instead of duplicated — and a linked customer's name, email, phone, and address in QuickBooks are overwritten with OpsVara's on every edit. Leave the switch off if QuickBooks holds your master contact details; invoices still post to linked customers. |
| Invoices | When sent, marked paid, or voided. Drafts and rejected invoices never sync. |
| Payments | When recorded — each manual payment and each online card or bank payment posts once against the matching QuickBooks invoice, for the amount it holds. Online payments carry the Stripe charge reference; the customer's processing fee is never posted (it is Stripe's, not your revenue). |
| Service items | Created 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
Add QuickBooks Sync to your plan
An admin opens SettingsBilling and adds the QuickBooks Sync add-on. It is not available on trial accounts.
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."
Pick your Default tax code
In the Sync Settings card, set Default tax code and Default income account (both required before the first invoice syncs: the income account is what new service items are booked to). Choose what to push with the Sync customers, Sync invoices, and Sync payments checkboxes. 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.
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.
Backfill with Sync Now
Click Sync Now to queue every active customer and every non-draft invoice on or after your start date. From then on, records sync on their own as you work.
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. Held invoices appear under Needs Attention on the Integrations tab 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 looks for an exact display-name or email match and, finding none, creates a new QuickBooks customer. If your QuickBooks company already has that person under a different spelling, you get 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 shows as Held under Needs Attention until you turn the switch back off.
Link or unlink from the customer page
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 list whenever records are stuck:
- Held means the record is waiting on a setting — usually the default tax code.
- Error means the push failed. Errored records retry automatically every night, or immediately when you click Sync Now.
Each invoice page and each customer page shows a small QuickBooks chip (Synced, Held, or Error) 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). Click Reconnect QuickBooks — your settings and links are kept, and OpsVara queues a sync so anything billed while the connection was down reaches QuickBooks.
Known limitations
- The sync is one-way. Changes made inside QuickBooks are not pulled into OpsVara, and OpsVara's next push overwrites them.
- 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. When you apply a Stripe refund to an invoice, the QuickBooks payment is flagged under Needs Attention so you can adjust it by hand; 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 just by connecting. When an invoice syncs, OpsVara looks for a QuickBooks customer with exactly the same display name or email and uses it; if it finds none, it creates a new QuickBooks customer. To avoid duplicates where names differ, open Match Customers to QuickBooks first and link each customer to the right QuickBooks record before you send invoices. Keep Sync customers off if you want QuickBooks to stay the master for names and addresses — with it on, OpsVara overwrites those fields on every edit.
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 show as Held 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 does an invoice show Held?
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, and when contract credit settled it in OpsVara (record a credit memo in QuickBooks).
What happens if I connect a different QuickBooks company?
OpsVara clears its stored record mappings, because QuickBooks ids only mean something inside one company. On the next sync, records are matched into the new company by customer name or 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.