Skip to main content

How Shopify Exchanges Sync with QuickBooks Online

Learn exactly what syncs to QuickBooks Online when you process an exchange, return, or order edit in Shopify — plus the recommended refund workflow and how to avoid duplicate quantities on your synced documents.

The short answer

Shopify does not have an "exchange" transaction type, and neither does QuickBooks Online. An exchange in Shopify is really made up of smaller pieces - a return, an order edit, a refund, and sometimes a brand-new order. MyWorks doesn't sync an "exchange" object; it syncs each of those pieces.

Once you understand which pieces MyWorks sees, exchanges become predictable — and most of the confusion (especially the classic "double quantity" problem) goes away with two or three settings.

What syncs, and what doesn't

✅ What syncs

  • Order edits. If you edit a synced Shopify order (remove the returned item, add the replacement item), MyWorks re-syncs the order and updates the existing QuickBooks Invoice or Sales Receipt - it does not create a second document. If the order is edited before it ever syncs, MyWorks syncs it reflecting the latest edits.

  • Refunds. A refund issued in Shopify syncs to QuickBooks Online as a separate Refund Receipt, containing the refunded line items and posted to the bank account you select for that payment gateway.

  • Additional charges. If the exchange item costs more and the customer pays the difference, that comes across on the updated order document (and as an additional payment, if you sync orders as Invoices).

  • Restocking fees. Shopify deducts the fee before refunding, so the Refund Receipt already shows the correct net amount. No separate mapping is needed.

  • Clean returns and shipping-only refunds. These sync correctly, including tax-only refunds and multiple refunds on the same order.

  • Inventory. QuickBooks inventory follows the line items on the synced documents (and your normal inventory sync settings).

