A Shopify custom fulfillment service is a third-party provider — a warehouse, packing partner, or logistics operator — that receives your order details by email when you mark orders as fulfilled in your Shopify admin. If you're new to the platform, our complete Shopify in South Africa guide covers the broader build and launch picture; this post goes deep on this specific feature: what it does, how to configure it, and when it's the right choice for your store.

As SA ecommerce order volumes grow, merchants need practical ways to connect their Shopify store to local fulfillment partners without a costly app integration or a developer build. The custom fulfillment service feature is Shopify's lightweight answer to that — but it carries a limitation you need to understand before you go live with it.

Below: what the feature actually does, a step-by-step setup guide, a decision table comparing it to app-based alternatives, and an honest breakdown of where it falls short.

Quick Answer

A Shopify custom fulfillment service connects your store to a third-party provider using email: when you mark an item as fulfilled in your admin, Shopify sends the provider an order notification email. Setup takes five minutes in Settings > Shipping and delivery > Add fulfillment service. The key trade-off is manual tracking — unlike app-based integrations, order statuses don't update automatically in your Shopify admin when the provider ships.

Not sure which fulfillment setup fits your store?

Send us your current order flow and we'll show you where the email-based route helps — and where it creates manual overhead you can't afford at scale.

Get a free fulfillment review

How Shopify's Email-Based Fulfillment Option Works

When you mark an order as fulfilled in your Shopify admin, the platform emails your provider the order and customer details, including which items to ship — that triggered notification is the entire integration. There is no Shopify portal for your provider to log into, no API handshake, and no app required on their side. This email-based approach is one of three fulfillment methods Shopify supports natively, and it works only when your provider can receive and act on email-based order instructions.

MethodHow orders reach the providerStatus updatesBest for
Self-fulfillmentYour team picks and packsYou update manuallyEarly-stage stores, bespoke or perishable products
Custom fulfillment serviceShopify emails the provider on fulfillment triggerManual — you enter tracking once provider confirmsEmail-capable 3PL, lower-to-mid volume outsourcing
App-based integrationAPI or webhook — automaticAutomatic real-time syncMid-to-high volume, SA courier rate-shopping

The constraint in the table matters: the email-based route has no automatic sync. If your store's customer-service team, post-purchase email flows, or inventory reporting depends on real-time order status updates in Shopify, you'll be entering those updates manually for each shipment dispatched.

The essential trade-off

A custom fulfillment service requires only that your provider can act on an email. No app install, no API key, no developer setup needed. That simplicity is its main advantage — and the source of its main limitation. The moment your provider needs webhook triggers, automated waybills, or direct API access, you've outgrown this feature.

When a Custom Fulfillment Service Suits Your SA Store

A custom fulfillment service is the right choice when your provider works by email, you are at a volume where manual tracking remains manageable, and you don't yet need the real-time data visibility that app-based integrations provide.

Shopify's own enterprise guidance recommends considering outsourcing fulfillment once you're dispatching more than 10 to 20 orders per day. Below that volume, self-fulfillment is often simpler. Above that volume, the manual tracking overhead of the email-based route — checking on each shipment, chasing confirmations, logging waybills one by one — tends to undercut the setup simplicity. Use app-based integration when that threshold becomes your daily reality.

SA context: which providers suit this setup?

Many smaller SA warehouse operators and regional packing services are not yet integrated into an app ecosystem. If your 3PL handles inventory from a Johannesburg or Cape Town warehouse and communicates primarily by email, the custom fulfillment service is a workable connection without app cost or developer time. Established SA platform-integrated options — Bob Go, Shiplogic, and direct integrations offered by some larger logistics providers — are better suited to stores shipping higher volumes or needing automated waybill generation and courier rate-shopping across The Courier Guy, Aramex, Dawn Wing, and RAM.

