# Problems getting clean journal entry data out of Quickbooks online

**URL:** <https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292>\
**Category:** Beginner Questions\
**Tags:** woocommerce, quickbooks, google-sheets\
**Created:** [May 22, 2026, 7:49am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292 "2026-05-22T07:49:11Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bryan\_W](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/bryan_w/32/91405_2.png) [@Bryan\_W](https://community.make.com/u/Bryan_W)\
**Post date:** [May 22, 2026, 7:49am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/1 "2026-05-22T07:49:11Z")

</div>

Hi all,

I am new to [Make.com](http://Make.com) and trying to automate some end-of-month accounting reconciliation procedures for my company. I am stuck at this last step of posting one line of a journal entry that is generated by KatanaMRP and to sync that data to one row in Google Sheets. I have been using Gemini to help me build this and created this summary below with Gemini to help me solve this problem. Thanks in advance for any help I receive!

### **Objective**

We are syncing order data from **ShipStation** to **Google Sheets (Audit Log)** while pulling related financial values from **QuickBooks Online (QBO)**.

Specifically, we want to populate **Column F** with a QBO Journal Entry amount (`TotalAmt`) and calculate a COGS variance in **Column G** (`[ShipStation/Katana Cost] - [QBO TotalAmt]`).

* * *

### **The Architecture & The Core Problem**

The workflow begins with a ShipStation trigger/search, passes data through QuickBooks, and attempts to log a **single row per order** in Google Sheets.

However, because of how QuickBooks stores journal entries/lines, the QBO module outputs a massive volume of duplicate data packets ( **58 identical bundles** for a single transaction). This bundle explosion causes downstream Google Sheets modules to execute 58 distinct times, flooding the spreadsheet with identical rows.

* * *

### **What We Tried & Why It Failed**

#### **Attempt 1: The Basic Array Aggregator Strategy**

- **Setup:** We placed an Array Aggregator after the QBO module to condense the 58 bundles back into 1 single array, using the formula `{{get(map(19.array; "TotalAmt"); 1)}}` to extract the amount into Google Sheets.

- **Why it failed:** The aggregator duplicated anyway. Because the upstream QBO structure acted as independent trigger bundles rather than a single cycle loop, the aggregator executed _58 separate times_ (creating 58 single-item arrays) instead of aggregating 58 items into 1 array.

#### **Attempt 2: Search Rows $\rightarrow$ Router $\rightarrow$ Update vs. Add (The Infinite Loop)**

- **Setup:** We completely removed the aggregator. Instead, we used a **Search Rows** module to look for the `Order ID`. We added a router with two conditional paths:

- **Why it failed:** This triggered a severe **race condition and infinite loop** that ran up over 162 operations instantly. Because Make processes these multi-bundles sequentially at lightning speed, Bundle 1 didn’t find the row and triggered “Add a Row”. But before Google Sheets could physically commit that row to the database and update its index, Bundles 2, 3, and 4 had already executed their “Search Rows” module. They also found nothing, triggered “Add a Row” again, creating an exponential loop.

* * *

### **Current Status / Help Needed**

We need a clean, operation-efficient method to enforce a strict **“one bundle only” pass** after the QuickBooks module fires, or a bulletproof way to pause execution so the search-before-write mechanic doesn’t experience a race condition.

 ![Sheets 21](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/c/1/c11c983470025c094341d5f3f893b01030819a46.png)

 ![QBO 14](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/c/e/ce7292f9f47b529ab8daed36fbb1cce55e1ffd09.png)

 ![Sheets 24](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/c/f/cfeb486dfcb01fc31e7905656ec4d780c3b7cb88.png)

 ![Sheets 20](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/4/f/4f0b9e7b0cce040251e17224787dfdc93e1ffcca.png)

[Integration Google Sheets.blueprint.json](https://community.make.com/uploads/short-url/mgnqpRPmjz4ZA6vX03eZOwa9O9D.json) (102.3 KB)

 ![Make Screenshot](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/a/c/ac509e9e6cc0f4d40c740b9f8d13dd964808cd1d.jpeg)

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [May 26, 2026, 9:30am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/4 "2026-05-26T09:30:00Z")

</div>

Hey there,

your attempt one most likely failed because you had the wrong source module set for the aggregation.

I strongly suggest not using an AI to build complex Make scenarios at this stage since all of them suck at it and mess up basic stuff.

Which module is producing the duplicates and is it always producing either one correct value or multiple duplicates of the same correct value?

---

<div class="post-metadata">

**Author:** ![Bryan\_W](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/bryan_w/32/91405_2.png) [@Bryan\_W](https://community.make.com/u/Bryan_W)\
**Post date:** [May 26, 2026, 3:39pm UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/5 "2026-05-26T15:39:41Z")

</div>

Hi Stoyan,

Thanks for the response. I am not a developer, just a business owner trying to automate some end-of-month accounting functions 🙂

The only problem I see is that I get 2 rows/entries for each side of a journal entry in QBO. I only need the one amount/row and trying to avoid duplicate entries.

Otherwise everything seems to be working fine at this stage.

Any thoughts?

Thanks

Bryan

---

<div class="post-metadata">

**Author:** ![Stoyan\_Vatov](https://avatars.discourse-cdn.com/v4/letter/s/5daacb/32.png) [@Stoyan\_Vatov](https://community.make.com/u/Stoyan_Vatov)\
**Post date:** [May 26, 2026, 3:49pm UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/6 "2026-05-26T15:49:56Z")

</div>

Find out which module is producing the duplicates and set that as the source module for the aggregation.

---

<div class="post-metadata">

**Author:** ![stevemarkovick](https://avatars.discourse-cdn.com/v4/letter/s/51bf81/32.png) [@stevemarkovick](https://community.make.com/u/stevemarkovick)\
**Post date:** [May 28, 2026, 9:35am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/7 "2026-05-28T09:35:38Z")

</div>

The 58 duplicate bundles from QBO is a classic [Make.com](http://Make.com) headache. The real fix here is using an Iterator with an Aggregator set to bundle order number as the grouping key before anything hits Google Sheets. That stops the race condition entirely. For teams automating financial data flows at scale, platforms like Phonexa handle structured data routing cleanly without these multi-bundle nightmares. Good luck getting this sorted!

---

<div class="post-metadata">

**Author:** ![Bryan\_W](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/bryan_w/32/91405_2.png) [@Bryan\_W](https://community.make.com/u/Bryan_W)\
**Post date:** [June 4, 2026, 4:37am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/8 "2026-06-04T04:37:10Z")

</div>

My problem is I don’t have advanced skills. I need help getting this done 🙂

---

<div class="post-metadata">

**Author:** ![Bryan\_W](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/bryan_w/32/91405_2.png) [@Bryan\_W](https://community.make.com/u/Bryan_W)\
**Post date:** [June 4, 2026, 4:38am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/9 "2026-06-04T04:38:15Z")

</div>

Is this a friendly SMB platform? I would like to figure this out with Make as we are using it for multiple workflows.

---

<div class="post-metadata">

**Author:** ![johnai.tech](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/johnai.tech/32/91572_2.png) [@johnai.tech](https://community.make.com/u/johnai.tech)\
**Post date:** [June 4, 2026, 6:51am UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/10 "2026-06-04T06:51:08Z")

</div>

Hey Bryan 👋

Let me give it a try. 🙂

The problem is that your QBO Search Journal Entry module (14) outputs one bundle per _line item_ inside each journal entry. Since your entry has 58 lines, you get 58 bundles that all trigger your downstream modules 58 times.

You may try these fix:

1. **After your QBO module (14), add an Iterator** to collect all 58 bundles into one array.

2. **After the Iterator, add an Aggregator** with the Iterator as its source module. This fires only once.

3. **Reconnect your Google Sheets modules to the Aggregator output** instead of directly to QBO.

4. **Turn on “sequential” in your scenario settings** to prevent the race condition.

The Iterator + Aggregator combo ensures everything downstream runs once instead of 58 times.

Give it a try and let us know how it goes!

-John

---

<div class="post-metadata">

**Author:** ![jhbum01](https://avatars.discourse-cdn.com/v4/letter/j/bbce88/32.png) [@jhbum01](https://community.make.com/u/jhbum01)\
**Post date:** [June 15, 2026, 6:41pm UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/11 "2026-06-15T18:41:33Z")

</div>

Bryan, I would separate the accounting decision from the Make routing problem here.

For the Make side, the safest pattern is:

1. Identify the exact QBO module that emits the 58 bundles.

2. Add a filter before Sheets so only the journal line you actually want can continue.

3. If you truly need to collapse multiple QBO lines, aggregate from the QBO module that creates those bundles, then pass only one normalized object downstream.

4. Put the Google Sheets Search/Add/Update after that single filtered or aggregated result.

5. Add an idempotency key column in Sheets, for example `order_id + journal_entry_id + target_account`, so reruns update the same row instead of creating duplicates.

No private accounting data needs to be shared publicly.

---

<div class="post-metadata">

**Author:** ![Make\_Bot](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/make_bot/32/14661_2.png) [@Make\_Bot](https://community.make.com/u/Make_Bot)\
**Post date:** [September 13, 2026, 6:48pm UTC](https://community.make.com/t/problems-getting-clean-journal-entry-data-out-of-quickbooks-online/109292/12 "2026-09-13T18:48:10Z")

</div>