❌ What doesn't sync

  • Nothing flows from QuickBooks back to Shopify except payments. If you edit an invoice, remove items, or create a refund directly in QuickBooks, the Shopify order is unchanged. Shopify is the source of truth for order details.

  • Refunds where no money moved. A restock-only refund, or a refund whose payment failed in Shopify, is skipped - QuickBooks only records refunds that actually went through.

  • Return shipping fees on a return with no separate refund are not currently included in what syncs.

  • A separate "restock" event. MyWorks does not post an extra inventory transaction for an exchange — inventory follows the synced document lines.

  • Un-synced original orders. A refund can't sync if the original order isn't in QuickBooks yet (you'll see a "QuickBooks order not found" error).

Set up your settings first

1. Order Sync Rules

Go to MyWorks Sync > Settings > Order > Order Sync Rules. These rules control when a brand-new Shopify order syncs to QuickBooks — for example, only once it reaches Fulfilled. They do not control refunds.

2. Order Update Sync Rules

In the same area, Order Update Sync Rules control when changes to an already-synced order (including exchange edits) sync back into QuickBooks. You can allow updates by status, or block them by status or order tag.

This is the key setting for exchanges: if an exchange edit doesn't appear in QuickBooks, it's usually because the update didn't meet these rules.

3. Refund syncing (per gateway)

Refund syncing is not part of the Order Sync Rules. It has its own toggle for each payment gateway:

  1. Go to MyWorks Sync > Map > Payment Methods.

  2. Find the gateway used on your orders (for example, Shopify Payments).

  3. Turn on Enable Refund Syncing.

  4. Select the QuickBooks bank account the refund should be recorded to — refunds will not sync without a bank account selected.

  5. Save, and repeat for every gateway you use.

Note: Refund Receipts require the Grow plan or higher.

The recommended exchange workflows

Option A — Process the exchange as a new order (cleanest)

Refund the original order in Shopify, then create a separate Shopify order (paid, zero-value, or draft) for the replacement item.

  • The original order stays intact in QuickBooks.

  • The refund syncs as its own Refund Receipt.

  • The replacement order syncs as its own Invoice or Sales Receipt.

This gives you the clearest audit trail and avoids every known edge case below.

Option B — Edit the original order

If you prefer to keep everything on one Shopify order, use this sequence:

  1. Do the refund in a single step. Issue one refund in Shopify that includes the returned items, quantities, tax and shipping — all at once.

  2. Confirm the refund line items are correct. MyWorks mirrors exactly the Qty, Total, Sales Tax and Shipping that appear on the Shopify refund. If a product isn't listed on the refund, it won't appear on the Refund Receipt.

  3. Then add the replacement item via an order edit.

  4. Let the update sync (or push manually — see below).

Avoid this combination: editing an order to remove items and separately refunding a different amount. Shopify writes these as records MyWorks can't reliably match up, and the result is often a wrong or partial Refund Receipt. Always do the refund in one step instead.

The "double quantity" problem — and how to fix it

This is by far the most common exchange symptom: after an exchange, the QuickBooks document shows both the original (returned) item and the new exchange item.

The cause is simple: Shopify often keeps both sets of line items on the order, and MyWorks syncs whatever line items are on the Shopify order into the existing QuickBooks document.

There are two mitigations:

  • Turn on "Do not sync un-fulfilled line items in an order" (Settings > Order > Order Contents). Only the fulfilled items — typically the shipped exchange item — sync, so the returned line is excluded.

  • Use Order Update Sync Rules to stop updates from syncing once an order reaches a chosen status, or once it carries a specific tag (for example, an exchange tag your team applies). The original QuickBooks document is then left as-is and the refund tells the rest of the story.

Choose based on one question: do you want the returned items to appear in QuickBooks at all? If yes, keep the update syncing and rely on the Refund Receipt to offset them. If no, use one of the two mitigations above.

Known limitation: variant-swap exchanges

Swapping a variant on the same product (for example, size L for size XL) is a known open issue. Shopify writes this as two refund records, and currently:

  • The removed line can stay on the QuickBooks document no matter how many times the order is re-pushed.

  • The money settlement can double-count.

Until this is resolved, we recommend handling variant swaps with Option A above — refund the original order and create a separate order for the replacement variant — or reviewing and adjusting the QuickBooks document manually afterwards.

Inventory during returns and exchanges

  • Shopify owns inventory. When you process the return in Shopify and choose to restock, Shopify raises the stock level, and MyWorks syncs that updated level to QuickBooks — as long as the item is an inventory item in both systems and mapped under Map > Products.

  • Set the Qty correctly on the refund. MyWorks honours the quantities on the Shopify refund when building the Refund Receipt, which is what drives the quantity returned to stock in QuickBooks.

  • Map your products. Unmapped items fall through to your Default for Unmatched Products. Third-party returns apps sometimes create their own line item (e.g. a generic "Returns" product) — map or exclude that item so it doesn't distort your inventory.

  • If a product was recently added or renamed, run Map > Rescan Data > Rescan Shopify Products so the sync sees it.

Pushing an exchange manually

A manual push ignores your automatic sync rules, which makes it the fastest way to get a stubborn exchange into QuickBooks.

  1. Go to MyWorks Sync > Push > Orders.

  2. Search for the order number.

  3. Select it and push.

Pushing an order also syncs its refund, if one exists in Shopify. There is no "push everything" button — you select the rows shown on the page and push them in batches.

Troubleshooting

  • "QuickBooks order not found" on a refund — the original order was never synced. Push the order first from Push > Orders, then push the refund.

  • Exchange edit isn't in QuickBooks — the update didn't meet your Order Update Sync Rules. Adjust the rules, or push the order manually.

  • Refund isn't syncing at all — check that Enable Refund Syncing is on for that gateway, that a QuickBooks bank account is selected, that your plan is Grow or higher, and that the refund actually moved money.

  • Refund rejected because the sales receipt is tied to a deposit — QuickBooks blocks edits to reconciled/deposited transactions. Undo the deposit link, or record that refund manually.

  • A refunded product is missing from the Refund Receipt — open the refund in Shopify and confirm the product and quantity are listed on the refund line items, then rescan products and re-push.

  • Using Daily Summary sync? Refunds are already captured in the summary, so also syncing individual refunds can double-count. Pick one approach.

  • Pushed something by mistake? MyWorks can't "un-sync" a document once it's in QuickBooks — you'll need to delete or void it in QuickBooks directly.

Quick reference

  • New orders sync when: Settings > Order > Order Sync Rules says so.

  • Exchange edits sync when: Settings > Order > Order Update Sync Rules says so — or you push manually.

  • Returned lines are excluded by: "Do not sync un-fulfilled line items in an order" (Settings > Order > Order Contents).

  • Refunds sync when: Enable Refund Syncing is on for the gateway in Map > Payment Methods, with a bank account selected (Grow plan or higher).

  • Best practice: one refund, in one step — then edit or create the replacement order.

Did this answer your question?