By Janson Wang, Founder of ASG Dropshipping · September 2026 · 22 min read
Your customer has emailed twice. Your Shopify order status still says Unfulfilled. Your supplier’s dashboard says Processing, and it has said Processing since Tuesday.
So you open a ticket and ask which one is right. Both systems are telling the truth. They are not speaking the same language.
Processing is not a fulfillment stage in Shopify’s merchant-facing list. It is a stage in your supplier’s list. And which of the two you should be reading first depends on how your supplier is wired into your store.
Quick Answer: What Does a Stuck Shopify Order Status Actually Mean?
Direct answer: If you are the shopper, use the store’s order status page — this article is for the merchant.
Your Shopify order status badge summarizes the fulfillment Shopify has recorded for that order.
If the order shows a Fulfillment in progress block with a Requested or Accepted status, an app-integrated fulfillment service is assigned to it — read that handshake first.
If there is no such block, the order may be unassigned, on a mail-based custom fulfillment service, or held — read the record layer by layer rather than assuming silence means nothing happened.
On the three Shopify pages we read, there is no stage called Processing; the tenth item in one supplier’s 2018 published list is named Processing, described there as searching and verifying the goods inside its own warehouse.
A status badge summarizes what Shopify has recorded about the order — not who touched it last, and not where the goods physically are.
Key Takeaways
The badge summarizes fulfillment Shopify has recorded — it does not identify who last wrote to the order or prove where the goods are. displayFulfillmentStatus is a rollup across every fulfillment on the order, not a writer’s signature or a location.
How your supplier is integrated with Shopify shapes what the badge can tell you — but button state alone does not prove which integration you are on. An app-integrated fulfillment service with a request/accept flow leaves a readable handshake; a mail-based custom fulfillment service instead sends the service an email when you mark items fulfilled, with no automatic status write-back.
On the three official Shopify pages we read, there is no fulfillment stage called Processing. The glossary keeps only a legacy anchor pointing at Fulfillment time. In one supplier’s 2018 published list — describing its Chrome Extension integration with Shopify — the tenth item is named Processing.
Three of the five system holds Shopify documents start with a sales channel, Managed Markets, or an upsell app you installed — that grouping is our reading of the page, not its own words; a hold does not rule out a concurrent stock or warehouse delay.
Cancelling inside Shopify may not cancel anything. Shopify’s own wording is that you might need to cancel through the fulfillment service first, and cancelling an order, cancelling a fulfillment request, and refunding a customer are three different actions.
How to Check Shopify Order Status Against Your Supplier’s System
**Most sellers read one badge and write one email. That skips the step that decides what the badge can even tell you.**
Find out how your supplier is wired into your store first. Then read in order — you rule something out at every step.
The reading order, in one paragraph: Check what the order’s fulfillment is actually assigned to — an app-integrated service with a request/accept flow (Path A), or direct fulfillment by an app, a person, or a mail-based custom service (Path B); a greyed-out manual-marking button is a hint, not proof — the table below explains why.
Once you know your path, read its handshake, then the supplier’s own vocabulary.
A tracking number with carrier scan activity means the parcel is moving, but it does not prove Shopify’s own record has caught up — keep reading in parallel rather than stopping there.
Read in this order
Read in this order
Check this first
It rules out
If it does not settle it
What the fulfillment is actually assigned to: an app-integrated service, a mail-based custom fulfillment service, or nothing
Whether you are on Path A (app-integrated, request/accept flow) or Path B (direct write, including mail-based) — a greyed-out manual option is one signal, not proof, since holds and scheduled fulfillments also disable it
On Path B, skip to the fourth row
The detailed status inside the Fulfillment in progress block, where one exists
Confusion between Requested (nobody has answered) and Accepted (they are working on it)
Check the order Timeline
The order Timeline
A quiet decline — the outcome always lands there, even when the note explaining it is optional
Leave Shopify
The supplier’s own back office, read in their vocabulary
Which item on their list the order actually sits at, and whether the tracking number was synced before or after dispatch
This is what belongs in the email you were about to send
Whether Shopify already shows a tracking number with carrier scan activity
That the parcel itself is moving — a separate question from whether Shopify’s own record has caught up
Keep reading the record; scan activity and a lagging status can coexist
Notice what the fourth row does not give you: a number of hours.
The stage name tells you whether waiting is the right move, not how long it should take — that depends on the product, the factory and the route, and an invented threshold is worse than none.
If your process worked at low volume and stopped as orders grew, that is a structural problem rather than a status one.
We wrote about that shape in why fulfillment breaks when Shopify orders start growing .
Five separate states can sit behind one processing label.
Keep this intact: Branch first — Path A or Path B — then read in that order. The fourth row is the content of the email you were about to send.
Your Shopify Order Status Says Unfulfilled. Your Supplier Says “Processing.”
**You are not confused because you missed a setting. You are confused because two systems named the same moment differently.**
One order. Two dashboards. Two words that were never designed to line up.
Direct answer: In Shopify’s merchant-facing fulfillment list, as of August 2026 , there is no stage called Processing.
On the supplier’s side it is often a real item name: in one China-based supplier’s 2018 published order-status list — describing its Chrome Extension integration with Shopify — the tenth item is Processing, defined there as searching and verifying the goods inside its own warehouse.
I read the three official pages that define this vocabulary: the merchant status page (seven fulfillment states), the customer-facing order status page , as of August 2026 (five completely different ones), and the fulfillment terminology glossary , also as of August 2026, defining the words Shopify expects you to use.
None of the three carries Processing as a fulfillment stage.
One exception, which you would find anyway: the glossary still carries a legacy anchor, #processing-time, which now lands on the entry named Fulfillment time — the closest thing to a counter-example on these pages, and not a stage today.
One scope note on what that does and does not prove: the merchant status page opens by saying orders carry order status, payment status, fulfillment status, and return status — four separate families of words.
Everything I tested was the fulfillment family. Three pages, one family, and that is the whole sample.
On a page published by CJdropshipping on 22 November 2018, a China-based supplier describing its Chrome Extension integration with Shopify at the time, the tenth item on its order-status list is named Processing.
Its own definition: CJ is searching and verifying for your orders in our warehouse. Shipment is expected right away if everything is okay.
That page carries a 2018 date and describes a specific historical integration feature — one supplier’s published example from that period, not an industry rule and not proof of what a 2026 account currently shows.
The list also has branches (such as cancellation and refund), so “the tenth item” describes where Processing sits in that published list, not a stage that necessarily appears in an order’s path.
One publisher is a sample of one.
Your Shopify Order Status Says Unfulfilled. Your Supplier Says “Processing.”
The word on the screen
Who writes that word
What it actually describes
Unfulfilled
Shopify admin, merchant view
Shopify has not recorded the order’s items as fulfilled
Confirmed
Shopify order status page, customer view
The customer ordered; nothing has shipped yet
In progress
Shopify admin, written by the fulfillment service
A request went out, or items were marked in progress
Processing
One supplier’s own published list
The warehouse is searching and verifying the goods
Awaiting Fulfillment
DSers, an AliExpress order app, inside its own queue
A queue inside that app, not a Shopify stage
Five words. Four vocabularies.
One order. Three of those lists are published in full; the last row is one word lifted from a troubleshooting article.
Here is one merchant living inside that gap. A seller on the Shopify Community, self-described as very new to drop shipping, wrote this in 2022:
“[…] I accidentally marked on my shopify store that the orders were fulfilled. […] If I place and pay for orders on aliexpress, my shopify store still says that they are unfulfilled and not that they are in-process .
Does my shopify take a while to update and should I just let it update everything on its own?”
— Natrees, Shopify Community thread 146552 , 26 August 2022
Read what they want: they want Shopify to show them in-process. Shopify has no such state.
That is a merchant asking cart software to speak a supplier’s language.
I am not claiming the two word lists caused the mis-marking; on that they say only that they were unsure of what to do next.
A real ASG sortation control area where digital status meets physical handling.
Before you call the order stuck, check whether it is the translation between two word lists that is stuck.
Takeaway: Write down your supplier’s status list next to Shopify’s seven. Until those two columns sit side by side, the two of you are negotiating in different currencies.
What “Shopify Order Status: Unfulfilled” Actually Means
**Many sellers read Unfulfilled as “nobody has touched this order.” That reading is wrong, and it costs you the whole diagnosis.**
Unfulfilled describes your records. It does not describe your warehouse.
The short version: Unfulfilled means none of the items in the order have been fulfilled. Shopify’s own status page, as of August 2026, assigns it at the moment the order is placed.
It is the starting state, not a verdict about your supplier, and it does not mean the order has no fulfillment records underneath it — one can exist, and can even be on hold, while the badge still reads Unfulfilled.
The official seven, in Shopify’s own order of listing: Unfulfilled, In progress, On hold, Scheduled, Partially fulfilled, Fulfilled, and Fulfillment not required.
The two ways a supplier writes to that badge
Path A: the fulfillment is assigned to an app-integrated fulfillment service with a request/accept flow. Shopify states , as of August 2026: If an order is assigned to a third-party fulfillment service, you can't manually mark it as fulfilled or in progress. The fulfillment service controls the status and automatically marks the order as in progress when they accept your fulfillment request. A Fulfillment in progress block, or an unavailable manual “mark as fulfilled” option, is a sign — not proof, since Shopify also disables manual marking for on-hold and scheduled fulfillments and supports some manual in-progress marking outside this flow.
The reliable signal is which service the fulfillment order is actually assigned to, confirmed in its fulfillment details, not the button.
On this path, the badge carries a handshake: Unfulfilled usually means the request has not gone out yet, or it went out and came back declined.
Path B: an app or a person writes the fulfillment directly, with no request/accept handshake. Shopify documents this split in its own words: Dropshipping apps: Some automatically mark items as fulfilled when they ship an order. Others require you to order your customer's items within the app. The handshake field on these orders sits at UNSUBMITTED — the initial request status for the newly-created fulfillment orders. This is the only valid request status for fulfillment orders that aren't assigned to a fulfillment service. On this path, the badge does not carry the Requested/Accepted handshake described above; when your supplier says Processing, Shopify most often shows Unfulfilled, though it could also be manually marked In progress or on hold for an unrelated reason — an absent handshake is not proof that nothing else has touched the order.
The exception worth knowing: Shopify also offers a mail-based custom fulfillment service.
When you mark an order fulfilled under this setup, Shopify emails the service the items to ship — it does not write back progress automatically the way an app-integrated service does.
So “you cannot manually mark it” is a Path A signal only for the request/accept flow above; a custom fulfillment service can look similar on the badge while working differently underneath.
One order can be both at once.
Assignment happens at the level of a single fulfillment order, not the whole order, so a store running more than one supplier can have half its items on each path.
A first-time store owner put the confusion plainly back in 2021:
“Under fulfillment status, it shows ‘unfulfilled’.
I have set up supplier at the back end and I am wondering if each time this status needs to be manually changed when the order is fulfilled by the supplier or it will automatically change since the supplier app is part of the Shopify store?”
— dbshop, Shopify Community thread 82847 , 4 December 2021
Status labels are clues; each handoff needs direct proof.
Do this instead: Stop reading Unfulfilled as a status report on your factory.
Read it as a receipt that says nothing has been marked fulfilled yet, then find out which of the two ways your supplier writes to it.
Shopify Fulfillment Status In Progress: Requested or Accepted
**One means your supplier is working. Another means your supplier never picked up the phone.**
What In progress actually covers: Shopify’s app-fulfillment documentation , as of August 2026, describes a request-and-response handshake.
When you request fulfillment, the status changes to In progress and you wait for a reply. Inside the order, a detailed status separates Requested from Accepted.
A third case hides under the same badge: Shopify’s own order-level definition also folds in items someone marked in progress by hand, without any request going to a supplier at all.
The official sentence is worth having in front of you: The Fulfillment in progress section provides a fulfillment status and detailed information about the progress of the fulfillment. For example, if an order's fulfillment status is In progress, then the detailed status lets you know whether the fulfillment is Requested or Accepted.
The third case lives in the order-level field itself.
Shopify’s own enum documentation defines it as All of the items in the order have had a request for fulfillment sent to the fulfillment service or all of the items have been marked as in progress. Two different actions — a request going out, or somebody marking items in progress by hand — collapse into the same one-word badge.
The detailed status inside the fulfillment block is what separates the three.
The same page documents what happens when a supplier says no.
The request is declined, the order returns to Unfulfilled, and the fulfillment service can include a note to explain why the fulfillment was declined.
That outcome always lands in the order Timeline; the note explaining it does not.
ASG sorter line and processing stations.
Takeaway: Before you write to your supplier, open the order and read the detailed status.
Requested, Accepted, and a manual marking are three different situations, and sending the wrong email wastes a day.
Three Fields Hide Under One Order Badge
What is actually underneath the badge: Shopify documents three independent status fields. The order-level badge summarises the whole order.
The fulfillment-order status describes one batch of goods. The request status records the handshake with your supplier.
Only the third one answers whether the supplier has replied at all.
Three Fields Hide Under One Order Badge
Field
What level it describes
Documented values
What it answers
displayFulfillmentStatus
The whole order
10
What the summarised badge looks like
status
One fulfillment order
7
Where this batch of goods has got to
requestStatus
The handshake
8
Whether the supplier has answered you
These are API field names, not the labels on your admin screen — they are the structure underneath it. IN_PROGRESS exists at two of the three levels and does not mean the same thing at both: at the order level it merges a request going out with items marked in progress by hand (the previous section walks through that); at the fulfillment-order level , as of August 2026, it simply means The fulfillment order is being processed. Say which level you mean whenever you use it in a ticket.
The handshake field settles more arguments than the other two combined.
The request status enum , as of August 2026, carries eight values. UNSUBMITTED is the initial request status for the newly-created fulfillment orders, and Shopify adds that it is the only valid request status for fulfillment orders that aren't assigned to a fulfillment service — normal on an unassigned order, not a fault. SUBMITTED means the merchant requested fulfillment, and it has not moved on to ACCEPTED or REJECTED yet.
Same badge on your screen. Completely different conversation with your supplier.
Three Fields Hide Under One Order Badge
Fulfillment combination
Order badge
on hold + unfulfilled
Unfulfilled
on hold + fulfilled
On hold
on hold + fulfilled + unfulfilled
Partially fulfilled
on hold + on hold
On hold
A merchant-side developer walked into this in December 2025:
“According to the documentation, when we query the orders object via the GraphQL API, we expect the displayFulfillmentStatus value to be IN_PROGRESS, but this does not happen.
Instead, we see the status UNFULFILLED.”
— Philip_Zhavrid, Shopify developer forum thread 27055 , 11 December 2025
He answered himself the next day: It turns out that the IN PROGRESS status at the order level is set when all line items have the IN PROGRESS status. To find out the status of a specific line item, you need to look into the fulfillment group. So it is not a bug and works as it should. That is a developer reading the API, not a store owner reading the admin — and it is the conclusion this section is built on.
The order badge is an aggregate, and aggregates hide their inputs.
Running several suppliers at once is its own problem; we took it apart in how growing stores manage multiple suppliers without fulfillment chaos .
Goods can be physically present while a process or payment state remains unresolved.
One move: When a badge and a supplier disagree, drop one level. Open the fulfillment order, then read the request status.
The disagreement usually resolves in that one field.
Why Shopify Order Status Is Not Updating After Your Supplier Ships
**The goods left the warehouse. The tracking number exists. The Shopify order status has not moved.**
Sound familiar? Then the failure is in the write-back, not in the shipping.
Start with the right question: it is not “when will it ship”. It is “what has Shopify’s record caught up to”.
A shipped order that still reads Unfulfilled needs reconciliation; it does not, by itself, prove a failed write-back — normal sync windows, bulk-fulfillment settings and deliberate delay settings can all produce the same look.
Once those are ruled out, five documented shapes remain: an app that requires manual write-back, a request still hanging open, line items that no longer match, a fulfillment split across records, or a location or connection problem in the plumbing.
Before treating any of the five below as a fault, rule out the ordinary explanations first: the app’s normal sync window may not have elapsed yet, a bulk-fulfillment setting may be waiting for every tracking number in the batch before it writes anything, or a deliberate delay setting may be doing exactly what it was configured to do.
Check that app’s own settings and documentation before you check its error logs.
Five ways the write-back fails
One: confirm which write-back flow the app uses. Shopify describes an operational split, as of August 2026: Dropshipping apps: Some automatically mark items as fulfilled when they ship an order. Others require you to order your customer's items within the app. That sentence describes what the app requires you to do, not proof that either kind fails to write back — but it does mean you are checking two different flows, and the answer for which one you have is in that app’s own documentation rather than in Shopify’s.
Two: a fulfillment request is still hanging open on the Shopify side. A third-party fulfillment provider publishes this as its own troubleshooting article , last updated 28 July 2025: When there is a fulfillment request on Shopify, the Shopify fulfillment appears with the status Fulfillment in progress and there is a Requested tag next to the fulfillment location. In that case, Bigblue can't push the Fulfilled status. That is a European provider describing its own pipeline, not a China supplier, and not an industry standard.
What it does show is that one provider met this shape often enough to write a help article about it.
Three: the line items no longer match. From the same article: For Bigblue to mark the Shopify line items as fulfilled, the line items need to match on both platforms. Swap a variant, edit an order after it was pushed, and the write-back has nothing to attach to.
Four: the fulfillment got split. Also from the same page: When the Shopify order's line items are split in multiple fulfillments, Bigblue can't push the Fulfilled status.
Five: the plumbing broke, and this one has nothing to do with anybody’s warehouse. The AliExpress app DSers documents it in an article dated 3 August 2026.
One case is a location conflict : the product’s location is tied to a different app, and the error reads Due to Shopify requirements, DSers can only fulfill orders containing DSers-Managed items.
The other is simpler and nastier: The connection between Shopify and DSers is interrupted, blocking fulfillment status updates. A dropped connection does not announce itself.
It just stops moving badges.
Tracking numbers that exist but never move are their own problem . Two merchants described the symptom almost twenty-one months apart, in almost the same words.
Neither one is an example of the five shapes above; read them for the symptom, not the cause:
“I updated orders as fulfilled but the status is still showing in progress status. The orders have been paid in full and delivered.
There is no issue with the order but it still shows as In progress on the Shopify side.
I have clicked the orders and tried to mark as fulfilled; however they remain in the status of in progress. How can get this cleared up?”
— angiegifts, Shopify Community thread 256029 , 3 October 2023
“We are using a 3rd party fulfillment centre to ship our orders. But the order status is not changing to Fulfilled after they ship an order.
Our store is connected to them using a Private App. They’ve told me that Shopify need to approve the Admin API permissions so that “Fullfillment [sic] Services” is set to “Read and Write”.”
— MarkGa, Shopify Community thread 89500 , 7 January 2022
When the hold belongs to Shopify, not your supplier
When the hold belongs to Shopify, not your supplier
System hold
What triggers it
Timing, where we found one in that hold’s official description
Marketplace authorization pending
A sales channel such as Facebook or Google running its own checks
5 minutes to 24 hours
Managed Markets authorization pending
Shopify Managed Markets running duty and tax checks
5 minutes to 24 hours
Pending upsell offer
A post-checkout upsell app
Remains On hold for one hour
Awaiting return items
An exchange or return flow
Released manually
Unknown delivery date
A pre-order or selling plan
We did not read one in that description
Those durations describe Shopify’s own holds. They are not a supplier’s promise about anything, and I would not carry them into a supplier conversation.
The next line is my inference, and I am labelling it as one.
If the order sits in one of those three holds, the trigger for that hold is a sales channel, Managed Markets, or an installed app — not the supplier’s warehouse.
That does not rule out a separate stock or warehouse delay happening at the same time; it only tells you where this particular hold came from.
Identify and clear the hold first, then keep checking the record for other causes rather than assuming the diagnosis is finished.
ASG conveyor and sortation equipment before carrier handoff.
If the write-back keeps failing and nobody on your side owns that handshake, send us what your current handoff looks like — order placed, request sent, write-back landing in Shopify — and we will read those fields with you. Tell us how your orders are handed over
That is the piece of this workflow ASG describes running inside an agreed handoff: the handshake and the write-back between your store and ours, as we self-report it.
It does not extend to your platform account, your product or market decisions, legal or tax advice, or a carrier or customs outcome nobody put in writing.
Takeaway: Rule out the holds Shopify owns before you email anyone overseas. Three of the five documented system holds start inside Shopify or a sales channel.
The Best Argument Against Everything Above
Direct answer: The objection is right about physics and wrong about scope.
No shopify order status field makes a warehouse faster, and no field by itself establishes whether a parcel is late against an actual commitment.
What the fields answer is a narrower, parallel question: how far has Shopify’s own record progressed.
A request sitting unanswered and a supplier who accepted and is waiting on stock need different emails — but confirming which one you have still takes matching physical evidence, not just the field.
Take the strong version first, because it deserves it. If your supplier accepted the request and is waiting for goods to arrive, no amount of reading Shopify’s fields changes that.
That state is published in a 2018 CJdropshipping list describing its Chrome Extension integration: the ninth item reads Pending Shipment: CJ is waiting for the arrival of the purchased products and will move to its shipment later. A seller looking at that has a supply conversation to have, and nothing here fixes supply.
Here is where I hold my ground, narrowed to what the fields actually show. SUBMITTED with no answer tells you the request is unanswered — that is a fact about the record, not by itself a fact about whether the warehouse has started.
A decline that dropped the order back to Unfulfilled tells you the answer was no, not how late anything is.
Whether an order is actually late is a separate question, measured against whatever timeframe you or the platform actually promised the customer — not against handshake state alone.
Two parallel checks, not one: what does the record show, and what evidence exists that the goods themselves have moved.
The milder version of the same objection
The softer form says leave the badge alone and stop optimising a display.
The same supplier documents a choice , on a page dated 5 July 2019, about when tracking numbers get pushed into your store — before dispatch or after — and names the cost of both, at that time.
Flipping early buys a clean dashboard and hands your customer a tracking number with nothing behind it — It will cause a lot of troubles, in their sentence.
Leaving it late is uncomfortable and honest: they write that hanging unfulfilled orders raise cancellation and refund risk.
This is a 2019 description of the setting, offered as a mechanism this class of integration can have, not a claim about how any specific account is configured in 2026.
A triage path that starts with the last irreversible proof.
Scope note: both supplier pages quoted in this article come from the same publisher, dated 2018 and 2019 respectively.
Treat them as one source speaking twice about a specific historical integration, not two companies agreeing and not a description of that supplier’s current 2026 setup.
We found no second China-based supplier publishing a comparable, dated status list.
Takeaway: A clean handshake plus a supplier who has accepted and is waiting on stock means the conversation to have is about supply.
An incomplete handshake means the record has not finished catching up — whether anything is actually late is a separate question, and it is measured against what was actually promised, not against handshake state.
Both sync settings carry a published cost, and whoever controls that setting on your account is the one who should be choosing between them.
Cancel, Refund, or Wait: What You Can Still Do From Shopify
**Reading the wrong field starts costing money right about here.**
Direct answer: Once an order is assigned to an app-integrated fulfillment service with a request/accept flow, you cannot mark it fulfilled or in progress by hand — which action applies next depends on where the request stands.
Cancelling the order, cancelling just the fulfillment request, and refunding your customer are three different actions with three different preconditions; none of these pages decide the refund question for you.
What you cannot do, and the one exception. On Path A (app-integrated, request/accept flow), Shopify’s own restriction stands: you can't manually mark it as fulfilled or in progress. The fulfillment service controls the status. A mail-based custom fulfillment service works differently: marking the order fulfilled by hand is how you trigger it — that action is what sends the service its email with the items to ship.
Which action applies depends on where the request stands:
Cancel, Refund, or Wait: What You Can Still Do From Shopify
Current situation
Action
Fulfillment requested, not yet accepted
Cancel the request, then check the order Timeline for the result
Fulfillment already accepted
Request cancellation, and wait for the service to accept or reject it
Service confirms the cancellation, but Shopify has not synced it back
Confirm the cancellation actually happened first, then revert the order to Unfulfilled
For the first row, Shopify’s own wording carries the same qualifier throughout: If your order is being processed by a third-party fulfillment service, you might need to cancel the order through that service's system before canceling in Shopify. Check with your fulfillment partner for their cancellation process. Read the qualifier — you might need to, and cancelling inside Shopify alone may stop nothing.
There is a hard limit too: After an order is partially fulfilled, you can't cancel it.
For the second row, the same handshake field that records Requested and Accepted also carries a cancellation branch: Shopify’s request-status enum documents CANCELLATION_REQUESTED, CANCELLATION_ACCEPTED and CANCELLATION_REJECTED as valid states for a fulfillment order.
A rejected cancellation means the supplier declined to stop — read that as “they are still filling it,” which is what the value itself implies, not a sentence Shopify writes out for you.
For the third row, the documented move is manual, and it carries a precondition that is the important half: You need to contact your fulfillment service to confirm the fulfillment is canceled to complete this step. Reverting first and confirming later is how a store ends up shipping a cancelled order — and does not by itself tell you whether the stock is actually back and available.
One distinction worth keeping straight: cancelling an order, cancelling a fulfillment request, and refunding a customer are three separate actions, and only the first two are decided by the table above.
Whether you refund is not something a status field settles for you — that decision also sits alongside applicable law, your customer’s rights, and the order’s payment status, not only your own judgement.
The dispatch boundary where warehouse custody can transfer to a carrier.
Keep this intact: Cancelling in Shopify may not cancel anything downstream. Confirm with the supplier before you revert the badge, not after.
Final Thoughts: Your Customer Is Reading a Different Word
**While you argue with your supplier about Processing, your customer is looking at a third vocabulary that neither of you controls.**
Direct answer: The customer-facing order status page runs five words: Confirmed, On its way, Out for delivery, Delivered, Attempted delivery.
Your customer sees Confirmed while you see Unfulfilled. Neither of you is looking at the supplier’s word.
The page can already show order-confirmation content before any fulfillment exists; what it cannot yet show is shipping or tracking information that depends on a fulfillment record being written.
Shopify defines Confirmed as A customer created an order, but you haven't shipped or fulfilled the order yet.
That is a record state, not independent proof of what is physically happening — the whole point of this article is that the record and the warehouse can be out of step, and Confirmed is Shopify telling the customer what its own record currently says, not confirming that nothing has moved.
The order status page documentation , as of August 2026, makes one dependency explicit — self-serve tracking, specifically, depends on a fulfillment record: After you add tracking numbers to shipments, customers can return to this page to check the status of their shipment without contacting you directly. The order-confirmation content on that same page is available earlier; it is only the tracking piece that waits on fulfillment.
I am not going to put a number on that inbox. I chased the figures that circulate about post-purchase ticket volume, and the ones I checked ended at an article citing another article.
There may be a sound one I did not find; I am not using these.
What is on the record is narrower. Narvar , a vendor selling post-purchase software, published survey findings in November 2025 from a national survey of 3,461 U.S. online shoppers in August 2025, reporting that when things go wrong shoppers want acknowledgement (46%), clear explanations (46%), and real-time updates (45%) before they have to ask.
Read that with the vendor’s interest in mind. It points at a direction, not a magnitude.
One thing worth doing this week, and it needs no new tool. Put your supplier’s status list next to Shopify’s seven, two columns on one page.
Then write on it whether their tracking syncs before or after dispatch.
Apply the same test to us. This article says a supplier’s status update should carry a stage name from their own list, what that stage means physically, and whether a tracking number was issued before or after dispatch.
ASG is a supplier too, and this article has not printed our stage list.
Ask us for that stage list and the same answer on tracking sync, then judge us by the answer rather than this paragraph. Ask us for the stage list
That test covers the handshake and the write-back we run inside an agreed handoff.
It does not cover your platform account, your product or market decisions, legal or tax advice, or a carrier or customs outcome nobody put in writing.
The stores that stop losing days to a shopify order status mismatch wrote down both vocabularies, then stopped guessing at the translation.
A status badge summarizes the fulfillment Shopify has recorded for the order — it identifies neither the last writer nor the goods’ physical location.
This article describes published platform documentation, published supplier pages and merchant posts. Product, factory and route change what any of it means for your store.
A warehouse scan station that can create the event used for tracking writeback.
Quick Answers About Shopify Order Status
What does Unfulfilled mean on a Shopify order?
It means Shopify has not recorded the order’s items as fulfilled at the order-display level.
It does not prove the supplier has not started work, and it does not mean no fulfillment order exists underneath.
Is Processing one of Shopify’s fulfillment statuses?
Not as a stage on the three pages we read; the glossary keeps only a legacy anchor to Fulfillment time. One supplier’s own list calls stage ten Processing.
Does a third-party fulfillment service control the order badge?
Largely. Shopify states the service controls the status once an order is assigned to it, and marks it in progress on acceptance.
Does In progress mean the supplier accepted the order?
Not necessarily. Requested and Accepted both display as In progress; you have to open the detailed status to tell which one you are looking at.
Do merchants need the supplier’s system to cancel an order?
Sometimes. Shopify’s wording is that you might need to cancel there first, then in Shopify, and to check their process.
The Shopify connection method determines which handoff records the order status can expose.
Frequently Asked Questions
What is the difference between a fulfillment order and a fulfillment request?
A fulfillment order is the work item: this batch of goods, from this location. A fulfillment request is the message asking a service to do that work.
The request has its own status, with eight documented values, including one meaning it was never sent. So a fulfillment order can exist while no request has left your store.
How do I tell whether my supplier is an assigned fulfillment service or an app that writes fulfillments directly?
Confirm the fulfillment item’s assigned location, service, and integration — that is the actual record.
A Fulfillment in progress block, or a disabled manual “mark as fulfilled” option, is only a clue, because holds and scheduled fulfillments can produce similar UI without an assigned service.
Path A is an app-integrated service the merchant requests and the supplier accepts.
Path B covers direct writes, which includes Shopify’s own mail-based custom fulfillment service alongside other app-integrated setups.
Does manually marking an order fulfilled change anything on the supplier’s side?
It depends on the integration. For Shopify’s mail-based custom fulfillment service, marking an order fulfilled sends the service an email listing the items to ship.
For an app-integrated request/accept service, manual marking can be unavailable in the first place.
For other direct-write setups, confirm the actual integration behavior with your supplier or app before assuming either way.
What should a supplier’s status update contain before I trust it?
A stage name from their own list, not a Shopify word and not a translation into one. What that stage means in physical terms.
And whether a tracking number, if one exists, was issued before or after dispatch — without that third item, a tracking number tells you a label was created, and nothing more.
We ask ASG the same three questions higher up in this article.
Should I contact my supplier or Shopify first when the badge does not move?
Neither, first. Rule out a hold Shopify created itself and a broken app connection.
Then read the handshake on your path — Path A or Path B — before you write to your supplier at all.
External Sources
Shopify — Understanding your order statuses — the seven merchant-facing fulfillment statuses
Shopify — Understanding order status pages — the five customer-facing statuses
Shopify — Order fulfillment and shipping terminology — the fulfillment terminology glossary, including the legacy #processing-time anchor
Shopify — Order status page — self-serve tracking depends on a fulfillment record (as of August 2026)
Shopify — Fulfilling orders using a fulfillment service with an app — Requested vs Accepted, Timeline, decline notes, manual revert
Shopify — Fulfilling your own orders individually — the fulfillment service controls the status
Shopify — Marking your order as on hold — multi-fulfillment derivation table and the five system holds
Shopify — Canceling orders — cancelling through the fulfillment service’s system
Shopify — OrderDisplayFulfillmentStatus — ten order-level values, three marked as replaced
Shopify — FulfillmentOrderStatus — seven fulfillment-order values
Shopify — FulfillmentOrderRequestStatus — eight handshake values
Bigblue — Why is my Shopify order not “Fulfilled”? — a fulfillment provider’s own three failure modes (last updated 28 July 2025)
DSers — Shopify orders stuck in Awaiting Fulfillment — location conflict and dropped store connection (3 August 2026)
CJdropshipping — How to tell which orders have been processing by CJ — one supplier’s published status list, dated 22 November 2018, a historical CJ integration example rather than current-account verification
CJdropshipping — Sync tracking numbers before or after dispatch — the same publisher on the sync setting, dated 5 July 2019, also a historical CJ integration example rather than current-account verification
Narvar — State of Post-Purchase press release — vendor survey, 3,461 U.S. shoppers, August 2025 (published 6 November 2025)
Shopify Community thread 256029 — merchant post quoted above (3 October 2023)
Shopify Community thread 89500 — merchant post quoted above (7 January 2022)
Shopify Community thread 82847 — merchant post quoted above (4 December 2021)
Shopify Community thread 146552 — merchant post quoted above (26 August 2022)
Shopify developer forum thread 27055 — merchant-side developer post quoted above (11 December 2025)
ASG Data Note
This article carries no ASG operating figures — no order volumes, defect rates, delivery windows, start-year claim, customer case, or performance promise.
ASG-related service descriptions are company descriptions bounded to an agreed handoff; this public-source review did not independently verify them as operating records.
The diagnosis rests on published platform documentation, two supplier pages, one fulfillment provider’s help article, one vendor survey and five merchant posts, all linked above.
Where a claim is our reading rather than a quoted line, we said so in the sentence itself.
Two scope statements belong here. The absence of a Processing stage was tested on three Shopify pages, and holds for those three only.
The two supplier-side pages come from one publisher and display 22 November 2018 and 5 July 2019; they describe historical CJ integration behavior, not verified 2026 account behavior.
Treat them as one company’s historical description, not a current pattern.
This article does not print ASG’s own stage names or say when we sync a tracking number relative to dispatch — that is a knowledge-base decision we have not made public here, not an oversight.
One more piece of reading, if your order is sitting in customs rather than in a status field: HS codes and product descriptions in DDP shipping from China .