Supported Versions
|
QuickBooks Online
|
Set-up Tasks for Integrating QuickBooks Online and Salesforce Org (one-time)
|
I. Create a QuickBooks OAuth 2.0 App
-
Login to Intuit's Developer website (Intuit’s Developer website) with QuickBooks credentials.
-
To create a new QuickBooks OAuth 2.0 App, navigate to My Apps > + Create an app button > QuickBooks Online and Payments > Enter the App name, select scope as Accounting (com.intuit.quickbooks.accounting), and click Create app button.
IMPORTANT The QuickBooks App has a limitation on the characters used. So don't use any special characters or spaces when creating the App.
-
Complete the process to obtain a 'Client ID' and a 'Client Secret'.
-
Verify your email address.
-
Complete your Intuit Developer Portal profile and verify your email address.
-
Add your app's End User License Agreement and Privacy Policy.
-
Add your app's 'Host Domain', 'Launch URL', and 'Disconnect URL'.
-
Select at least one category for your app.
-
Tell us about regulated industries that use your app.
-
Tell us where your app is hosted.
-
Return to the Keys & credentials section to obtain the 'Client ID' and 'Client Secret'.
-
Repeat this process to make sure that the 'Client ID' and 'Client Secret' codes are generated for both Production (under Production > Key & OAuth) and Sandbox org (under Development > Key & OAuth), respectively.
NOTE These instructions concern a QuickBooks OAuth 2.0 app that will not be listed on the QuickBooks Store and is only for Salesforce integration purposes. The app creation is free.
II. Create an Authorization Provider
-
Login to the Salesforce Org.
-
Navigate to the Authorization provider page (Setup > Security Controls > Auth Provider) and create a new Auth Provider.
-
Open the new Auth Provider page and select the provider type 'Open ID Connect'. Enter the below details and save the record.
-
Name: Enter the Name (e.g.QuickBooks_OAuth_V2)
-
Provider Type: "Open ID Connect"
-
Consumer Key: Client ID value (Copy and Paste from QuickBooks app)
-
Consumer Secret: Client Secret value (Copy and Paste from QuickBooks app)
-
Authorize Endpoint URL: https://appcenter.intuit.com/connect/oauth2
-
Token Endpoint URL: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
-
Do not change the value of any other field.
NOTE If Auth Provider is created on the sandbox, the Client ID and Client Secret values are copied from the 'Keys & OAuth' under Development. If Auth Provider is created on the production, the Client ID and Client Secret values are copied from the 'Keys & OAuth' under the Production tab. IMPORTANT The Auth Provider should be created using the same name as the App that was created on QuickBooks.
-
After saving the 'Auth Provider', make a note of the generated callback URL at the bottom of the page. NOTE Space is not allowed in the callback URL which is built from the Company Name Credential created in the Quickbooks Developer App.
-
Copy the callback URL (from the above step) and paste it into the Redirect URIs on QuickBooks App. (Key & OAuth > Redirect URIs > Add URI > Paste the callback URL on the Link box).
NOTE If the callback URL link is copied from production, then the link is pasted on Redirect URI under the 'Key and OAuth' section of the Production tab. Otherwise, the link is pasted on Redirect URI under the 'Key and OAuth' section of the Development tab.
III. Create Named Credentials
-
Navigate to Named Credential Page (Setup > Security Controls > Named Credentials)
-
Create a new Named Credential record by entering the values into the below fields and click on save.
-
Name: Enter the name (e.g. Quickbooks_REST_API)
-
URL for Production: https://quickbooks.api.intuit.com
-
URL for Sandbox: https://sandbox-quickbooks.api.intuit.com/
-
Identity Type: Named Principle
-
Authentication Protocol: OAuth 2.0
-
Authentication Provider: Name of the Authentication Provider which was created in the above section.
-
Scope: com.intuit.quickbooks.accounting
-
Start Authentication Flow on Save: Set to 'True'
NOTE Don't change or populate any other than the above-mentioned fields. IMPORTANT The Named Credential should be created using the same name as the App that was created on QuickBooks.
-
When clicking on save, the screen returns to the QuickBooks App store page. Click the “Connect” button to use the Rootstock OAuth-2.0 to view and update the QuickBooks Online Data.
|
QuickBooks Online Setup
|
-
Enable “Product and Services” (Go to Company Settings > Sales > Product and Services > set “Show Product/Service column on the sales forms” to 'true').
-
Enable “Shipping” (Go to Company Setting > Sales > Sales form content > set “Shipping” checkbox to ‘true’).
-
In order to utilize and pass “Dimension” values, enable “Track Classes” for Dimension 2 and/or “Track Locations” for Dimension 1 (Go to Company Settings >Advanced > Categories > set “Track classes” and/or “Track locations” (as appropriate) to ‘On’ and define accordingly).
-
Chart of Accounts Name must be less than 80 characters in QBOL.
-
Ensure that all Sales Tax Codes exist in QBOL.
|
Chart of Accounts Import
|
-
In Rootstock, launch the “QuickBooks Chart of Accounts Import” function.
-
Simply select the “Import” button to import the QuickBooks Chart of Accounts in Rootstock.
|
Chart of Accounts (Org level, single set of General Ledger Accounts)
|
List View of the Imported Chart of Accounts
|
“Export” Processes from Rootstock (see below for list)
|
|
Customers, Vendors, and Products between Rootstock and QuickBooks
|
NOTE The Name of the Customers and Vendors must be unique.
-
Customers, Vendors, and Products must be manually added in both Rootstock and QuickBooks.
-
If a transaction requiring the Customer/Vendor/Product is exported from Rootstock to QuickBooks and Customer/Vendor/Product “Name” does not exist or match exactly, the transaction export will fail and not be processed.
|
Payable Invoice Export
|
Vendor Bills are added to QuickBooks as a result of performing the PO-AP Match process in Rootstock, closing the Batch, and then select the Export button on the Rootstock “Payable Invoice Export” object. NOTE If Payment Terms are present on the PO-AP Match Invoice they will be transferred to the Vendor Bill in QuickBooks. Terms should not contain spaces in the name (e.g. use NET-30, not NET 30).
|
General Journal Export
|
This process auto-creates Journals in QuickBooks to record the cost impact of various Rootstock transactions and is launched on-demand by selecting the 'Export' button.
|
Sales Invoice Export
|
This process auto-creates Customer Invoices in QuickBooks as a result of approving the Rootstock Sales Order Invoice and is launched On Demand by selecting the 'Export' button. NOTE The export process does not currently pass the various “charges” (such as Handling, Packaging, and Order Discount) located on the Rootstock Sales Invoice Header to the QuickBooks Invoice. In order to accommodate these charges, they must be created as Line Charges on the Sales Order Invoice using existing QuickBooks Products. If Terms are present on the SO Invoice, they will be transferred to the customer Invoice in QuickBooks. Terms should not contain spaces in the name (e.g. use NET-30, not NET 30). IMPORTANT In order to pass any Freight and Prepayments from Rootstock Sales Order Invoices to QuickBooks Customer Invoices, the 'Freight' and 'PrePayment' items must first be set up in QuickBooks.
|