Skip to content
English
  • There are no suggestions because the search field is empty.

QuickBooks Integration: What Connects and What Syncs

ShopController connects to both QuickBooks Online and QuickBooks Desktop, and sends your customers, invoices, payments, and vendor bills to QuickBooks so you don't enter them twice.

 

Overview

The sync runs one way: from ShopController to QuickBooks. ShopController is where you write estimates, invoice jobs, take payments, and order parts. QuickBooks receives a copy of that financial activity for your books.

Nothing is pulled from QuickBooks back into ShopController. Changes you make to a record directly in QuickBooks will not show up in ShopController, so make edits in ShopController and let them flow across.

Each shop connects to one QuickBooks product at a time, either Online or Desktop.

QuickBooks Online vs. QuickBooks Desktop

Both versions sync the same core records, but they connect differently. Online updates right away; Desktop updates on a schedule through the QuickBooks Web Connector.

QuickBooks Online

QuickBooks Desktop

How it connects

Sign in to your Intuit account from ShopController

QuickBooks Web Connector installed next to QuickBooks Desktop

Speed

Immediate, while you work

Queued, then picked up about every 30 minutes

Customers

Yes

Yes

Vendors

Yes

Yes (new vendors only)

Invoices

Yes

Yes

Payments

Yes

Yes (can be turned off)

Purchase orders as bills

Yes

Yes

Return orders as vendor credits

Yes

Not available

Credit card refunds on returns

Yes

Not available

Bulk send from a list

Yes

Not available

Errors shown

On screen, right away

After the next sync

What syncs

Five kinds of records go to QuickBooks: customers, vendors, invoices, payments, and purchase orders.

ShopController record

Becomes in QuickBooks

What is sent

Customer

Customer

Company or first and last name, billing address, shipping address, phone, email, notes, tax-exempt status

Vendor

Vendor

Name, company, address, phone, email

Invoice

Invoice

Customer, invoice date, due date, invoice number, one line per part, labor, or other charge, plus sales tax, fees, and service charges

Payment

Payment received

Customer, date, amount, payment method, deposit account, and the invoice it pays

Purchase order

Bill

Vendor, vendor invoice number, invoice date, due date, memo, one expense line per item

Return order (Online only)

Vendor credit or credit card refund

Vendor, credit amount, one expense line per returned part or core

Customers

A customer is created in QuickBooks the first time one of their invoices syncs. If the customer already exists in QuickBooks under the exact same name, ShopController links to that record instead of creating a duplicate.

ShopController uses the company name when there is one, and the first and last name otherwise.

Invoices

Each line on the ShopController invoice becomes a line in QuickBooks with its description, quantity, price, and amount. Sales tax, fees, and service charges are added as their own lines.

Payments

A payment syncs once it is marked Paid, and is applied to its invoice in QuickBooks. The invoice has to sync first, so payments always follow their invoice. Payment links that are still waiting on the customer are not sent until they are paid.

Purchase orders and returns

A purchase order syncs as a bill from the vendor. In QuickBooks Online, a return order syncs as a credit. Use the QBO Return Mode setting on the return order to choose the credit type:

  • Vendor Credit (default): the vendor holds the credit on your account to offset future bills.
  • Credit Card Credit: the vendor already refunded your credit card.

Core returns follow the same path and sync as part of the return order.

When syncing happens

Invoices and payments sync automatically. Purchase orders and customer updates sync when you send them.

Action in ShopController

What happens

Automatic?

Finalize an invoice

The invoice and its customer are sent

Yes

Record a payment that is Paid

The payment is sent and applied to its invoice

Yes

Select invoices in the Financial list and choose Send to QBO

The selected invoices and their payments are sent together

Manual (Online only)

Choose Send to QBO on a purchase order

The bill or return credit is sent

Manual

Click the cloud sync icon in the customer sidebar

The customer is created, updated, or linked

Manual (Online only)

With QuickBooks Online, each of these finishes while you wait. With QuickBooks Desktop, the same actions add the record to a queue, and it appears in QuickBooks after the Web Connector's next run.

Desktop also takes care of ordering for you. If an invoice needs a customer that is not in QuickBooks yet, the customer is sent first.

How records appear in QuickBooks