A custom fulfillment service South Africa merchants use most often connects a regional warehouse or packing partner that handles a focused product range — not a high-volume omnichannel dispatch operation. If your provider already uses a courier platform with a Shopify app, skip the email setup and go straight to the integration. Use this checklist before choosing the email-based route:

  • Your provider can reliably process the order details Shopify sends in its fulfillment email
  • You are not relying on real-time tracking auto-sync for post-purchase customer communications
  • You have a workflow for manually entering tracking numbers once your provider confirms dispatch
  • Your current order volume makes manual order-by-order tracking manageable without becoming a bottleneck

How to Set Up a Shopify Custom Fulfillment Service

Setting up a Shopify custom fulfillment service takes five steps entirely inside your admin — no app install, no API key, no developer required.

  1. Open your Shopify admin and navigate to Settings > Shipping and delivery.
  2. Find the Custom order fulfillment section and click Add fulfillment service.
  3. Enter your provider's name in the Name field — use the name you and your provider will both recognise on emails and invoices.
  4. Enter their email address — Shopify will send fulfillment notification emails to this address whenever you trigger fulfillment for assigned products.
  5. Click Save. The service now appears as a location option when you assign products to it.

What the fulfillment email contains

When you mark an order as fulfilled, Shopify sends your provider an email with the order and customer details, including which items to ship. Shopify's documentation describes this as "order and customer details" — verify directly with your provider that any notes you add to orders are captured in their workflow, as the documented scope doesn't specify every field. Your provider works from this email directly; there is no separate Shopify portal for them to log into.

Before you go live, test your Shopify fulfillment setup end-to-end with a single order: trigger the fulfillment, confirm your provider receives the notification email, and have them send you a test tracking number before you enter it manually in the admin. This catches address-format or email-deliverability issues before they affect real customer orders.

If your provider needs more than email to process orders — webhook notifications, automated waybill creation, or direct API access — the email-based route won't be sufficient. Shopify's custom fulfillment service documentation recommends either finding an app that integrates with your provider, or engaging a Shopify Partner to build a custom app that connects directly to the Shopify API.

Assigning Products to Your Fulfillment Service

Adding a fulfillment service in settings does not automatically route orders to it — you must assign each product explicitly. This per-product step tells Shopify which items should trigger an email to the service when you mark them as fulfilled.

  1. From your Shopify admin, go to Products.
  2. Click the product you want to route through the service.
  3. Scroll to the Inventory section.
  4. In the Inventory will be stocked at dropdown, select your fulfillment service.
  5. Click Save.

Repeat for each product the service will handle. You can mix fulfillment methods across a single order — some items fulfilled by the service, others shipped by you or via a separate app-based provider. An order only shows as fully "Fulfilled" once all items across all locations have been dispatched.

Shopify also supports stocking the same product at both your custom service location and your own warehouse simultaneously. This is practical if you keep emergency backup stock at your premises for urgent replacements while the service handles routine daily dispatch.

Reassignment before deletion

If you later need to remove a custom fulfillment service, you must first reassign all products and resolve any open unfulfilled orders linked to it. Shopify won't let you delete the service while it has assigned inventory or pending orders attached.

Fulfilling Orders and Managing Tracking Manually

Marking an order as fulfilled in your admin is the trigger that sends the email to your provider — and it requires your manual action for each order you want dispatched.

The standard workflow once the service is live:

  1. An order comes in; assigned items show as unfulfilled.
  2. When ready for dispatch, go to the order in your Shopify admin and click Fulfill items.
  3. Select the items to route to the service and confirm.
  4. Shopify sends the fulfillment email to your provider.
  5. Your provider picks, packs, and dispatches — then notifies you (by email or via their own system) with a tracking number.
  6. Return to the order in your Shopify admin and manually enter the tracking number and carrier.

Step 6 is where the manual load accumulates. Unlike app-based integrations where fulfilled status syncs automatically, a custom fulfillment service will not push tracking updates to your Shopify admin. You communicate directly with your provider to get dispatch confirmations, then log them yourself.

