Tracking and Managing Shopify Orders, Refunds, and Cancellations | Finaloop Help Center

Tracking and Managing Shopify Orders, Refunds, and Cancellations

How Shopify orders, refunds, cancellations, and fulfillments flow into Finaloop, and how to manage your unpaid or open orders

Written by Emily Burrows
June 15, 2026


About

Finaloop connects directly to Shopify so your orders, refunds, cancellations, and receivables flow automatically into your books with no manual work needed.

This article covers how Shopify orders are recorded in Finaloop, how refunds and returns work, what happens when an order is cancelled, and how to manage your open or unpaid orders.


1. Your revenue recognition timing

Before diving into how your Shopify orders flow into Finaloop, let's understand when your Shopify revenue gets recognized in your books.

This comes up throughout the article, so it's important to understand upfront.

The exact timing of your revenue recognition depends on whether you use cash or accrual basis but your fulfillment data is a key factor that impacts the timing of your sales recognition (accrual only) and COGS recognition (cash and accrual).

For most sales channels like Amazon and TikTok Shop, Finaloop syncs fulfillment data automatically and uses the actual fulfillment date to determine your revenue recognition timing. Shopify is different. Many brands don't consistently update fulfillment statuses in Shopify, so that data is often incomplete, delayed, or missing. To handle this, Finaloop gives you two options for how revenue is recognized for Shopify orders.

You can choose your method under Orders → Shopify tab → Settings →Revenue recognition.

Options How it works Who should use it
Fulfillment date (recommended, if updated) Revenue is recognized on the date the order is marked as fulfilled in Shopify Brands who consistently update fulfillment statuses in Shopify
Order date (default) Revenue is recognized on the date the order is placed in Shopify Brands whose Shopify fulfillment data is incomplete or inconsistent

This setting is referenced throughout the article. It affects how sales are recorded, how refunds are treated, and how cancellations are handled.

Inventory tracking:

Learn more in InventoryIQ Troubleshooting, “ Incorrect warehouse settings.”


2. How Shopify orders flow into Finaloop

Now that you know when revenue is recognized, here's how that plays out step by step, depending on your accounting basis.

Cash basis

How it works:

Timing note: Because sales and COGS follow different triggers on cash basis, timing differences between the two are normal.

Step-by-step order flow:

Step 1. Order placed in Shopify

→ The order appears in your Orders screen but has no impact on your P&L or Balance Sheet. On cash basis, unpaid orders don’t create Accounts Receivable.

If you use Order date for revenue recognition, COGS are recorded when the order is placed, even before sales are recorded.

Step 2. Payment received from customer

→ Payments can be received through a payment processor (online payment) or through an offline channel, like cash, ACH, or check. How the payment comes in determines what happens next:

Step 3. Order fulfilled

→ If you use Fulfillment date for revenue recognition, COGS are recorded when the order is marked as fulfilled in Shopify.

Accrual basis

How it works:

Step-by-step order flow:

Step 1. Order placed in Shopify

→ Deferred revenue is created on your Balance Sheet. This is a liability representing money received for services or products not yet delivered.

Step 2. Payment received from customer

→ Payments can be received through a payment processor (online payment) or through an offline channel, like cash, ACH, or check. How the payment comes in determines what happens next:

Step 3. Order fulfilled

→ If you use Fulfillment date for revenue recognition, Finaloop:

To learn more about how we sync your Shopify numbers, check out Where are my Shopify numbers coming from?

💡 Why you might see a Reconciliation-in-process (RIP) balance When an order is marked as Paid, you may notice a temporary balance in a Balance Sheet account called Reconciliation-in-process (RIP). This is normal - it's a holding account that bridges the timing gap between when a sale or refund is recorded and when the actual payment arrives.

Here’s the flow:

  1. Order marked as paid in Shopify → RIP balance increases.
  2. Actual payment received → RIP balance decreases, zeroing itself out over time.
  3. Undeposited Funds for that payment processor increases, until the money lands in your bank.

3. Refunds, returns, and cancelled orders

How it works:

  1. Not paid → The order is voided and removed from your books entirely.
  2. Paid, and the sale was already recorded (based on your accounting method/ revenue recognition setting) → A new entry appears in your Refunds & Returns in your P&L. The original sale stays intact.
  3. Paid, but the sale wasn't recorded yet (accrual + Fulfillment date only) → Deferred Revenue is reduced on your Balance Sheet. No P&L impact.

Returns, refunds, and cancellations initiated in Shopify

Cash basis

If an order is cancelled in Shopify before payment:

If an order is refunded or cancelled in Shopify after payment:

Note: Refunds & returns don’t impact COGS unless an item is marked as “Restocked” in Shopify or is updated manually in Finaloop. Learn more about reporting restocks here.

Accrual basis

If an order is cancelled in Shopify before payment:

If an order is refunded or cancelled in Shopify after payment: Using accrual basis, sales are recorded on the fulfillment date or the order date, depending on the selected method in your revenue recognition settings. Because of this, the way refunds, cancellations, or reversals are treated will depend on the revenue recognition method you selected.

