QuickBooks Oauth 2.0 Plugin

Demo to preview the settings

Introduction

This Quickbooks plugin version makes it possible for a user to use 1 company account and stay authenticated for 100days at a time.

Prerequisites

You will need a developer account with Quickbooks in order to interact with the Plugin: https://developer.intuit.com/app/developer/qbo/docs/get-started

How to setup

  • Once you are logged in, click 'Dashboard'.
Image without caption
  • In Dashboard you will find all your apps
Image without caption
  • Click on 'Create an app' to create an application.
  • Select the platform you want to develop for (by default will be only one type "Quickbooks online and payments")
  • Insert a new app name and select scopes from the dropdown for it. (Depending on your requirements the scopes can vary)
Image without caption
  • Provide a name to your app and click "Create app"
Navigate to the 'Keys' tab, in BOTH 'Redirect URI' sections add your app's redirect URL.
Your Redirect URL in most cases will be, https://_your-app_.bubbleapps.io/api/1.1/oauth_redirect
  • Navigate to the 'Dashboard' tab, find Resources section, and click on OAuth Playground, see in the image below.
Image without caption
  • Select your app form the list.
    • Image without caption
  • Select all scopes that you need, then click on the "Get authorization code" button.
    • Image without caption
  • Next will be opened a new page where you will be asked to Authorize Intuit to securely share your data, click Connect.
    • Image without caption
  • You will be redirected back, after that click the "Get tokens" button.
    • Image without caption
  • On the right side will be shown results, select all "Authorziation" keys from there, together with "Basic" word, see in the example below.
Image without caption
Authorization key example: Basic UTBIenl2UVNrSDdrdzhINnFrbU9sMHVtWEhvS09hYjRmd2Njc21scEF1VHluLEVjOHE6dFhwLlZOazdpUWx4oAjRsTuIyNfCMHd1V25Fd1BublJJZ2l0ZXFkQw==
  • Place your Authorization key into the plugin's settings in your app in first field.
    • Image without caption
  • On the same page open section 4, "Refresh access token", and copy the refresh token.
    • Image without caption
  • In your Bubble app, go to Data and create new type, call it how you want, (ex: Quickooks Tokens) and added new entry called Old refresh token, where you paste your Refresh Token.
This is how it looks like:
Image without caption
We have to do it just once.
  • Now create an event in workflow, for example when page is loaded, to GET NEW ACCESS TOKEN, and save results in a custom state, then save REFRESH TOKEN in your data.
Example:
Image without caption
Image without caption
Now you don't have to worry about your refresh token, it will be renewed automatically.

Plugin Element

QuickBooks Converter

Element convert response from Report’s API Calls to rows
Image without caption
Title
Description
State Type
Choose “Report Type”

Exposed states

Title
Description
Type
Header Titles
Contain heater titles
List of text
Body Rows
Contain body rows
List of text
Header and Body Rows
Contain heater and body rows
List of text
Error type
API Call’s error type
Text
Error message
API Call’s error messages
Text

Element Actions

  1. Convert to rows - Action converts report API response to rows, that can be used in tables.
    1. Title
      Description
      Type
      Data
      Provide response from any report’s API call.
      API Response

Plugin Data / Action Calls

Data Calls

  1. QuickBooks - Company Details
  1. QuickBooks - Get General Ledger
  1. QuickBooks - Read Account
  1. QuickBooks - Read Tax Agency
  1. QuickBooks - Read Tax Code
  1. QuickBooks - Read Tax Rate
  1. QuickBooks - Read Payment
  1. QuickBooks - Read Journal Entry
  1. QuickBooks - Read Changed Data List
  1. QuickBooks - Get Preferences
  1. QuickBooks - Read Transfer
  1. QuickBooks - Read Vendor Credit
  1. QuickBooks - Read Item
  1. QuickBooks - Read Purchase Order
  1. QuickBooks - Read Estimate
  1. QuickBooks - Read a Class
  1. QuickBooks - Read Attachable
  1. QuickBooks - Read Employee
  1. QuickBooks - Read Customer
  1. QuickBooks - Read Deposit
  1. QuickBooks - Query Transfer
  1. QuickBooks - Query Employee
  1. QuickBooks - Query Customer
  1. QuickBooks - Query Attachable
  1. QuickBooks - Query Sales Receipt
  1. QuickBooks - Query Item
  1. QuickBooks - Query Vendor Credit
  1. QuickBooks - Query an account
  1. QuickBooks - Query Estimate
  1. QuickBooks - Query Journal Entry
  1. QuickBooks - Query Payment
  1. QuickBooks - Query Purchase Order
  1. QuickBooks - Query Invoice
  1. QuickBooks - Query Taxcode
  1. QuickBooks - Query Deposit
  1. QuickBooks - Read Payment Method
  1. QuickBooks - Read Accounts
  1. QuickBooks - Get list of Transactions
  1. QuickBooks - Profit and loss detail report
  1. QuickBooks - Sales by customer report
  1. QuickBooks - Profit and loss report
  1. QuickBooks - Ar aging detail report