This has a downstream effect on customer-facing communications. If you're running post-purchase email flows through Klaviyo, Omnisend, or Shopify Email that trigger on tracking availability, those flows will only fire once you've manually added tracking to the order. Build this delay into your customer service expectations and SLA commitments — a customer expecting same-day tracking visibility won't get it from this setup unless you have a tight manual routine.

Cancellations and order changes

Shopify does not send a cancellation signal to a custom fulfillment service. If an order needs to be modified or cancelled after the fulfillment email has gone out, contact your provider directly — by email or phone — before they dispatch. Once the provider confirms, update the order status manually in your Shopify admin. Build a response window into your SLA for this: email-based communication means there's no guaranteed real-time acknowledgement.

Custom Fulfillment Service vs. App-Based Integration

The decision between a custom fulfillment service and an app-based integration comes down to whether you can operate with email and manual updates, or whether you need the automation that a direct API connection provides.

FactorCustom fulfillment serviceApp-based integrationVerdict
SetupName + email in admin settingsApp install, API keys, provider configCustom service is faster to launch
Order notificationShopify emails provider when you click FulfillAutomatic via API or webhookApp-based removes manual trigger
Order status updatesManual — you enter tracking yourselfAutomatic sync from provider to ShopifyApp-based keeps Shopify current
Waybill generationProvider generates independentlyOften automated within the appApp-based saves operational time
Courier rate-shopping (SA)Not availableAvailable via Bob Go, ShiplogicApp-based for multi-courier SA stores
App subscription costNoneMonthly fee plus per-shipment chargesCustom service has no added app cost
Provider requirementEmail-capable onlyAPI or app integration requiredCustom service works with any email provider

For SA stores that have grown past the email-based workflow, app-based integrations through Shopify's SA app ecosystem open up courier rate-shopping across local carriers — a meaningful cost reduction when dispatching dozens of orders daily across different provinces. Both routes are legitimate third-party fulfillment Shopify merchants use; the email-based option is a starting point, and the app-based route is where most stores land once volume justifies the monthly cost of automation.

You can also run both methods simultaneously: assign specialist products to your custom service and use a Shopify order fulfillment service app for commodity items dispatched through a courier aggregator. Shopify handles the split within the same order, so customers see a unified purchase even if different locations pick and ship different items.

Read our broader guide on ecommerce fulfilment in South Africa for a comparison of SA-specific 3PL providers and their integration models — useful context when you're evaluating whether your current provider suits the email-based route or needs a more direct connection.

Ready to move beyond manual tracking?

Tell us your current order volume and provider setup. We'll assess whether an app-based integration saves you more than it costs — and which SA couriers give you the best coverage for your routes.

Get a fulfillment fit assessment

Why SA Businesses Choose Growth Pulse Media for Shopify Build and Configuration

Growth Pulse Media approaches Shopify fulfillment configuration from an operator's position — our founder Dirk van Greuning scaled an SA ecommerce business before building the agency, which means fulfillment decisions here are grounded in the actual overhead of manual tracking, split-location inventory, and local courier integration, not documentation summaries. We've worked through these configuration decisions in practice: connecting local warehouse partners, integrating SA couriers, managing split-fulfillment across locations.

We work with a limited number of clients at any time, which means every Shopify configuration decision gets senior attention rather than a junior account manager following a template. Whether you're evaluating whether to connect a local 3PL via email, upgrade to an app-based integration across Bob Go or Shiplogic, or restructure your inventory locations for a B2B wholesale split, our Shopify build and marketing service covers the full setup and ongoing growth layer.

We're a registered Shopify Partner, so where your build needs go beyond admin configuration — custom app connections, API-based fulfillment service integrations, or partner-level store management — we can access the tools and developer account access to handle it. All work is done in-house; no offshore handoff.

When the Email-Based Route Is the Wrong Choice

Stores dispatching consistently more than 10 to 20 orders per day through the same provider