Returns & restocked inventory

Exchanges

Handling refunds with open balances in Finaloop

If a refund was accepted in Shopify but the order still shows open in Finaloop, mark it as Over-Collected to close it out (this usually happens if for some reason return wasn't initiated in Shopify for the order, despite the refunded payment).


4. Actions in Finaloop

Sometimes Shopify data doesn’t tell the full story. That’s where Finaloop’s order actions come in, letting you adjust open orders so your A/R and books stay clean.

These changes can be applied by changing the status of a channel or of an order in Finaloop.

Channel Actions

If you use a non-Shopify sales channel, marketplace, or app that is the source of orders but is connected to Shopify, such as TikTok Shop, Faire, Amazon, Loop Returns, and others, you can select how you want all orders from that channel to be treated, to ensure they don't create 'noise' related to fully discounted orders or double counting sales that are already being recorded from another source.

To keep your numbers clean, we created the ability to include or exclude part or all of the data from various apps based on a selected status. Note that some channels are automatically set to a specific channel status by our team to make sure your data stays clean and reconciled.

Finaloop status Is sales data synced? Is COGS data synced? Examples / Images
Included- includes all data ✓ ✓ Shopify stores
Excluded- excludes data that shouldn’t be included in your books, e.g., if we pull sales from another source, like other integrations or through net payouts X X Amazon, TikTok Shop (we sync through Amazon and TikTok Shop instead)
Target (we record based on net payouts in the bank)
COGS only - includes only COGS because we sync sales from the payouts X ✓ Replacements, warranty, exchanges
Sales only - includes only sales ✓ X If you track your inventory based on an external system’s data
Giveaway - excludes sales data and syncs COGS only as "Product giveaways" X ✓ as a giveaway expense Relevant for influencer distributions or compensation cases

To view or change your selected channel actions:

  1. Go to Orders.
  2. Click on the Settings tab at the top of the page .

Here you can view the applied status to each of the sales channels connected to Shopify.


Order Actions

As mentioned above, sometimes your unpaid or open orders need to be updated if their Shopify data doesn’t reflect the most accurate information.

You can also check out this video to learn more:

Managing your Shopify receivables - YouTube

Tap to unmute

Managing your Shopify receivables Finaloop ecommerce accounting

Finaloop ecommerce accounting

It’s important to periodically review your Unpaid orders tab in your Orders screen which will show all the unpaid orders, partially paid orders, orders marked as manually paid in Shopify, or overpaid orders to keep this number in line with:

In Finaloop, we offer various Action items that you can apply to a single order, or multiple orders at once to update your A/R balance and your order status.

1. Link payment

2. Void orders

3. Close an uncollected balance

4. Close an over-collected balance

5. Mark an order as giveaway

6. Mark an order as COGS only


5. Status Summary (”TLDR”)

Status on your Orders screen What it means Cash Basis treatment Accrual Basis treatment
PAYMENT STATUS
Paid / Partially paid Order is shown as paid if:
1. Online - The order transaction and payment processor are shown in Shopify,
2. Offline - Payment is linked manually in Finaloop.
Order becomes Sales when paid.
​
1. Online - Reduces A/R and increases Undeposited Funds
2. Offline- Reduces A/R and decreases the account the payment was previously categorized into (e.g., Uncategorized transactions - money received).
Unpaid If the payment in Shopify is Offline, Manual, Cash, or unknown, or if the order is Unpaid in Shopify, order will be marked as Unpaid in Finaloop. Not included in books until a payment is linked to the order. Unpaid orders are included in A/R until the payment is linked to the order.
Refunded / Partially refunded Orders for which the payment was refunded by the payment processor after the sale was recognized in Finaloop. This is the case whether Order date or Fulfillment date is used as your revenue recognition method.
​
Note: if a refund was sent offline, you will not see it listed as refund here.
If the order was cancelled and refunded before payment was received, see Cancelled below.
When refund is paid:
- Increase Refunds & returns account in your P&L for the net sales price.

- Reduce Undeposited Funds.

Note: No COGS impact unless an item is marked as Restocked in Shopify.
If AFTER sale was recognized in Finaloop (either Order date or Fulfillment date):
- Increase Refunds & returns in your P&L for the net sales price.

- Reduce Undeposited Funds.

If BEFORE sale was recognized in Finaloop (only relevant for Fulfillment date):
- Reduce Deferred revenue

- Reduce Undeposited Funds

This applies whether refunded before or after the items were physically fulfilled.
Note: No COGS impact unless an item is marked as Restocked in Shopify.
FULFILLMENT STATUS
Fulfilled / Partially fulfilled Based on your selected revenue recognition method: Order date: Items are marked as fulfilled on their order placed date. No partially fulfilled or unfulfilled status applies.
​
​ Fulfillment date:
​ Status becomes "fulfilled: on the “Posted At” date in Shopify, which is the date the fulfillment was created.
Order date:
- No impact to your books in Finaloop when an order is fulfilled.

- Order is marked as Fulfilled in Orders screen.

* * *
Fulfillment date:
- Increase COGS decrease Inventory.

- Order is marked as Fulfilled in Orders screen.
Order date:
- No impact to your books in Finaloop when an order is fulfilled.

- Order is marked as Fulfilled in Orders screen.

* * *
Fulfillment date:
- Increase Sales, Discounts, Shipping income, Tip income, and COGS.

- Reduce Deferred revenue and Inventory.

- Order is marked as Fulfilled in Orders screen.
Unfulfilled Fulfillment status reflects what happened in Shopify, and not your revenue recognition method in Finaloop.
The accounting impact is only relevant if you use fulfillment date for revenue recognition, when no fulfillment date is indicated in Shopify.
Fulfillment date:
No COGS or I nventory adjustment recognized yet.
Fulfillment date:
No Sales, COGS or I nventory adjustment recognized yet. Sales income remains in Deferred revenue.
Restocked / Partially restocked Order is marked as Restocked in Shopify.
​
Note: A refund will not automatically result in a restock. Mark it as Restock in Shopify manually or based on input from your 3PL integration with Shopify. You can also report Restocks in Finaloop but this won’t show on your Orders screen.
Reduces COGS and increases Inventory for the restocked amount. Reduces COGS and increases Inventory for the restocked amount.
FINALOOP STATUS
Excluded Orders synced from a sales channels connected to Shopify that is marked as ‘Excluded’ in Finaloop. This may be selected by you or by Finaloop as a default. Learn more here. Excluded completely from your books. Excluded completely from your books.
Void Orders marked as void may be:
1. Manually marked as void in Finaloop;
2. Marked as void in Shopify (e.g., if the payment was cancelled before capture. So no money moved); or
3. The order was cancelled in Shopify and it has no payment indication.
Any impact is 100% reversed from your books (as if it never happened) Any impact is 100% reversed from your books (as if it never happened)
Giveaway A giveaway status is marked as a giveaway in Finaloop.
​
Sales are excluded.
Increases marketing expense ( Product Giveaway) in Opex for the COGS amount, decreases Inventory.
Sales are excluded.
Increases marketing expense ( Product Giveaway) in Opex for the COGS amount, decreases Inventory.
COGS only Orders you marked as COGS only or orders that come from channels marked as COGS only Sales are excluded. Increases COGS and decreases Inventory. Sales are excluded. Increases COGS and decreases Inventory.
Uncollectible Mark an order as uncollectible if you don’t expect to collect payment on the open balance. Not relevant (sales are only included upon payment). Reduces A/R, increases Bad Debt account.
Overcollected Mark an order as over collected if it has a negative balance and you don’t expect to refund the money, (e.g., a refund was initiated but payment was already collected and no refund was issued, or a customer was charged twice for the same order, but not refunded.) Not relevant (sales are automatically increased upon payment). Increases Sales by overcollected amount and increases A/R by reversing the negative amount.
This is done on the date of the latest activity of the order, as this is most likely when it became negative.

6. Shopify Order FAQs

Q: Do refunds change my COGS? A: No. Refunds have no impact on COGS. COGS only updates if the item is marked as Restocked in Shopify or manually updated in Finaloop.

Q: Why does a cancelled order show up as a return in my P&L? A: This happens when an order was cancelled after payment was already collected. Because payment makes it a paid order, Finaloop treats the cancellation as a refund rather than a void, so both the original sale and the refund appear in your P&L. The net impact is the same either way. If the order was cancelled before payment, it would be Voided and nothing would appear in your P&L.

Q: What's the difference between Void and Cancelled? A: In Finaloop, Void means the order has no financial footprint, it's removed from your books entirely as if it never happened. This always happens when an order is cancelled while unpaid. Cancelled in Shopify doesn't automatically mean Void in Finaloop. If the order was already paid when it was cancelled, it's treated as a refund, both the original sale and the refund are visible in your P&L.

Q: Why is there still an open balance on an order I already refunded? A: This usually happens when the refund was processed in Shopify but a return wasn't initiated there for the order. Finaloop still sees it as open. To close it, select the order and mark it as Over-Collected. See Handling refunds with open balances for more detail.

Q: My refund amount in Finaloop doesn't match what I refunded in Shopify. Why? A: Finaloop records the net refund payment amount, exactly what was refunded. If the number still looks off, check whether the refund was processed through an online payment processor (Finaloop picks this up automatically) or offline (which needs to be linked manually). Offline refunds won't appear as Refunded in your Orders screen.

Q: If I switch my revenue recognition setting, does it affect my historical data? A: It can impact your data for any open years. After you make the switch, it typically takes about 24 hours to process so you want be able to make a switch again during this processing time.

Q: Why do I see a Reconciliation-in-process (RIP) balance on my Balance Sheet? A: This is normal. RIP is a temporary holding account that bridges the timing gap between when a payment is recorded and when it actually arrives. It zeros out automatically as payments are reconciled. See section 2 for a full explanation of how it flows.


7. Learn more

Want to learn more about our Shopify syncing? Check out these resources: