How to Retrieve and Identify Reconciled Transactions in QuickBooks Online API

Introduction

When working with accounting automation, one common requirement is to pull all transactions and check whether they are reconciled, cleared, or UnCleared.

At first glance, QuickBooks Online’s TransactionList API seems perfect for this.

However, when I began experimenting, I discovered a limitation that every developer integrating QuickBooks should be aware of.

In this post, I’ll walk you through the process of retrieving and identifying reconciled Transactions in QuickBooks Online API, using real examples, screenshots, and API calls, so you know exactly what to expect.

Step 1: Fetch Transactions using TransactionList API

QuickBooks provides the TransactionList report API:

GET /v3/company/{companyId}/reports/TransactionList

You can pass parameters like:

  • start_date / end_date → Filter by transaction date range
  • columns → Choose fields like txn_date, txn_type, doc_num, account_name, etc.
  • cleared → Possible values are Reconciled, Cleared, UnCleared
👉

According to QuickBooks Online API documentation, the cleared parameter is only usable as a filter, not as a column in the result.

That means:

  • You can fetch only Reconciled transactions, or only UnCleared ones,
  • However, you cannot retrieve all transactions with their status in a single call.

Step 2: Example Reconciled Transaction

In my sandbox, I created a Bill Payment transaction and reconciled it.

QuickBooks bill payment entry showing vendor payment of $50 with reconciled status and updated account balance
QuickBooks API JSON response showing bill payment check from savings account to accounts payable with $50 entry

Here’s the API call I used:


GET .../reports/TransactionList?start_date=2025-09-11&end_date=2025-09-11&cleared=Reconciled

QuickBooks API GET request in Postman with TransactionList report, start date, end date, and reconciled cleared filter- Satva Solutions

The result included the transaction confirming that the API can detect reconciled entries, but only when filtered.

Step 3: Example UnCleared Transaction

Next, in QuickBooks, I created an Invoice Payment and left it uncleared.

QuickBooks receive payment screen showing customer payment of $100 applied to invoice with cash deposit to savings account

When I ran:

GET
.../reports/TransactionList?start_date=2025-09-11&end_date=2025-09-11&cleared=Uncleared
QuickBooks API request with parameters showing start date, end date, columns, and cleared status set to uncleared
QuickBooks transaction list showing payments and bill payments with accounts receivable and accounts payable details

It showed up correctly in the API response.

QuickBooks API JSON response showing bill payment and payment transaction details without reconciled or uncleared status field

Step 4: Mixed Transactions on the Same Day

Here’s where it gets tricky. On the same date, I had multiple transactions:

  • One reconciled bill payment
  • One uncleared payment
  • One cleared bill
QuickBooks transaction list showing payments and bill payments with accounts receivable and accounts payable details

But when fetching via API, you must query them separately by status.

There’s no way to retrieve a single dataset that contains the cleared status for every transaction.

Key Limitation

This is the main takeaway:

You can retrieve transactions by filtering status (Reconciled, Cleared, UnCleared).

But QuickBooks does not return the status field in the dataset itself.

For auditors, accountants, or SaaS developers building reconciliation tools, this creates extra complexity because you must run multiple API calls and merge results manually.

Why This Matters

If you’re building automation to audit or reconcile accounts across hundreds of QuickBooks clients, this limitation can slow down your process.

I explored a similar challenge in my previous blog post“QuickBooks Online Reconciliation API Solutions,” where I discussed how a CPA firm with over 200 clients needed automation for reconciliation, but QuickBooks’ API restrictions forced them to build workarounds.

That experience directly informed my findings in this regard.

Conclusion

  • Use the TransactionList API to fetch transactions.
  • Apply the cleared filter when you need only one type of status.
  • Be aware: QuickBooks does not provide status per transaction in bulk results.
  • For large-scale reconciliation projects, you’ll need to run multiple API calls (Reconciled, Cleared, UnCleared) and stitch them together.

Until QuickBooks improves this endpoint, this is the only way to identify reconciled transactions via the API. For firms managing reconciliation at scale, dedicated reconciliation software may offer a more streamlined alternative to building custom solutions.

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, Certified QuickBooks ProAdvisor 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.