Integrate iPaaS.com with QuickBooks Online to post sales receipts, invoices and payments to QuickBooks, and to keep customers, items, inventory quantities, invoice status and payment methods in sync. This article is the reference for connecting a subscription and for every setting; the QuickBooks Online Installation Instructions walk through first-time setup.
How to Connect
Prerequisites
A QuickBooks Online company in the US. QuickBooks Desktop is not supported. For trying the integration safely, a separate QuickBooks Online trial company keeps test sales out of your live books.
A QuickBooks admin user to sign in with when you authorize. A user without enough rights causes QBOL-AUTZ-1001 on later calls.
Inventory tracking in QuickBooks, if quantities on hand are to reach iPaaS.com: included in Plus and Advanced, an add-on for Simple Start and Essentials (Intuit: Set up and track your inventory, checked October 2026).
You do not create an Intuit developer app or copy any keys. The integration signs in through iPaaS.com's own Intuit app, whose keys iPaaS.com keeps on the integration.
Configuration Details
Company ID: your QuickBooks company id. QuickBooks shows it when you press Ctrl+Alt+? (Ctrl+Option+? on a Mac) on any QuickBooks Online screen. Example:
1234 5678 9012 3456.API Url: leave it at
quickbooks.api.intuit.com, the address for every QuickBooks Online company, including a trial company.
Configure Subscription Settings
Field | Description | Required | Example |
API Url | The QuickBooks Online API host. Default: | Yes |
|
Company ID | The QuickBooks company to call. iPaaS.com does not pass the company id when you authorize, so this setting is how the subscription knows the company. | Yes: transfers fail with QBOL-AUTH-1004 while it is blank |
|
Minor Version | The QuickBooks Online API minor version sent on every call. Default: | No |
|
Initial Poll Days | How far back the first poll of each kind of record looks. Default: | No |
|
Customer Page Size | Records per page for the customer poll. Default: | No |
|
Item Page Size | Records per page for the item and inventory polls. Default: | No |
|
Invoice Page Size | Records per page for the invoice poll. Default: | No |
|
Payment Method Page Size | Records per page for the payment method poll. Default: | No |
|
Default Item Type | The type of a new item when the mapping does not set Type: NonInventory (default) or Service. | No | NonInventory |
Create Missing Items | Whether a transaction line naming an item QuickBooks does not have creates it. Default: true. | No | true |
Income Account | The income account of a new item when the mapping does not set one. Default: | No |
|
Expense Account | The expense account of a new Inventory item when the mapping does not set one. Default: | No |
|
Inventory Asset Account | The inventory asset account of a new Inventory item when the mapping does not set one. Default: | No |
|
Deposit Account | The account sales receipts and invoice payments are deposited to when the mapping does not set one. Blank by default. | No |
|
Shipping Item | The item a shipping amount is posted to when QuickBooks' shipping field is off. Default: | No |
|
Inventory Location | The iPaaS.com location id that QuickBooks quantities belong to. Blank by default. | Conditional: required to bring quantities TO iPaaS.com |
|
Sales Tax Code | The tax code or group for transactions with a tax total, on a company that uses manual sales tax. Blank by default. | Conditional: required on manual sales tax; leave blank on automated sales tax |
|
The settings below need more than a line.
API Url
Leave it at quickbooks.api.intuit.com. The sandbox host (sandbox-quickbooks.api.intuit.com) is for iPaaS.com's own testing. https:// or http:// in front, a trailing slash, and anything after the host are removed, so https://quickbooks.api.intuit.com/ works. A host the integration cannot reach fails with QBOL-EXTN-1002.
Company ID
Spaces and dashes are removed, so you can paste the id as QuickBooks shows it. Any other character that is not a digit fails with QBOL-AUTH-1008.
Use the id of the company you connect with Authenticate. An id for a different company fails with QBOL-AUTZ-1001, or points the subscription at the wrong company.
Left blank, every call fails with QBOL-AUTH-1004.
Minor Version
Leave it at 75. A blank value uses 75, and QuickBooks answers a minor version below 75 as 75 (Intuit: Minor versions of our API, checked October 2026), so a lower value has no effect.
Initial Poll Days
After the first poll, each poll starts from the newest change the previous poll saw, and this setting no longer applies. A blank, zero, negative or non-numeric value uses 7. To bring in older history on a new subscription, raise it before the polls first run.
Page sizes
A value above 1000, QuickBooks' maximum per page (Intuit: Query operations and syntax, checked October 2026), is treated as 1000. A blank, zero or non-numeric value uses 100. Leave them at the default unless your MiSP or iPaaS.com Support suggests otherwise.
Default Item Type
It applies to items created by the Product collection and to items created for transaction lines; a missing shipping item is always created as a Service item. Any value other than Service is treated as NonInventory. An Inventory item is created only when the mapping sets Type to Inventory.
Create Missing Items
Lines are matched to items by the Item Id the line maps, else by SKU, else by name.
true (default): the integration creates the item with the Default Item Type, the default accounts, and the line's unit price and description.
false: the transaction fails with QBOL-NFND-1006. Create the item in QuickBooks, or send the product first.
Only the value false turns this off.
Income Account, Expense Account and Inventory Asset Account
Each takes an account name or id. A number is used as the id. A name is looked up in the chart of accounts by name, then by full name, so a sub-account can be written
Parent:Child.A blank value uses the default. An account QuickBooks doesn't have fails with QBOL-NFND-1005.
They apply only when an item is created. An update changes an account only when the item mapping sets one.
Deposit Account
A name or id. A blank value leaves the account to QuickBooks. An account QuickBooks doesn't have fails with QBOL-NFND-1009.
Shipping Item
When the company's shipping field is on for sales forms, the shipping amount goes in that field and this setting is not used. When it is off, the shipping amount becomes a line for the item with this name; if QuickBooks has no item by that name, it is created as described under Create Missing Items. A blank value uses Shipping.
Inventory Location
QuickBooks keeps one quantity per item and has no locations, so every quantity TO iPaaS.com carries this value as its Location Id. Use the id of one of your iPaaS.com locations, and map it to the inventory's location in the Product Inventory collection. Left blank, quantities TO iPaaS.com fail with NFND-1003 - Location Id: 0 does not exist or can not be found. A subscription copied from another iPaaS.com company keeps that company's location id: change it to one of your own locations.
Sales Tax Code
Manual sales tax: fill it, for example with the tax code or group named for your state. QuickBooks then keeps the tax total the transaction sends. Without a code, a transaction with a tax total other than zero fails with QBOL-VALD-1014. A code QuickBooks doesn't have fails with QBOL-NFND-1009.
Automated sales tax: leave it blank, and leave Tax Code unmapped. On an automated sales tax company this setting and any mapped Tax Code are not sent: the transaction's tax amount is kept, and QuickBooks assigns it to its own tax jurisdictions.
Authentication Methods
The integration signs in with OAuth 2.0 through iPaaS.com's own Intuit app. To authorize a subscription:
Fill Company ID and click Apply.
On the subscription, click the Authenticate (lock) icon.
Sign in to Intuit as a QuickBooks admin user and choose the company whose id is in Company ID.
Click Connect. Intuit returns you to iPaaS.com, and the integration saves the sign-in on the subscription.
After that, the integration keeps itself signed in. The access token lasts an hour and is renewed automatically with the saved refresh token. A refresh token stays valid for 100 days (Intuit: Authorization FAQ, checked October 2026); every renewal saves a new one, so a subscription that keeps transferring stays signed in. Authorize again only after the app is disconnected in QuickBooks, or after 100 days without a transfer.
Errors when you click Authenticate:
Code | Cause | What to do |
QBOL-AUTH-1009 | Intuit refused the authorization code. | Click Authenticate again. If it keeps failing, contact your MiSP or iPaaS.com Support. |
QBOL-AUTH-1010 | Intuit did not grant access (for example, Cancel was chosen on Intuit's page). | Click Authenticate again and choose Connect. |
QBOL-AUTH-1011 | Intuit's answer had no authorization code. | Click Authenticate again. |
QBOL-AUTH-1012 | Signed in, but Company ID is blank (logged as a reminder). | Fill Company ID and click Apply. |
When transfers fail with "Unable to connect to subscription": a sign-in or company problem stops the transfer before any data moves, and the transfer error reads only "Unable to process transfer. Reason: Unable to connect to subscription with id ...". The coded reason is in Activity Tracker, in the entries at the same time as the error, with the same reference id. QBOL-AUTH-1002 and QBOL-AUTH-1003 can also appear in the transfer error itself, when QuickBooks refuses the sign-in partway through a transfer.
Code | Cause | What to do |
QBOL-AUTH-1004 | Company ID is blank. | Fill it and click Apply. |
QBOL-AUTH-1008 | Company ID is not a number. | Enter the digits QuickBooks shows (Ctrl+Alt+?) and click Apply. |
QBOL-AUTH-1002 | The subscription has no saved sign-in. | Click Authenticate and connect the company. |
QBOL-AUTH-1003 | QuickBooks refused the saved sign-in (disconnected in QuickBooks, 100 days unused, or replaced). | Click Authenticate and connect the company again. |
QBOL-AUTH-1007 | QuickBooks refused the access token even after renewing it. | Check that Company ID is the company you connected; if it is, click Authenticate again. |
QBOL-AUTZ-1001 | The connected user may not do this, or Company ID names another company. | Check Company ID, then click Authenticate and sign in as a QuickBooks admin. |
QBOL-AUTH-1001 or QBOL-AUTH-1005 | The integration's Intuit app keys are missing or were rejected. | Contact your MiSP or iPaaS.com Support. Nothing on the subscription needs changing. |
QBOL-AUTH-1006 | Intuit returned no token, usually for a moment. | Nothing at first: the transfer is retried. If it keeps happening, contact your MiSP or iPaaS.com Support. |
Disconnecting the app in QuickBooks does not stop transfers at once: they keep working until the current access token lapses, up to an hour. Do not edit the Access Token or Refresh Token values the integration saves in the subscription's Persistent Data; if they are removed, transfers fail with QBOL-AUTH-1002 until you authorize again. Every code is in QuickBooks Online Error Messages.
Initialization Support
Currently, initialization is not supported for QuickBooks Online in iPaaS.com. The first poll of each kind of record brings in the changes of the last Initial Poll Days, and records FROM iPaaS.com are sent as they are created or updated. To restart a poll, delete its Last Date of ... Poll value in the subscription's Persistent Data: the next poll starts again from Initial Poll Days. For a large set of existing records, see bulk sync using Postman.
Throttling
Throttling keeps the integration within QuickBooks' API limits during heavy transfers. The throttle fields on the subscription (API Throttle Limit, API Throttle Seconds and their TO iPaaS counterparts, Concurrent Connections and Concurrent Batch Executions) are required, but their values are pre-populated and do not normally need to be changed: 500 requests per 60 seconds both ways, 10 concurrent connections and 10 concurrent batch executions. For details, see Subscription Configuration – Edit.
QuickBooks allows 500 requests a minute for each QuickBooks company and 10 requests a second for each company and app (Intuit: API call limits and throttles, checked October 2026). A refused request fails the transfer with QBOL-EXTN-1014, and iPaaS.com retries it after a minute. QuickBooks also applies an overall monthly allowance for data reads that iPaaS.com manages for its Intuit app; each poll uses part of it, even when it finds nothing, so set the polls to run every 15 minutes, not more often (see QuickBooks Online Known Limitations). If rate-limit errors continue for hours, contact your MiSP or iPaaS.com Support at support@ipaas.com.

