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 DesktopBoth 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 |
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 happensInvoices 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 QuickBooksShopController 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 connectedA shop administrator sets up the connection once, from the QuickBooks settings in ShopController.
QuickBooks Online
- Open your QuickBooks settings in ShopController and choose QuickBooks Online as the integration type.
- Sign in with your Intuit account and approve access to your company.
- 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
- Open your QuickBooks settings in ShopController and choose QuickBooks Desktop as the integration type.
- Enter the Web Connector username and password, and confirm the account names for Accounts Receivable, deposits, and income.
- Download the Web Connector file (.qwc) from ShopController.
- On the computer that runs QuickBooks Desktop, open the QuickBooks Web Connector and add the .qwc file.
- 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.