ShopController sends finished numbers, so what you see in QuickBooks matches the invoice your customer received.

  • Invoice number. The QuickBooks invoice number is the ShopController job number. In QuickBooks Online you can choose to use the invoice number instead.
  • Sales tax. ShopController calculates the tax and sends it as a separate "SalesTax" line. QuickBooks does not recalculate it.
  • Fees and service charges. Each is sent as its own line, after tax where that applies.
  • Payment methods. In QuickBooks Online, card and Stripe payments post as credit card and everything else posts as cash. In QuickBooks Desktop, your ShopController payment type names are matched to QuickBooks payment methods and created if they are missing.
  • Deposit account. Payments post to Undeposited Funds unless you set a different deposit account in your QuickBooks settings in ShopController.
  • Expense accounts on bills (Online). You can map a separate expense account for parts, labor, tires, sublet, FET, cores, and other. Anything unmapped uses your default expense account.
  • Customer names. QuickBooks Online does not accept colons in names, so they are removed.

Items created in QuickBooks Desktop

The first time an invoice syncs to Desktop, ShopController creates the items it needs if they are not already there: SalesPart, SalesLabor, SalesFET, SalesOther, Service, SalesTax, and Fee, plus one item per service charge. Please do not rename or delete these items. ShopController also looks up your Accounts Receivable, deposit, and income accounts by name.

Getting connected

A shop administrator sets up the connection once, from the QuickBooks settings in ShopController.

QuickBooks Online

  1. Open your QuickBooks settings in ShopController and choose QuickBooks Online as the integration type.
  2. Sign in with your Intuit account and approve access to your company.
  3. Review your account settings: deposit account, default expense account, and any per-type expense accounts.

The connection renews itself in the background. If it goes unused for about 100 days, QuickBooks asks you to sign in again.

QuickBooks Desktop

  1. Open your QuickBooks settings in ShopController and choose QuickBooks Desktop as the integration type.
  2. Enter the Web Connector username and password, and confirm the account names for Accounts Receivable, deposits, and income.
  3. Download the Web Connector file (.qwc) from ShopController.
  4. On the computer that runs QuickBooks Desktop, open the QuickBooks Web Connector and add the .qwc file.
  5. Approve access when QuickBooks asks, then enter the password in the Web Connector.

The Web Connector checks in about every 30 minutes. QuickBooks Desktop and the Web Connector both need to be running on that computer for records to arrive.

Good to know
  • One way only. Edits made in QuickBooks do not come back to ShopController.
  • One product per shop. Talk to support before switching between Online and Desktop, because existing links to QuickBooks records need to be reset.
  • Income accounts. Sales post to a single income account in QuickBooks. Parts and labor are not split into separate income accounts.
  • Desktop bills. Bill lines carry a description and amount and post to your QuickBooks default expense account.
  • Desktop vendors. Vendors are created in QuickBooks but later edits are not sent. Update vendor details in QuickBooks directly.
  • Desktop customer updates. After a customer is first created, later updates send name, billing address, phone, and email.
  • Desktop returns. Return orders and vendor credits do not sync to Desktop. Enter them in QuickBooks by hand.
  • Bulk purchase order export (Online). Sending return orders from the list always creates a vendor credit. To send a credit card credit, export from the return order itself.
  • Purchase orders need a vendor invoice. A purchase order must have a vendor invoice number and a total that matches it before it can be sent.
  • Voids. Voiding a payment in ShopController also voids it in QuickBooks Online. If the QuickBooks void fails, your ShopController invoice is left as it was.
  • Long names. QuickBooks Desktop limits names to 41 characters, so longer names are shortened.

Troubleshooting

ShopController says more than one customer matches. QuickBooks Online has two or more customers with the same name. Open the customer sidebar, click the cloud sync icon, and pick the right match from the list. You can also search QuickBooks by hand from the same window.

I was asked to reconnect QuickBooks Online. The connection expired. Sign in again from your QuickBooks settings. Nothing is lost, and anything that did not send can be sent again.

A payment did not sync. Check that its invoice is in QuickBooks first, and that the payment is marked Paid. Payment links that have not been paid yet are held until they are.

My Desktop records are not showing up. Allow about 30 minutes. If they still have not arrived, confirm that QuickBooks Desktop is open with the right company file and that the Web Connector is running.

A Desktop invoice or payment has been waiting a long time. This usually means an account name in your ShopController settings does not exactly match the account in QuickBooks. Compare the Accounts Receivable, deposit, and income account names.

Will I get duplicates if I send something twice? ShopController checks whether a record has already been sent before sending it again. If you do spot a duplicate, contact support rather than resending.

I can't send a purchase order. Add the vendor invoice number and make sure the purchase order total matches the vendor's invoice.