Top 5 QuickBooks API Limitations to Know Before Developing your QBO App

When listing a QuickBooks Online (QBO) app in the app store, there are several limitations you should be aware of to avoid potential setbacks.

Here are some key limitations you need to know before Starting QuickBooks App development:

When integrating an application with QuickBooks Online (QBO) through its API, QuickBooks developers need to be aware of specific limitations related to tags, custom fields, and certain fields in bill payments.

Here are detailed insights into these 5 QuickBooks API limitations:

1. Tags API Limitations

Limited Functionality:

The QuickBooks Online API has limited support for managing tags. While you can retrieve and list tags, the ability to create, update, or delete tags via the API is restricted. This limitation can impact how you categorize and organize transactions programmatically.

(Intuit Developer Hub)​ – https://help.developer.intuit.com/s/article/QuickBooks-Online-API-Best-Practices

Usage in Reports:

Tags in QBO can be useful for generating reports within the QuickBooks interface. However, the API may not fully support querying tags across all report types, limiting the ability to programmatically create comprehensive reports.

(Intuit Developer) – https://help.developer.intuit.com/s/article/Platform-Throttling-limit

I have written a detailed guide on a workaround to overcome this limitation https://satvasolutions.com/blog/no-tags-in-quickbooks-online-api-3-hacks-to-workaround

2. Custom Fields API Limitations

Read-Only Access:

While you can retrieve custom fields, updating or creating custom fields via the QBO API is not fully supported. This means that any customization done within the QBO interface needs to be manually mirrored if it’s to be used programmatically​

(Intuit Developer Hub)​ – QuickBooks Online API Best Practices

custom-fields-api-limitations-QuickBooks-Online

Field Types:

Custom fields in QuickBooks Online have specific data types, such as text, number, and date. However, the API may not support all operations for each type. This can limit how custom data is handled and manipulated through your application.

With QuickBooks Online Advanced, customers now have the ability to create up to 10 custom fields with various data types. In order to retain compatibility with an app using custom fields, the Only first three String custom fields in QuickBooks Online Advanced will be available through the existing API functions outlined here.

Source: https://help.developer.intuit.com/s/article/Enhanced-Custom-Fields-for-QuickBooks-Online-Advanced

3. Bill Payment Field Limitations

The QuickBooks Online API has specific limitations when it comes to returning certain fields in bill payments. Notably, the API does not return the following fields:

  • Approval Status: This field indicates whether a bill payment has been approved.
  • Tags: These are used to categorize transactions within QuickBooks.
  • Payment Method: This field specifies how the payment was made (e.g., credit card, bank transfer).
  • Attachments Confirmation: Indicates whether any attachments are associated with the bill payment.

These limitations can impact how you manage and report on bill payments in your QuickBooks Online integrations.

To address these limitations, the article from Satva Solutions suggests using a Robotic Process Automation (RPA) Solution with Microsoft Power Automate. This approach involves automating the process of retrieving these fields directly from the QuickBooks Online interface and storing them in an SQL database. 

By doing RPA, you can overcome the API limitations and ensure that all necessary information is captured and accessible for your application.

For more information on solving this limitation, you can read my full article Solving QuickBooks Online API Limitations with RPA

4. QuickBooks Bank Feeds API

The most common questions I encounter when working with accountants and CPAs for their Accounting automation projects.

Does QuickBooks have an API for downloading bank statements or transactions?

When I asked ChatGPT’s latest model the same question, I found the answer wrong.

quickbooks-bank-feeds-API-question-asked-to-ChatGPT

Additionally, chatGPT was hallucinating about having an endpoint to access bank transactions; check the answer below from chatGPT.

and the reality is that there is no endpoint named banktransactions “/v3/company/{company_id}/banktransactions” available in QuickBooks online’s official API reference. check the screenshot below.

how-to-access-these-transactions-via-api-QuickBooks

The QuickBooks Online (QBO) API allows access to bank transactions that have been added or matched within QuickBooks. These transactions can be queried like any other transaction type, such as expenses, checks, or deposits.

