QuickBooks
With QuickBooks modules in Make, you can manage the invoices, bills, sales receipts, estimates, journal entries, payments, deposits, credit memos, customers, purchase orders, items, vendors, files, accounts, purchases, time activities, refund receipts, and events in your QuickBooks account.
To use the QuickBooks modules, you must have a QuickBooks account. You can create an account at QuickBooks.com.
Refer to the QuickBooks API documentation for a list of available endpoints.
Connect QuickBooks to Make
To establish the connection in Make:
Log in to your Make account, add a QuickBooks module to a scenario, and click Create a connection.
Optional: In the Connection name field, enter a name for the connection.
Optional: To connect with your own custom app, click Show Advanced Settings, enter the client credentials from your app, and select if you want to use Sandbox for connection.
Click Save.
If prompted, authenticate your account and confirm access.
You have successfully established the connection. You can now edit your scenario and add more QuickBooks modules. If your connection requires reauthorization at any point, follow the connection renewal steps here.
To connect your own QuickBooks app to Make, you must create a custom app in your QuickBooks developer account and select the relevant platform and scopes.
Log in to your QuickBooks developer account.
Click on the Dashboard tab.
Click Create an app.
Select the Platform to create the app.
Enter a name for the app, select the scope, and click Create app.
Click on Keys & credentials under the Development Settings or Production Settings section in the sidebar, depending on your settings.
Scroll down to the Redirect URIs section, add the following links, and click Save.
Redirect URIs
https://www.integromat.com/oauth/cb/quickbooks
https://www.make.com/oauth/cb/quickbooks
Copy your Client ID and Client Secret and save them in a safe place.
You now have the client credentials to connect to Make.
Invoice
Creates a new invoice for the customer.
For the field descriptions, see the QuickBooks Online Invoice API reference.
Updates an existing invoice.
Connection | |
Invoice ID | Enter (map) the ID of the invoice whose details you want to update. |
For the field descriptions, see the QuickBooks Online Invoice API reference.
Caution
Fields that are left empty will be omitted (not updated).
Deletes an existing invoice.
Caution
You must unlink any linked transactions associated with the invoice object before deleting it.
Connection | |
Invoice ID | Enter (map) the ID of the invoice you want to delete. |
Retrieves invoice details.
Connection | |
Invoice ID | Enter (map) the ID of the invoice you want to retrieve details about. |
Performs a search for invoices based on the filter settings or a specified search query.
Caution
Diacritics are not supported.
Please use the ascii()
function to remove the diacritics, if needed.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the invoice field, operator, and desired value you want to search invoices by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. Search by field option only. |
Downloads an invoice in the PDF file.
Connection | |
Invoice ID | Enter (map) the ID of the invoice you want to download. |
Sends an invoice to the specified email address.
Connection | |
Invoice ID | Enter (map) the ID of the invoice you want to send. |
Send to | Enter the email you want to send the invoice. |
Bill
You can create, update, delete, search, and retrieve bills using the following modules.
Creates a new bill.
For the field descriptions, see the QuickBooks Online Bill API reference.
Updates an existing invoice.
Connection | |
Bill ID | Enter (map) the ID of the bill you want to update. |
For the field descriptions, see the QuickBooks Online Bill API reference.
Note
Fields that are left empty will be omitted (not updated).
Deletes an existing bill.
You must unlink any linked transactions associated with the bill object before deleting it.
Connection | |
Invoice ID | Enter (map) the ID of the bill you want to delete. |
Retrieves bill details.
Connection | |
Invoice ID | Enter (map) the ID of the bill you want to retrieve details about. |
Performs a search for a bill based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the bill field, operator, and desired value you want to search bills by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Sales Receipt
Creates a sales receipt.
For the field descriptions, see the QuickBooks Online Sales Receipt API reference.
Updates an existing sales receipt.
Connection | ||
Sales Receipt ID | Enter (map) the ID of the sales receipt you want to update. |
For the field descriptions, see the QuickBooks Online Sales Receipt API reference.
Retrieves sales receipt details.
Connection | |
Sales Receipt ID | Enter (map) the ID of the sales receipt you want to retrieve details about. |
Performs a search for sales receipts based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the sales receipt field, operator, and desired value you want to search sales receipts by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Downloads a sales receipt in the PDF file.
Connection | |
Invoice ID | Enter (map) the ID of the sales receipt you want to download. |
Sends a sales receipt to the specified email address.
Connection | |
Invoice ID | Enter (map) the ID of the sales receipt you want to send. |
Send to | Enter the email you want to send the sales receipt. |
Estimate
You can create, update, retrieve, send, download, delete, and search estimates using the following modules.
Creates a new estimate.
GlobalTax model if the model inclusive of tax, exclusive of taxes or not applicable
For te field descriptions, see the QuickBooks Online Estimate API reference.
Updates an existing estimate.
Connection | |
Estimate ID | Enter (map) the ID of the estimate whose details you want to update. |
For the field descriptions, see the QuickBooks Online Estimate API reference.
Deletes an estimate.
Connection | |
Estimate ID | Enter (map) the ID of the estimate you want to delete. |
Downloads an estimate in the PDF file.
Connection | |
Estimate ID | Enter (map) the ID of the invoice you want to download. |
Sends an estimate to the specified email address.
Connection | |
Estimate ID | Enter (map) the ID of the estimate you want to send. |
Send to | Enter the email you want send the estimate to. |
Retrieves estimate details.
Connection | |
Estimate ID | Enter (map) the ID of the estimate whose details you want to retrieve. |
Performs a search for estimate based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the estimate field, operator, and desired value you want to search estimates by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Journal Entry
Creates a journal entry.
For the field descriptions, see the QuickBooks Online Journal Entry API reference.
Updates an existing journal entry.
Connection | |
Journal entry ID | Enter (map) the ID of the journal entry you want to update. |
For the field descriptions, see the QuickBooks Online Journal Entry API reference.
Deletes a journal entry.
Connection | |
Journal entry ID | Enter (map) the ID of the journal entry you want to delete. |
Retrieves a journal entry.
Connection | |
Journal entry ID | Enter (map) the ID of the journal entry whose details you want to retrieve. |
Performs a search for journal entries based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the journal entry field, operator, and desired value you want to search journal entries by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Payment
Creates a payment.
For the field descriptions, see the QuickBooks online API reference.
Updates an existing payment.
Connection | |
Payment ID | Enter (map) the Payment ID whose details you want to update. |
For the field descriptions, see the QuickBooks online Payment API reference.
Deletes a payment.
Connection | |
Payment ID | Enter (map) the ID of the payment you want to delete. |
Triggers when a new payment is created.
Connection | |
Watch Payments | Select the option to watch the payments:
|
Search by | Select the option to search the payments you want to watch:
|
Query | Enter a word or phrase to watch the payments that match the specified query. |
Field | Select the fields to filter the payments. |
Limit | Set the maximum number of payments Make will return during one execution cycle. The default value is 2. |
Downloads an payment in the PDF file.
Connection | |
Payment ID | Enter (map) the ID of the payment you want to download. |
Sends an payment to the specified email address.
Connection | |
Payment ID | Enter (map) the ID of the payment you want to send. |
Send to | Enter the email you want send the payment to. |
Retrieves payment details.
Connection | |
Payment ID | Enter (map) the ID of the payment you want to retrieve details about. |
Performs a search for payments based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the payment field, operator and desired value you want to search payments by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Deposit
You can create, update, delete, retrieve, and search deposits using the following modules.
Creates a deposit
For the field descriptions, see the QuickBooks Online Deposit API reference.
Updates an existing deposit.
Connection | |
Deposit ID | Enter (map) the ID of the payment whose details you want to update. |
For the field descriptions, see the QuickBooks Online Deposit API reference.
Deletes a deposit.
Connection | |
Deposit ID | Enter (map) the ID of the deposit you want to delete. |
Retrieves deposit details.
Connection | |
Deposit ID | Enter (map) the ID of the deposit you want to retrieve details about. |
Performs a search for deposits based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the deposit field, operator, and desired value you want to search deposits by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Credit Memo
A credit Memo is a financial transaction representing a refund or credit of payment or part of a payment for goods or services that have been sold.
You can create, update, delete, retrieve, and search credit memos using the following modules.
Creates a credit memo.
For the field descriptions, see the QuickBooks Online Credit Memo API reference.
Updates an existing credit memo.
Connection | |
Credit Memo ID | Enter (map) the ID of the Credit Memo whose details you want to update. |
For the field descriptions, see the QuickBooks Online Credit Memo API reference.
Deletes a credit memo.
Connection | |
Credit Memo ID | Enter (map) the ID of the credit memo you want to delete. |
Retrieves credit memo details.
Connection | |
Credit Memo ID | Enter (map) the ID of the credit memo you want to retrieve details about. |
Performs a search for credit memos based on the filter settings or a defined search query.
Connection | |
Search by | Select the option to search the credit memos:
|
Filter | Select the credit memo field, operator, and desired value you want to search credit memos by. |
Query | Specify your search query. The syntax is similar to SQL. For example:
Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by fieldoption only. The default value is 2. |
Customers
You can create, update, retrieve, and search customers using the following modules.
Creates a new customer.
For the field descriptions, see the QuickBooks Online Customer API reference.
Updates a customer.
Connection | |
Customer ID | Enter (map) the ID of the customer you want to update. |
For the field descriptions, see the QuickBooks Online Customer API reference.
Retrieves customer details.
Connection | |
Customer ID | Enter (map) the ID of the customer you want to retrieve details about. |
Performs a search for customers based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the customer field, operator, and desired value you want to search customers by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by fieldoption only. |
Purchase Orders
You can create, update, retrieve, search, and delete purchase orders using the following modules.
Creates purchase orders, the non-posting transaction representing a request to purchase goods or services from a third party.
Enter the private note about the transaction. This note will not appear on the transaction records by default.
For the field descriptions, see the QuickBooks Online Purchase Order API reference.
Updates an existing purchase order.
Connection | |
Purchase Order ID | Enter (map) the ID of the purchase you want to update. |
For the field descriptions, see the QuickBooks Online Purchase Order API reference.
Retrieves purchase order details.
Connection | |
Purchase Order ID | Enter (map) the ID of the purchase order you want to retrieve details about. |
Performs a search for purchase orders based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the purchase order field, operator and desired value you want to search purchase orders by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Deletes a purchase order
Connection | |
Purchase Order ID | Enter (map) the ID of the purchase order you want to delete. |
Item
Creates a new item.
For the field descriptions, see the QuickBooks Online Item API reference.
Updates an item.
Connection | |
Item ID | Enter (map) the ID of the item you want to update. |
For the field descriptions, see the QuickBooks Online Item API reference.
Retrieves item details.
Connection | |
Item ID | Enter (map) the ID of the item you want to retrieve details about. |
Performs a search for items based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the item field, operator and desired value you want to search items by. |
Query | Specify your search query. The syntax is similar to SQL. For example Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Vendor
Creates a new vendor.
For the field descriptions, see QuickBooks Online Vendor API reference.
Updates a vendor.
Connection | |
Vendor ID | Enter (map) the ID of the vendor you want to update. |
For the field descriptions, see the QuickBooks Online Vendor API reference.
Retrieves vendor details.
Connection | |
Vendor ID | Enter (map) the ID of the customer you want to retrieve details about. |
Performs a search for vendors based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the vendor field, operator and desired value you want to search vendors by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
File
You can create, search, and delete the attachments, upload, and download files using the following modules.
Creates a note.
Connection | |
Objects | Add transaction object to which this attachable file is to be linked.
|
Note | Enter the note for the attachment or standalone note. |
Latitude | Enter the latitude from where the attachment was requested. |
Longitude | Enter the longitude from where the attachment was requested. |
Place name | Enter the place name from where the attachment was requested. |
Tag | Enter the tag name for the requested attachment. |
Uploads a file.
Connection | |
Source file | Map the file you want to upload from the previous module (e.g. HTTP > Get a File or Dropbox > Get a file), or enter the file name and file data manually.
|
Entities | Add the transaction objects to which this attachable file is to be linked.
|
Downloads a file attachment.
Connection | |
Attachment ID | Enter the ID of the attachment you want to download. |
Deletes a file attachment.
Connection | |
Attachment ID | Enter the ID of the attachment you want to delete. |
Performs a search for attachments based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the attachment field, operator and desired value you want to search attachments by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Account
You can create, update, search, and retrieve accounts using the following modules.
Creates a new account.
For the field descriptions, see the QuickBooks Online Account API reference.
Updates an account.
Connection | |
Account ID | Enter (map) the ID of the account you want to update. |
Please find the descriptions of the fields in the QuickBooks Online Account API reference.
Retrieves account details.
Connection | |
Account ID | Enter (map) the ID of the account whose details you want to retrieve. |
Performs a search for accounts based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the account field, operator, and desired value you want to search items by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Purchase
Creates a purchase.
For the field descriptions, see the QuickBooks Online Purchase API reference.
Updates an existing purchase.
Connection | |
Purchase ID | Enter (map) the ID of the purchase you want to update. |
Please find the descriptions of the fields in the QuickBooks Online Purchase API reference.
Note
Fields that are left empty will be omitted (not updated).
Deletes an existing purchase.
Connection | |
Purchase ID | Enter (map) the ID of the purchase you want to delete. |
Retrieves purchase details.
Connection | |
Purchase ID | Enter (map) the ID of the purchase you want details you want to retrieve. |
Performs a search for purchase based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the purchase field, operator, and desired value you want to search purchases by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. Do not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Time Activity
A record of time worked by a vendor or employee.
Creates a time activity.
Connection | |
Time Activity Type | Select a time activity type. |
Vendor / Employee | Specify the vendor or employee whose time is being recorded. |
Hours | Hours worked. Required if Start Time and End Time not specified. |
Minutes | Minutes worked; valid values are 0 - 59. Required if Start Time and End Time not specified. |
Start time | Time that work starts. Required if Hours and Minutes not specified. Local timezone: |
End time | Time that work ends. Required if Hours and Minutes not specified. Local timezone: |
Hourly Rate | Enter the hourly bill rate of the employee or vendor for this time activity. |
Break Hours | Enter hours of break taken between start time and end time. |
Break Minutes | Enter minutes of break taken between start time and end time. Valid values are 0 - 59. |
Customer | Select the customer or job. |
Updates a time activity.
Connection | |
Update Time Activity ID | Enter (map) the ID of the time activity you want to update. |
Please find the descriptions of the fields in the Create a Time Activity section above.
Retrieves time activity details.
Connection | |
Time Activity ID | Enter (map) the ID of the time activity you want to retrieve details about. |
Performs a search for time activities based on the filter settings or a defined search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the time activity field, operator and desired value you want to search time activities by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. CautionDo not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Refund Receipt
Creates a refund receipt.
For the field descriptions, see the QuickBooks Online Refund Receipt API reference.
Updates an existing refund receipt.
Connection | |
refund Receipt ID | Enter (map) the ID of the refund receipt you want to update. |
For the field descriptions, see QuickBooks Online Refund Receipt API reference.
Retrieves refund receipt details.
Connection | |
Refund Receipt ID | Enter (map) the ID of the refund receipt you want to retrieve details about. |
Performs a search for refund receipts based on the filter settings or a specified search query.
Connection | |
Search by | Select whether to search by:
|
Filter | Select the refund receipt field, operator, and desired value you want to search refund receipts by. |
Query | Specify your search query. The syntax is similar to SQL. For example, Please see the Data queries documentation for more details. CautionDo not enter the |
Limit | Set the maximum number of results Make will return during one execution cycle. For Search by field option only. |
Events
You can trigger events using the following module.
Triggers when an event in your QuickBooks account is performed.
Received webhooks contain Object ID, Object type, Operation, and Date. For example, when a new invoice is created, you will receive a webhook notification showing Invoice
as the Object type and Create
as Operation kind. If you wish to receive more information about a newly created invoice (or another object), you can use the Search for invoices action and get information about the invoice (object) by its ID.
Note
Make automatically creates a webhook in QuickBooks once you add an instant trigger to your scenario.
Webhook name | Enter the name for the webhook. |
Connection |
Caution
QuickBooks webhooks are usually a bit delayed
The list of events that are supported by the New Event module:
Create | Update | Delete | Merge | Void | Emailed | |
Account | ✓ | ✓ | ✓ | ✓ | ||
Bill | ✓ | ✓ | ✓ | |||
Bill Payment | ✓ | ✓ | ✓ | ✓ | ||
Budget | ||||||
Class | ||||||
CreditMemo | ||||||
Currency | ||||||
Customer | ✓ | ✓ | ✓ | ✓ | ||
Department | ||||||
Deposit | ✓ | ✓ | ✓ | |||
Employee | ||||||
Estimate | ✓ | ✓ | ✓ | |||
Invoice | ✓ | ✓ | ✓ | ✓ | ||
Item | ✓ | ✓ | ✓ | ✓ | ||
JournalCode | ||||||
JournalEntry | ✓ | ✓ | ✓ | |||
Payment | ✓ | ✓ | ✓ | ✓ | ||
PaymentMethod | ||||||
Preferences | ||||||
Purchase | ✓ | ✓ | ✓ | ✓ | ||
PurchaseOrder | ✓ | ✓ | ✓ | ✓ | ||
RefundReceipt | ||||||
SalesReceipt | ✓ | ✓ | ✓ | ✓ | ||
TaxAgency | ||||||
Term | ||||||
TimeActivity | ||||||
Transfer | ||||||
Vendor | ✓ | ✓ | ✓ | ✓ | ||
VendorCredit |
Other
You can call APIs and retrieve the company details using the following modules.
Retrieves details about your company.
Connection | Establish a connection to your QuickBooks account. |
Allows you to perform a custom API call.
Note
For the list of available endpoints, refer to the QuickBooks Online API Documentation.
Connection | Establish a connection to your QuickBooks account. |
URL | Enter a path relative to |
Method | Select the HTTP method you want to use:
|
Headers | Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String | Enter the request query string. |
Body | Enter the body content for your API call. |
Example of Use - List Employees
The following API call returns all the employees from your QuickBooks Online account:
URL: query
Version: v3
Method: GET
Query String:
item 1 (predefined)
Key |
|
Value |
|
item 2
Key |
|
Value |
|
The search matches can be found in the module's Output under Bundle > Body > QueryResponse > Employee.
In our example, 4 employees were returned:
Common Issues
There are 2 options to generate an invoice number:
1. Set variable or value in the Doc number field in the QuickBooks module interface:
2. Automatically generate the invoice number as the number following the last created invoice in QuickBooks. To activate this option, you will need to disable the feature that allows you to edit invoice numbers under your QuickBooks settings. For this:
Click the gear icon.
Select Account and Settings.
Click Sales.
Under Sales form content, uncheck the checkbox next to Custom transaction numbers.
Click Save.
Click Done.
After this is set, the invoice number will be generated automatically in QuickBooks and you will no longer be able to customize your invoice numbers.
By default, it is set to on. So, an invoice generated without a doc number comes WITHOUT a number (the invoice number field is left empty).