Quickbooks Online Integration

xtraCHEF & Quickbooks

xtraCHEF has different third-party integrations and Quickbooks is one of them. xtraCHEF provides integration with both Quickbooks online and Quickbooks desktop versions. This article will focus on Quickbooks online integration with xtraCHEF in detail. From here on Quickbooks Online will be termed as QBO for the sake of simplicity and ease. Before we begin, lets talk about the need for this integration and the scope of integration in xtraCHEF. Many restaurants use Quickbooks online to cater to their accounting needs. Since xtraCHEF processes the purchase invoices and provide accounting data, there was a dire need of passing the xtraCHEF processed data to Quickbooks online. Without this integration the entire purpose of automating the invoice processing will be defeated. With this goal in mind we have integrated with Quickbooks online using the Quickbooks APIs. Currently only the following entities are handled as part of integration:

  • Purchase invoices synced as Bills in QBO
  • Deposits, returns in invoices synced as Vendor Credits in QBO
  • Receipts synced as Expenses in QBO
  • Freights, Credits, Other Charges, Discounts, Taxes in invoices synced under pre-configured GLs(or Chart of Account in QBO)

The following entities are NOT considered as part of integration:

  • Sales invoices
  • Credit Memos
  • Estimates
  • Journal Entry (Currently available for Sales via Toast POS only)
  • Purchase order

Pre-requisites for QBO integration

  • The customer must have QBO account
  • Provide the GL codes to map the header level fields like:-
    • Sales Tax
    • Freight
    • Discounts
    • Other Charges

Integration workflow explained

The QBO integration with xtraCHEF is achieved using the API integration with QBO. The workflow below shows the entire process.

Workflow explained
  1. xtraCHEF Support team enables the Quickbooks online export for the Tenant.
  2. The user clicks on the gear icon and then clicks Settings menu. Now click on the tab Integrations as shown below:
      

  3. The tenant user clicks on the Connect to Quickbooks button and a screen opens to input the Quickbooks credentials


  4. The tenant user inputs his QBO account credentials and clicks Sign in button. The user can then choose the Quickbooks company he wants to connect with xtraCHEF.


  5. On choosing the company, the dialog box opens to authorize xtraCHEF to share data with QBO account. See below:


  6. Click Authorize and the dialog box closes. There will be a notification on the Tenant Configuration page confirming the connection with Quickbooks as below:
  7. Once the Quickbooks account is connected to xtraCHEF Tenant account, the Tenant can import the chart of accounts (GL) list from QBO by going into the GL Code menu. There is a button Import GL from QBO
  8. On clicking the Import GL from QBO button, a message appears stating that the import happens once. Re-import from QBO is not allowed. Click on Import button and the GLs are synced from QBO account to xtraCHEF.
  9. The imported GLs show up in the listing as below:
  10. Similarly the Tenant can import the vendor list from QBO by going into the Vendors menu. There is a button Import Vendors from QBO


  11. On clicking the Import Vendors from QBO button, a message appears stating that the import happens once. Re-import from QBO is not allowed. Click on Import button and the vendors are synced from QBO account to xtraCHEF.


  12. Once the vendors are imported a message appears stating the successful sync and the list of vendors are populated. See below:


  13. The Tenant then uploads the invoice image using the mobile device or web application.
  14. The invoice uploaded in xtraCHEF is sent for automated data extraction using OCR tool.
  15. Once the invoice is processed successfully, the corresponding vendor code is checked.
  16. If the vendor code is not available, then the invoice is sent in exception queue for the tenant enter the vendor code. For Quickbooks customer the Vendor code will be the same as Vendor name.
  17. Once the tenant enters the vendor code, the invoice is marked as complete.
  18. A background service which runs at pre-defined intervals, picks all the completed invoices and contacts the QBO APIs. All the invoices are pushed to QBO account as Bills. The Memo field contains the invoice image url. This url can be reached in a browser to see the invoice image in a viewer. With release v5.1 the invoice images are also synced with bills as attachments. Now the tenants can see the invoice images in their QBO account under bills attachment.
    1. Click on Show existing
    2. On the right pane Click Preview button to see the invoice image. See the screenshot from Quickbooks online account below:
  19. In case of export failure, the invoice can be re-exported using the Re-Extract option
  20. A consolidated sync email is sent to the user daily listing the invoices synced to Quickbooks and their status. See the sample email screenshot:
  21. The synced invoices can be seen under the Extract Monitor.


Quickbooks Online token expiry


The application will give a notification to the tenant admin when he logins, 8 days from the token expiry. This notification will be repeated till the token expiry day. The user will have be redirected to the Tenant Configuration page to connect his Quickbooks account again. See the screenshot below:

----End of tutorial----


There is no content with the specified labels