However, transactions in the “For Review” status — those imported via bank feeds but not yet categorized or matched — are not accessible through the API.

Bank-Feed-line-items-which-are-not-yet-categorized-NOT-available-for-download-via-api

Bank Feed line items which are not yet categorized, NOT available for download via API

Technical Perspective:

Due to economic and security constraints, QuickBooks Online will not provide an API endpoint for retrieving original bank statement line items. The platform relies on third-party paid services like Plaid and Yodlee for bank statement retrieval, which incur per-access costs. Exposing a direct API could enable potential misuse, such as programmatically accessing multiple bank accounts without substantial financial compensation to these data providers.

Key risks of an open API include:

  • Unauthorized mass bank statement extraction
  • Circumvention of service provider payment structures
  • Potential data privacy and security vulnerabilities

The current approach protects QuickBooks Online’s financial interests and data integration partnerships.

5) Projects API in QuickBooks

Project-wise tracking is disabled in QuickBooks Online, though it can be very powerful for some industries like Construction Companies, Architecture Firms, Professional Services Businesses, Consulting Firms, and Marketing and Creative Agencies.

by default use of project financial tracking is disabled in QuickBooks online, you need to go to advanced settings and enable it.

project-api-in-quickbooks-online

Shows way to enable project-wise tracking of income, expense, and time.

Once enabled, QuickBooks lets you see all your sales, expenses, and timesheets by project.

A-summry-view-of-project-profitability-cost-and-expenses-QuickBooks-online

A summary view of project profitability, cost, and expenses.

However, QuickBooks Doesn’t have any Direct API for adding, editing, updating, and deleting projects.

Limitations

No Dedicated Project Entity

QuickBooks uses a special flag (IsProject) to manage projects as sub-customers. This may not offer the same granularity as a dedicated project entity.

Limited Advanced Feature

Advanced project features, like profitability tracking or time tracking, are not directly accessible through the API.

General Recommendations for Better QuickBooks App Development

  • Efficient Error Handling: Given the various limitations and potential for incomplete data, implementing robust error handling and logging mechanisms is essential.
  • Use of Webhooks: To keep data synchronized and up-to-date, leveraging QBO webhooks can provide real-time updates and reduce the need for frequent polling, which is subject to rate limits (Intuit Developer Hub)
  • Refurring Documentation: Regularly referring to the QuickBooks Online API Documentation for updates and best practices can help mitigate some of these limitations.
  • Change Data Capture CDD: Use change data capture to see which API entities and what data changed within a certain timeframe. the maximum you can query for changes up to the past 30 days.
  • https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/change-data-capture

Understanding these limitations will help you design more resilient and efficient integrations with QuickBooks Online, ensuring your application can handle the quirks and constraints of the API effectively.

Conclusion

Quickbooks may remove some of these restrictions sooner or later. Therefore, always refer to the latest documentation from QuickBooks API and check the developer news to understand those changes. alternatively, you can consult an expert company that has already faced this challenge many times and can save you time for QuickBooks app development.

If you’re looking for custom QuickBooks integration solutions or need help navigating API challenges, contact Satva Solutions today!

Article by

Chintan Prajapati

Chintan Prajapati, a seasoned computer engineer with over 20 years in the software industry, is the Founder and CEO of Satva Solutions. His expertise lies in Accounting & ERP Integrations, RPA, and developing technology solutions around leading ERP and accounting software, focusing on using Responsible AI and ML in fintech solutions. Chintan holds a BE in Computer Engineering and is a Microsoft Certified Professional, Microsoft Certified Technology Specialist, Certified Azure Solution Developer, Certified Intuit Developer, and Xero Developer.Throughout his career, Chintan has significantly impacted the accounting industry by consulting and delivering integrations and automation solutions that have saved thousands of man-hours. He aims to provide readers with insightful, practical advice on leveraging technology for business efficiency.Outside of his professional work, Chintan enjoys trekking and bird-watching. Guided by the philosophy, "Deliver the highest value to clients". Chintan continues to drive innovation and excellence in digital transformation strategies from his base in Ahmedabad, India.