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.

But when I started experimenting, I discovered a limitation that every developer integrating QuickBooks should know about.

In this post, I’ll walk you through the process with 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,
  • But you can’t pull 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

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

Step 3: Example UnCleared Transaction

Next, 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 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 came across a similar problem Satva Solutions’ blog on QuickBooks Online Reconciliation API Solutions.

Which shared that CPA firm with 200+ clients that needed automation around reconciliation, but QuickBooks’ API restrictions forced them to build workarounds.

That story resonated with my findings here.

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.

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.