Shopify's own 3PL guidance marks this as the volume at which outsourcing starts to make sense — but once you are outsourcing at that rate, the manual triggering and tracking of the email-based route typically creates more operational overhead than the cost of an automated app integration.

Businesses where customers expect automatic shipping notifications

If your post-purchase flow is built around Shopify or your email platform auto-sending tracking links the moment your provider dispatches, a custom fulfillment service will break that expectation. Tracking links only appear to customers once you manually enter them in the order — and that only happens after your provider notifies you.

Providers that require API access, EDI, or webhook triggers

If your warehouse management system or 3PL platform receives orders via API call, EDI file, or webhook notification rather than email, a custom fulfillment service is the wrong integration method. You need an existing Shopify app that connects to your provider, or a custom-built connection via a Shopify Partner.

Stores that need real-time inventory sync across locations

The email-based workflow does not push inventory level updates back to Shopify automatically. If accurate real-time stock counts are critical to your store's logic — pre-order handling, back-in-stock alerts, or dynamic product bundling based on availability — an app-based integration with automated inventory sync is the right foundation.

Frequently Asked Questions

What is a Shopify custom fulfillment service?

A Shopify custom fulfillment service is a third-party order fulfillment provider that receives order details via email when you mark orders as fulfilled in your Shopify admin. You configure it in Settings > Shipping and delivery by entering the provider's name and email address. It works with any provider that can act on email-based order instructions — no app or API integration required from either side.

Does a custom fulfillment service update order status automatically in Shopify?

No. Unlike app-based fulfillment integrations, a custom fulfillment service does not automatically update order status in your Shopify admin. When your provider ships an order, you need to log into your admin, navigate to the order, and manually enter the tracking number and carrier. The order only shows as "Fulfilled" to your customers and in your reporting after you complete that manual step.

Can I use a custom fulfillment service with SA couriers like The Courier Guy or Aramex?

Yes, if those couriers — or a 3PL acting as intermediary — can process orders from the email Shopify sends. In practice, established SA courier platforms like Bob Go and Shiplogic offer direct Shopify app integrations that provide better automation: automated waybill generation and real-time tracking sync. The custom fulfillment service route works best with warehouse or packing partners who operate by email and don't yet have a direct Shopify app integration.

Can I assign only some products to a custom fulfillment service?

Yes. Product assignment is done individually in each item's inventory settings — there's no bulk-assign option. You can route some products to your custom service while fulfilling others yourself or via an app-based provider. Shopify supports mixed fulfillment within the same order, though the order only shows as fully "Fulfilled" once all items across all fulfillment sources have been dispatched.

What happens if I need to cancel an order already sent to a custom fulfillment service?

Shopify does not automatically send a cancellation signal to a custom fulfillment service. Contact your provider directly — by email or phone — before they dispatch the order. Once you've confirmed the cancellation with your provider, update the order status manually in your Shopify admin. There's no automated recall mechanism, so a quick communication window with your provider is important for time-sensitive cancellations.

Set Up Your Shopify Fulfillment Correctly the First Time

Whether you're connecting a local SA warehouse by email, evaluating a full app-based integration across Bob Go or Shiplogic, or setting up split fulfillment across locations — we'll map the right configuration for your order volume and provider. As a registered Shopify Partner working with SA-based stores, we cover the full local stack: PayFast, Peach Payments, Omnisend, and the courier integrations that actually work in South Africa. No obligation — we'll get back to you within 24 hours.

Get a free Shopify fulfillment consultation
Dirk van Greuning — Founder, Growth Pulse Media
Dirk van Greuning Founder, Growth Pulse Media

Founder of Growth Pulse Media and a specialist in South African search dominance. Dirk translates his experience in scaling South African businesses into high-velocity digital strategies for B2B and retail leaders. He writes about SEO, lead generation, and paid media from an operator's perspective — prioritising pipeline value over impressions.

Connect on LinkedIn