Accounting

Setup QuickBooks

22min

Overview & Purpose:

QuickBooks is a set of software solutions offered by Intuit Inc. It is a small business accounting software designed to manage payroll, inventory, sales, and other needs of a small business. With QuickBooks integration with your OnPrintShop web store track project profitability, manage bills, track and manage expenses, manage and look for invoicing and payment, track sales and tax, and other services.

With the MIS solution, you can monitor expenses, create reports, track orders, and job status, and track tax deductions. You can bind customers and invoices from your OnPrintShop storefront with a QuickBooks account to easily manage the accounting system. You can bind customer details like billing address, contact details, balance statements, etc.

How to integrate:

Read the below systematic guide to integrate QuickBooks into your OnPrintShop website.

1. Register with QuickBooks

  • Visit the QuickBooks site to create a new account and complete the verification process.
  • Log in to QuickBooks with your registered email ID and password.

2. Create an App

  • After successfully login into QuickBooks, you can switch to the classic mode from the Account menu:
Document image

  • Next, click on the Dashboard:
Document image

  • On the Dashboard, click on the Create an App button:
Document image

  • This will take you to the next page to create the new app:
Document image

  • Select the platform as – QuickBooks Online and Payments:
Document image

  • Next, give your app the desired name and select the scope as com.intuit.quickbooks.accounting.
  • Finally, click on the Create app button.

3. Get Client ID and Secret Key

Step 1: For Production Mode

Note: Use SSSL-certified website links otherwise QuickBooks Integration will not work.

Under your app dashboard, go to the Production Settings:

Document image


Here, you’ll have to complete a few requirements:

  • App Info: you can modify the app name, upload the app logo
  • Terms of service links: provide the URLs for terms and services and privacy policy.
  • App URLs: enter the host domain, launch URL, and disconnect URL as displayed below:
Document image

  • Categorize your app: check the box against the "Accounting":
Document image

  • Tell us about regulated industries that use your app: select the target industries as per your business model.
  • Where is your app hosted?: enter the country name and the IP address you will send the requests from.
  • Countries you accept connections from: select the countries where QuickBooks users can connect to your app. By default, all the countries will be selected.
  • Scope for the API: keep the selection as it is.
  • Click on the Save.
  • Now, access the Production >> Keys & credentials for getting the Client ID and Client Secret Key:
Document image

  • Here, you’ll have to complete all the app details.
  • Complete the assessment questionnaire.
  • Once you complete the assessment, you will see a screen as below:
Document image

  • Now, click on the client ID and client secret link or move to Keys & credentials to copy the Client ID and Client Secret Key:
Document image

  • Scroll down and enter the redirect URI to connect the application with your website in the below format
    • For QuickBooks - {domain_name}/external_service/quickbook/oauth.php
    • For QuickBooks V2 - {domain_name}/external_service/quickbookv2/callback.php
  • Click on Save.

Step 2: For Sandbox Mode (Only for developers)

  • Under your app dashboard, go to Development >> Keys & credentials:
Document image

  • Copy the Client ID and Client Secret Key.
  • Scroll and enter the redirect URI to connect the application with your website in below the format
    • For QuickBooks - {your_website}/external_service/quickbook/oauth.php
    • For QuickBooks V2 - {domain_name}/external_service/quickbookv2/callback.php

Note: The link provided above is just an example, use your website link. Also, use SSL certified link otherwise QuickBooks Integration can malfunction

4. Configure QuickBooks on Admin Panel

For the integration of above created app in your OnPrintShop store, go to the Admin panel >> Store Configuration >> External Services Settings >> Accounting API >> Quickbooks >> ‘Action’ Menu >> ‘Edit’ Option:

Document image

  • Application Mode: select "Production or Sandbox" as per your integration.
  • Enter the Client ID And Client Secret saved in Step -3.
  • Click on Connect to QuickBooks button to connect with your QuickBooks App:
Document image

  • After successful connection, the Application token (for Production Mode) will automatically be generated and saved in the Application Token field.

After the connection, other options are displayed on the screen as displayed below:

Document image

  • Sales Tax: Select QuickBooks sales tax which you have to apply on the synchronized invoice.
  • Open Invoice Status: Select invoice status, which will automatically synchronize with QuickBooks. This setting is only for auto-synchronization mode.
  • Paid Invoice Status: Based on selected invoice status synchronize invoice as “Paid” in QuickBooks.
  • Auto Synchronize: This will automatically synchronize customers/invoices data in QuickBooks.
  • Select Country Regime: Select the country for your store.

Note: The Sandbox mode is ONLY for developers. Set the Application Mode as PRODUCTION while configuring QuickBooks for your store.

Working of Quickbook in OnPrintShop

We synchronize invoices and contacts from your system with QuickBooks. Here on the administrator part, there are separate modules for QuickBooks, which contain two parts

  • QuickBooks Configuration
  • QuickBooks Sync Summary

Quickbook MIS Sync Summary

This manually synchronizes invoices and contacts with QuickBooks. In this section, we have provided two divisions for Sync contacts and Sync invoices.

QuickBooks Invoice Summary: In this section, we can synchronize orders and the count of orders based on settings done for order status. Here we can show total orders, Orders sync with QuickBooks and, remaining Orders. Same as sync Customers Click here to Sync Manually button will appear for orders remaining to be synced with QuickBooks:

Document image

  • Quickbooks Log – displays log report of QuickBooks synchronization.
  • Click Here to Sync Manually – It opens searches and synchronizes interface with MIS system like as shown below:
Document image

  • Order Range: Select the order range to synchronize.
  • Date Range: Select the period.
  • Order Status: Select order status to search for that order only.
  • Click on the Search.

The results will appear as displayed below:

Document image

  • Select only those Orders that you want to synchronize with QuickBooks.
  • Click on the Sync button.
  • To update customer data of a particular invoice, click on the Update Synchronized Data checkbox and then click on the Sync button to synchronize orders with QuickBooks.
  • After the customer places an order, the customer will automatically be synced with QuickBooks.
  • There is also a flag for synchronized invoice status in the synchronizing listing screen.