Free trial
Colour

Connect your own QuickBooks Online company

Create your own Intuit developer app, save its details in Pop Dispatch, sign in to QuickBooks and send customers, invoices and payments to your own company.

For
Owner
Hosting
Any hosting
Devices
Web browser
Business
All businesses

Checked against Pop Dispatch 0.1.0

Pop Dispatch sends your customers, invoices and payments to your own QuickBooks Online company. You connect through an app that you create yourself on Intuit's developer site, so the connection belongs to you. Set aside half an hour. The Intuit pages may be worded a little differently from the words below. Look for the closest match.

Before you start #

  • Only the owner does this.
  • You have a QuickBooks Online company, and you can sign in to it.
  • Your public base address is saved in Settings, so QuickBooks can send you back to Pop Dispatch after sign-in. It is the web address people use to reach your office server, for example https://dispatch.example.com. See "Public address and trusted proxies".
  • Start in Sandbox, which is for practice. Use Production when you want your real books.

Part 1: Create your app at Intuit #

  1. Go to developer.intuit.com and sign in. Use the Intuit account that belongs to your business, or create one there.
  2. Create an app. When Intuit asks which scope the app needs, choose the QuickBooks Online Accounting scope.
  3. Open the app's Keys & credentials page. Copy the Client ID and the Client Secret. The Sandbox keys come first. The Production keys come later, once Intuit lets you use them.
  4. On the same page, add this Redirect URI, using your own public base address in place of the first part: <your public base address>/api/v1/connections/quickbooks/callback. For example https://dispatch.example.com/api/v1/connections/quickbooks/callback. Save it at Intuit. The address has to match exactly.

Part 2: Connect in Pop Dispatch #

  1. Open Settings, then Connections. Find the card "QuickBooks Online" and its panel "QuickBooks details".
  2. Type the "Client ID" and the "Client secret". Choose the "Environment": "Sandbox (for practice)" or "Production (your real books)". Choose "Save details". A message says "The QuickBooks details are saved." The secret is sealed and never shown again.
  3. Under "Sign in to QuickBooks", choose "Open the QuickBooks sign-in page". Sign in at Intuit, choose your company and allow access. The page then returns to Pop Dispatch and says it is connected.
  4. Back on the Connections page, the panel reads "Connected to company ..." with the environment, the last sync and how many items are waiting to sync.
  5. Tick "Switch on QuickBooks Online". A message confirms it is on.
  6. Choose "Test connection". The message reads "Connected to" followed by your company's name.

Part 3: Add the item, then sync #

  1. In QuickBooks, open Products and services and create an item called Services. Pop Dispatch books every invoice line to this item.
  2. In Pop Dispatch, choose "Sync now". A message says how many customers, invoices and payments were sent, for example "Synced 3 customers, 5 invoices and 4 payments." Anything that failed is listed with the reason.

What is sent #

  • Customers, invoices and payments.
  • On each invoice, tax goes on its own line, so the totals in QuickBooks match Pop Dispatch.
  • Each customer, invoice and payment is sent once. Later syncs send only what is new.
  • A sync sends up to 50 invoices. Choose "Sync now" again to send the next 50.
Technical details
  • Routes: POST /connections/quickbooks/credentials (owner) with client_id, client_secret and environment; GET /connections/quickbooks/authorize (owner) returns the sign-in address; GET /connections/quickbooks/callback (public, checked with a state value) stores the tokens; POST /connections/quickbooks/sync (owner and manager); GET /connections/quickbooks/status.
  • The client secret and the tokens are sealed in the business's settings area. When Intuit answers 401, Pop Dispatch refreshes the token once and tries again.
  • Which records were sent is kept in qbo_links, so a record is never sent twice.
  • A sync is refused while the connection is off: "QuickBooks Online is switched off. Turn it on in Settings, Connections."

If something goes wrong #

  • "Set the public base address in settings first, so QuickBooks can send you back to this server.": save the public base address, then choose "Open the QuickBooks sign-in page" again.
  • Intuit shows a redirect error: the Redirect URI in your Intuit app has to match the one above, letter for letter.
  • "Save the client id and client secret from your Intuit developer app first.": complete Part 2, step 2.
  • "QuickBooks Online has no item named Services. Add one under Products and services, then sync again.": complete Part 3, step 1.
  • "QuickBooks Online asked for a new sign-in. Use Connect again.": choose "Open the QuickBooks sign-in page" and sign in again.
  • "The client id and secret are one word each": copy them again, without spaces.