Get started with QuickBooks
QuickBooks is an accounting software package developed and marketed by Intuit. QuickBooks can be used to manage sales and expenses and keep track of daily business transactions. You can use it to invoice customers, pay bills, generate reports for planning and tax filing, and more.
If you are unfamiliar with QuickBooks, the following QuickBooks resources are recommended to get you started:
Integrating QuickBooks and Linx
When integrating Linx and QuickBooks, do the following:
1. Create a QuickBooks developer account
- Go to QuickBooks.
2. Create an App on QuickBooks
The following notes serve as a guide to help make the overall integration process easier. Please refer to Intuit's QuickBooks documentation for specific details on process and usage:
Sign in on QuickBooks
Click on My Apps
Create your QuickBooks App
Click on the Keys tab
Copy your ClientID, Client Secret and the Base URL (for later use in Linx)
Note: for use in Linx, prepend the Base URL with https:// if it is not included already
Click View Sandbox to manage your sandbox company's settings
Click the Settings icon (gear) on the toolbar
Click Company Settings
Click the Sales tab
3. Get an OAuth 2.0 access token
The following notes serve as a guide to help make the overall integration process easier. Please refer to Intuit's QuickBooks and OAuth documentation for specific details on process and usage:
In the Get authorization code section, select the relevant scopes (All except for Payments)
Click the Get Authorisation Code button
Click the Connect button
On the next page, in the Get OAuth 2.0 token from auth code section, click the Get tokens button
In the Response section (on the right), copy the Refresh Token and the Access Token (for later use in Linx)
4. Create a Linx Solution
Add a Solution, Project and Process
Add the QuickBooks plugin to your Solution
From the QuickBooks plugin, add a Function or Type to your Process
Set the relevant Properties:
- CBO Credentials to make the connection to QuickBooks:
Property Where to get the value from AccessToken OAuth 2.0 Playground - see step 3 above
Note: an Access Token has a limited lifespan and may have to be re-generated when expired. (This is especially the case when the token has not been initiated yet by your Linx solution with a first call to QuickBooks. After the first call Linx will refresh your token automatically.)
RefreshToken OAuth 2.0 Playground RealmID OAuth 2.0 Playground BaseURL QuickBooks app (Sandbox) - see step 2 above ClientID QuickBooks app ClientSecret QuickBooks app DiscoveryURL Use the following value when testing on the QuickBooks sandbox:
Use the following value for your live production environment:
- Properties specific to the Function or Type
Retrieve Invoices from QuickBooks
- You have registered on QuickBooks and have an active developer account.
- You have created an App for Linx on the QuickBooks developers platform.
- You have created an OAuth 2.0 Refresh Token and Access Token
- Add the QuickBooks plugin to your solution
- Drag the GetInvoices function from the Plugins panel (QuickBooks) and drop it on the main canvas
Add these properties:
- Name: Enter any name (unique to your project)
- QBO credentials: (see point 4 above for details on where the values for these settings can be found)
- InvoiceID: The Id of the invoice to retrieve. All other filters are ignored if this is set.
- Document number: The document number of the invoice to retrieve.
- Transaction date from: Filter results that have a transaction date greater than or equal to this date. The hours, minutes and seconds are ignored.
- Transaction date to: Filter results that have a transaction date smaller than or equal to this date. The hours, minutes and seconds are ignored.
- Return options: Select how the data is to be returned: only the first item, The first item or an empty item, all the items one by one, or all of the items at once.
- Max results: The maximum number of items retrieved. If not specified, all existing entities are retrieved.
Add other Plugins and Functions that are relevant to your business process, e.g. the File plugin and the TextFileWrite function to write the retrieved invoice details to a text or CSV file.
Add a a Service, like the Timer service from the Utilities plugin, to automate your Process.
Debug your Process
Note: If you encounter an "invalid_grant" error, create a new Access Token (OAuth 2.0 Playground)
Deploy your Solution