Action Calls

  1. QuickBooks - Create Account
  1. QuickBooks - Create Attachable
  1. QuickBooks - Create Deposit
  1. QuickBooks - Create Purchase Order
  1. QuickBooks - Create Account Class
  1. QuickBooks - Create Customer
  1. QuickBooks - Create Vendor Credit
  1. QuickBooks - Create Transfer
  1. QuickBooks - Create Payment
  1. QuickBooks - Create Credit Card Account
  1. QuickBooks - Pay Bill
  1. QuickBooks - Create Bill
  1. QuickBooks - Create Tax Agency
  1. QuickBooks - Create Tax Rate
  1. QuickBooks - Create Journal Entry
  1. QuickBooks - Create Item
  1. QuickBooks - Create Employee
  1. QuickBooks - Create Vendor
  1. QuickBooks - Create Estimate
  1. QuickBooks - Read Vendor
  1. QuickBooks - Update Account
  1. QuickBooks - Update Vendor
  1. QuickBooks - Update Transfer
  1. QuickBooks - Update Attachable
  1. QuickBooks - Update Journal Entry
  1. QuickBooks - Update Preferences
  1. QuickBooks - Update Employee
  1. QuickBooks - Update a Class
  1. QuickBooks - Update Vendor Credit
  1. QuickBooks - Update Item
  1. QuickBooks - Update Estimate
  1. QuickBooks - Create Payment Method
  1. QuickBooks - Update Purchase Order
  1. QuickBooks - Update Customer
  1. QuickBooks - Update Deposit
  1. QuickBooks - Update Payment Method
  1. QuickBooks - Delete Something
  1. QuickBooks - Create a purchase
  1. QuickBooks - Delete a purchase
  1. QuickBooks - Read a purchase
  1. QuickBooks - Full update a purchase
  1. QuickBooks - Get an invoice as PDF
  1. QuickBooks - Create sales receipt
  1. Convert to rows a QuickBooks Converter
  1. Refresh Access Token (this)
  1. Initial auth code exchange (this)

Workflow example

Let's take Company Details:
  1. Insert company id which is "Realm ID" , you can get on the same page where you got refresh token, find it on section 2, see example below:
Image without caption
2. Next we need to get access token, for that, in Authorization field select from API provider, "GET NEW ACCESS TOKEN" and select access_token after.You will notice the word "Bearer" there, leave it there and insert access token after it !
Example:
Image without caption

Changelogs

Update 01.11.21 - Version 1.10.0

  • Minor fixes

Update 19.04.22 - Version: 1.11.0

  • Minor updates

Update 12.10.22 - Version: 1.11.0

  • Added "Updat-e Invoice" and "Send Invoice" actions

Update 10.03.23 - Version: 1.14.0

  • Added new "Purchase" calls.

Update 14.03.23 - Version: 1.15.0

  • Added action "Get invoice as PDF”

Update 24.01.24 - Version: 1.23.0

  • Added API calls "Profit and loss detail report", "Sales by customer report", "Profit and loss report", "Ar aging detail API report" and element "QuickBooks Converter".

Update 23.02.24 - Version: 1.25.0

  • Fixed "sandbox api" parameter

Update 11.03.24 - Version 1.26.0

  • Fixed "Get new access token" API call.