Shopify unfulfilled vs fulfilled is not a cosmetic label — it is the operational signal that tells your admin which orders still need action and which are complete. On a South African Shopify store, every new order arrives marked Unfulfilled by default; your job is to move it to Fulfilled once the parcel has been booked and is on its way to your customer.
Between those two states sit five more statuses — In Progress, On Hold, Scheduled, Partially Fulfilled, and Fulfillment Not Required — each representing either a stage in the journey or an exception you need to resolve.
Knowing what each label means and what action it demands from you is the foundation of a clean order workflow. In South Africa this plays out differently to what global Shopify guides typically describe: there is no native Shopify integration with local couriers, which means the "fulfilled" trigger requires deliberate manual steps rather than an automated handshake. And because ECTA gives South African consumers a 7-day cooling-off right calculated from the date they receive the goods, your status records also serve as a legal timestamp — not just an admin convenience.
Quick Answer
Shopify unfulfilled vs fulfilled: Unfulfilled means an order has been placed but no shipping action has been taken. Fulfilled means all items in the order have been shipped and the customer has been notified. Between these two states, Shopify offers five additional statuses — In Progress, On Hold, Scheduled, Partially Fulfilled, and Fulfillment Not Required — each signalling a specific stage or exception. For most South African stores shipping physical goods, manual fulfillment is the correct setting, and you should only mark an order as fulfilled once you have a tracking number from your courier to attach.
In This Guide
Is your orders dashboard showing statuses you're not sure how to act on?
Share a screenshot of your current workflow and we will pinpoint exactly where your fulfilment process needs tightening.
Get a Free Workflow ReviewShopify Unfulfilled vs Fulfilled: All Seven Order Statuses Explained
The Shopify unfulfilled meaning is exact: an order where none of the items have been picked, packed, or dispatched. Equally, the Shopify fulfilled order status has a precise definition: all items shipped, the customer notified. Each of the seven values in between represents a definite stage in the order lifecycle. The table below maps every status to its meaning and the action it should prompt for an SA store owner.
| Status | What It Means | Action Required (SA Store) |
|---|---|---|
| Unfulfilled | Order placed; no shipping action taken yet | Pick, pack, and book your courier — the order is waiting on you |
| In Progress | Fulfillment has been started (e.g. requested from a fulfillment service) | Confirm the shipment is moving; update if there are delays |
| On Hold | All unfulfilled items are blocked — inventory reserved but processing paused | Resolve the hold reason (fraud flag, stock issue, upsell window) then release |
| Scheduled | Pre-order or subscription order awaiting a fixed fulfillment date | No action needed until the trigger date; monitor for stock availability |
| Partially Fulfilled | Some items shipped; others are still outstanding | Ship the balance or communicate an ETA to the customer proactively |
| Fulfilled | All items in the order have been shipped | Monitor delivery; be ready to handle returns within the ECTA window |
| Fulfillment Not Required | No physical shipment needed — order was cancelled, refunded, digital, or a product was configured with no shipping required | No shipping action needed; check that refund processing is complete |
Key Point
Shopify's admin confirms "Unfulfilled" as the state where none of the items in an order have been fulfilled, and "Fulfilled" as the state where all items have been shipped. Every status in between is a stage on that journey or a reason why the journey has stalled. Your admin is cleaner when every order is in the status that truthfully reflects its physical state. The full reference is available in Shopify's order status documentation.
The Processing Decision: Manual or Automatic?
Manual fulfillment means Shopify marks an order as Fulfilled only when you deliberately trigger it — after picking, packing, and booking the courier; automatic fulfillment marks it Fulfilled the instant payment clears. For South African stores shipping physical goods, manual is the correct choice: it keeps your dashboard aligned with what has actually shipped rather than what has been paid for.
Shopify's own guidance is direct: choose manual fulfillment when you make products to order, sell pre-orders, sometimes run out of stock, or want to offer partial fulfillment without issuing a refund. Manual processing keeps your dashboard accurate because an order only becomes Fulfilled when you deliberately trigger it — after picking, packing, and booking the courier.
Choose automatic fulfillment only if you exclusively sell digital downloads or gift cards, or if a fulfillment service handles every product in your catalogue via its own API integration. Enabling automatic fulfillment on a store that ships physical goods is a common mistake: the moment payment clears, every order is marked Fulfilled — before you have touched a single box. The result is customers receiving shipping confirmations for parcels that have not moved, and an inbox full of "where is my order?" messages.
What to avoid: Enabling automatic fulfillment on a mixed catalogue that includes handmade or made-to-order items. One slow product on an auto-fulfilled order means the customer gets a "your order is on its way" email the moment they pay — and then silence for three days while you actually make the item.
What works: Keeping manual fulfillment on and building a daily processing routine — open unfulfilled orders each morning, book your courier, enter the tracking number, and mark as fulfilled. Customers get a confirmation email with real tracking data, not a placeholder notification.
One additional note for SA stores that have enabled manual payment capture: Shopify requires you to capture payment before an order can progress through fulfillment. If you are reviewing high-value orders before charging a card, capture funds before you trigger fulfillment.
When and Why to Place an Order on Hold
An order placed on hold keeps inventory reserved but prevents any fulfillment action until the hold is released — a useful circuit-breaker for several SA-specific scenarios. Your Shopify unfulfilled orders list will not include held orders in the standard processing queue, which helps you focus on what can actually move today.
Shopify triggers an automatic hold in these situations: a high fraud risk flag, insufficient inventory, an order value that exceeds a set threshold, a marketplace authorisation window of up to 24 hours, a pending post-purchase upsell offer (up to one hour), or exchange items waiting for returned merchandise. You can also place a manual hold yourself at any time through the Shopify admin or mobile app, and a single fulfillment can carry up to 10 simultaneous holds.
For South African stores, fraud holds are worth taking seriously. Shopify scores every order Low, Medium, or High risk based on signals including address verification, IP address, and purchase patterns. Because Shopify Payments is not available in South Africa, local payment gateways (PayFast, Peach Payments, Ozow) handle the transaction — which means Shopify's fraud score is your primary built-in filter before you ship. A High-risk flag on the orders page (the warning symbol next to the order number) should pause your picking process until you review the signals manually or through a fraud-prevention app.
To release a hold: navigate to the order, find the hold detail, and click Release hold. The order returns to its previous status — typically Unfulfilled — and you can proceed with fulfillment.
Fraud Hold Practice
If you receive a high-risk order, do not ship until you have reviewed the fraud indicators. Use manual payment capture so that you collect funds only after you are satisfied the order is legitimate. Releasing inventory on a fraudulent order creates a refund liability and a courier cost you will not recover.
Partial Orders and Backorder Management
Partially Fulfilled means some items in an order have been shipped while others are still outstanding — a status that appears when you split a single order across multiple shipments or when a backorder situation forces a staged dispatch.
This status is especially common for SA stores that carry both in-stock and made-to-order products in a single catalogue. A customer ordering three items may receive two within 48 hours and wait two weeks for the third. Shopify handles this correctly when you fulfil items individually rather than the whole order at once: mark the in-stock items as fulfilled with their tracking number, and the order moves to Partially Fulfilled rather than jumping to Fulfilled prematurely.
The customer communication piece is critical here. When an order splits into multiple shipments, each fulfillment generates its own shipping confirmation email — so a customer who ordered three items could receive two or three separate notifications. If that feels disjointed, turn off Shopify's default shipping confirmation (Settings → Notifications → Customer notifications) and send a single, custom message through your email platform (Omnisend or Klaviyo both support Shopify order events) that covers the split clearly.
For backorder items, consider reaching out proactively before the customer emails you. A brief message explaining the ETA for the outstanding items — sent the day you dispatch the first parcel — is far less friction than a dispute 10 days later.
Not sure which fulfilment setup fits your product mix?
Tell us your catalogue type and current courier arrangement and we will map out the right Shopify fulfillment configuration for your store.
Get Your Setup MappedThe SA Courier Integration Gap
South African stores face a practical hurdle that global Shopify guides skip: there is no native Shopify integration for local couriers. The Courier Guy, Dawn Wing, PostNet, and RAM all require a third-party app or manual workarounds — the plug-and-play carrier-calculated shipping that merchants in the US enjoy with USPS and FedEx does not exist for SA carriers out of the box.
This means the "add tracking number when you fulfil" step is not optional — it is the only way your customer gets real tracking data. The process:
- Go to Orders in your Shopify admin
- Select the unfulfilled order
- Click Mark as fulfilled in the Unfulfilled items section
- Enter the tracking number from your courier's waybill or booking confirmation
- Select the carrier from the dropdown — if your courier is not listed, select Other and paste the tracking URL manually
- Check the box to send a shipping confirmation to your customer
- Click Mark as fulfilled to confirm
If you use a dedicated SA shipping app — Bob Go, ShipRazor, Fastway Couriers SA, or SkyNet South Africa are all available on the Shopify App Store — the app typically syncs tracking numbers back to the order automatically and triggers Shopify's fulfillment event. In that case, disable Shopify's native shipping confirmation email to avoid your customer receiving two separate notifications from two different systems.
For further detail on choosing and configuring SA courier integrations, the ecommerce fulfilment guide for SA stores covers cost comparison, zone coverage, and API integration options side by side.
Legal Obligations Triggered by Your Order Status
Your fulfillment status records are also evidence — particularly relevant in South Africa where the Electronic Communications and Transactions Act (ECTA) creates a consumer right that runs from the physical delivery of goods, not from the date of purchase.
Section 44 of the ECT Act gives South African online buyers a 7-day cooling-off period calculated from the date they receive the goods. The consumer can cancel without reason or penalty within that window — subject to statutory exceptions in Section 44: perishable goods, items made to the consumer's specifications (custom orders), opened audio/video recordings or software, newspapers and periodicals, and services already fully performed with the consumer's consent are all excluded. If your catalogue includes handmade, made-to-order, or custom products, check your specific items against the Section 44 exclusion list. Shopify fulfilled orders in South Africa carry a timestamp — the date you marked fulfillment and the tracking data confirming delivery — that establishes exactly when that clock started.
This right is distinct from the Consumer Protection Act's 5-business-day cooling-off period, which applies specifically to direct-marketing sales. Do not conflate the two: ECTA's 7-day window applies to standard online purchases; the CPA's shorter period applies where the sale was made via direct marketing.
Practical implications for your Shopify workflow:
- Do not mark an order as fulfilled before the parcel is booked. An early "fulfilled" timestamp misrepresents when the delivery clock started and can create liability if a customer tries to exercise their ECTA right.
- Keep your tracking records. The tracking number attached to a Shopify fulfilled order is your proof of dispatch date. Shopify retains these records, but exporting order data periodically is good hygiene.
- ECTA refund obligation: If a consumer cancels within the 7-day window, you are required to refund within 30 days. Your Shopify refund workflow should be set up to process this through the same payment method used at checkout.
Status Accuracy Is a Legal Matter
In South Africa, the date your order moves to Fulfilled is a timestamp your customer can use when exercising ECTA rights. Mark it accurately — when the courier has the parcel — not when you decide to dispatch, and not after the fact to tidy your dashboard.
Ready to build a Shopify store with clean operations from day one?
Book a no-obligation consultation and we will outline a store setup and fulfilment workflow that fits your products and your courier arrangement — and holds up under local legal requirements.
Book a Free ConsultationWhy South African Businesses Choose Growth Pulse Media
Getting Shopify unfulfilled vs fulfilled right in South Africa is a workflow problem as much as a knowledge problem — and it is the kind of detail that Growth Pulse Media, founded and run by Dirk van Greuning, handles for SA merchants every day.
Dirk built and scaled a large South African ecommerce business before founding the agency. That background means the fulfilment and order management perspective here draws from SA ecommerce practice rather than global templates — someone who has personally navigated the SA courier landscape, the absence of Shopify Payments, and the ECTA obligations that most global Shopify guides do not address.
As a Registered Shopify Partner and Omnisend Certified Partner, Growth Pulse Media works with a limited number of clients at any given time, which means every store gets senior attention rather than a junior account manager learning on your catalogue. The team handles everything in-house — no subcontracting, no white-labelling — and integrates platform configuration with the kind of marketing that drives traffic to a store worth landing on.
If you are building or optimising a Shopify store for the SA market, the Growth Pulse Media Shopify marketing service covers store setup, email automation through Klaviyo and Omnisend, and paid acquisition — all with SA payment gateways, local courier workflows, and POPIA-compliant data handling built in from the start.
Who This Is NOT For
Dropshipping stores where the supplier fulfils directly. If your supplier's system pushes fulfilled status and tracking to Shopify automatically via a dropshipping app, you will not interact with manual status changes. Your workflow is managing the supplier relationship, not the Shopify fulfillment panel.
Digital-only stores (ebooks, courses, licence keys). If your catalogue contains no physical goods, automatic fulfillment is the correct setting — orders are fulfilled the moment payment clears and there is no parcel to track. This guide's manual workflow does not apply to you.
Brick-and-mortar POS-only stores with no online shipping. If every sale is a face-to-face transaction where the customer leaves with the goods, POS orders are auto-fulfilled at point of purchase. The unfulfilled-to-fulfilled workflow described here is for stores with a delivery component.
Stores using a 3PL with full API integration. If a third-party logistics provider (3PL) has direct API access to your Shopify store and pushes status and tracking updates automatically, your orders will move through statuses without manual intervention. The manual workflow is redundant — your priority is monitoring the 3PL's API connection for errors.
Frequently Asked Questions
What does an order marked as Unfulfilled mean in my admin?
Unfulfilled is the default status for every new Shopify order. It means the order has been placed and paid (or payment is pending), but no action has been taken to pick, pack, or ship the items. An Unfulfilled order is waiting for you to process it — it should not stay in that state for long if you have stock on hand.
Does marking an order as Fulfilled automatically send a notification to my customer?
Only if you choose to send one. During the fulfillment process, Shopify prompts you to check a box labelled "Send a notification to the customer now." If you have the customer's email address on file and you check that box, Shopify sends a shipping confirmation email that includes any tracking number you entered. If you uncheck it, no email is sent — which is useful if your courier app is going to send its own tracking notification.
Can I change an order back to Unfulfilled after marking it as Fulfilled?
Not directly through the standard admin interface — once an order is marked as Fulfilled, that status change cannot be reversed by simply clicking a button. If you fulfilled an order in error, you would need to create a return or contact Shopify support. This is why accuracy matters: only mark an order as fulfilled when the parcel is actually booked and handed to the courier.
What is "Fulfillment Not Required" in Shopify?
Fulfillment Not Required appears when no physical shipping action is needed. This happens when all items in the order have been cancelled or refunded, when the order contained only digital products (handled via automatic fulfillment), or when a product was set up with no shipping required. It is not an error state — it simply means the order is closed without a physical dispatch.
How do I add a tracking number when fulfilling a Shopify order?
Navigate to the order in your Shopify admin, click Mark as fulfilled in the Unfulfilled items section, and enter the tracking number provided by your courier in the Tracking number field. Shopify will attempt to auto-detect the carrier; if your SA courier is not recognised, select Other from the carrier dropdown and paste the courier's tracking URL manually. The tracking number is stored against the order and, if you send a notification, included in the customer's shipping confirmation email.
Get Your Shopify Store Running Cleanly
Growth Pulse Media sets up Shopify stores for South African merchants with the right fulfillment workflow, local payment gateway configuration (PayFast, Peach Payments, Ozow), and the email automation to keep customers informed at every stage. As a Registered Shopify Partner with hands-on SA ecommerce experience, we handle the detail that global guides miss.
No obligation — we'll get back to you within 24 hours.
Start the Conversation

