To fulfill an order on Shopify, go to Orders in your admin, click the unfulfilled order, enter a tracking number, and click Fulfill items. Shopify then marks the order as fulfilled and emails the customer a shipping confirmation with tracking details. That is the basic process, but fulfillment gets more involved depending on whether you ship products yourself, use a third-party logistics provider, sell digital goods, or dropship from a supplier. Before configuring fulfillment settings, make sure your shipping rates are set up before going live to reduce cart abandonment before orders reach the fulfillment stage.

This guide walks through every fulfillment method available on Shopify, with step-by-step instructions for each scenario. For stores that scan items to verify picks before shipping, see how barcode scanning in Shopify works alongside fulfillment workflows.

If you're wondering whether Shopify itself ships your packages, see our breakdown of how Shopify shipping works: including carrier discounts by plan, the Shopify Fulfillment Network, and international shipping.

Key Takeaways
1
Manual fulfillment gives you control over when orders ship: use it for custom products, quality inspection, or when inventory fluctuates frequently.
2
Automatic fulfillment processes orders instantly after payment: ideal for digital products, print-on-demand, or stores using a third-party fulfillment service.
3
Shopify supports partial fulfillment and multi-location shipping, so you can ship available items immediately and fulfill the rest when stock arrives.

What Are the Fulfillment Options on Shopify?

Shopify offers three core fulfillment methods: self-fulfillment, third-party logistics (3PL), and dropshipping. Self-fulfillment means you store, pack, and ship products yourself, it costs the least upfront but requires time and physical space. Third-party fulfillment services handle everything after the order is placed, typically charging $3-$5 per order plus storage fees. Dropshipping eliminates inventory entirely because your supplier ships directly to the customer.

  • Self-fulfillment: Best for stores shipping fewer than 50 orders per day. You maintain full control over packaging quality, insert branded materials, and inspect products before shipping. Cost: shipping materials ($0.50-$2 per order) plus carrier rates. The trade-off is time: packing and shipping 50+ orders daily becomes a full-time job.
  • Third-party fulfillment (3PL): Best for stores shipping 50-500+ orders per day. Services like ShipBob, ShipMonk, and Deliverr integrate directly with Shopify. They store your inventory in their warehouses, pick and pack orders automatically, and ship using negotiated carrier rates (often 15-30% cheaper than retail shipping rates). Average cost: $3-$5 per order plus $5-$25 per pallet per month for storage.
  • Dropshipping: Best for testing products without inventory risk. Apps like DSers and Zendrop sync with suppliers (typically AliExpress or CJ Dropshipping) and auto-fulfill orders. You never touch the product. The trade-off is longer shipping times (7-15 days from China) and less quality control.

How Do You Set Up Fulfillment in Shopify?

Fulfillment settings live in your Shopify admin under Settings > Checkout. You can choose between manual and automatic fulfillment globally, or override the setting per product. Most stores start with manual fulfillment and switch to automatic once they have a reliable process or 3PL integration in place.

  1. Log in to your Shopify admin dashboard.
  2. Go to Settings > Checkout.
  3. Scroll to the Order Processing section.
  4. Choose Automatically fulfill the order's line items for automatic fulfillment, or leave it unselected for manual fulfillment.
  5. Optionally check Notify customers of their shipment to send automatic shipping confirmation emails.
  6. Click Save.

How Do You Manually Fulfill an Order on Shopify?

Manual fulfillment lets you control exactly when each order ships. You review the order, pack the items, purchase or print a shipping label, enter the tracking number, and mark the order as fulfilled. Shopify sends a shipping confirmation email to the customer with the tracking information automatically.

  1. Go to Orders in your Shopify admin.
  2. Click the order number of an unfulfilled order.
  3. If using Shopify Shipping, click Create a shipping label: Shopify shows discounted rates from USPS, UPS, and DHL directly in the admin. Select your carrier and purchase the label.
  4. If using another carrier, click Fulfill item(s) and enter the tracking number from your carrier. Shopify auto-detects the carrier from the tracking format in most cases.
  5. Check Send shipment details to your customer now to trigger the confirmation email.
  6. Click Fulfill item(s) to complete the process.

How Do You Partially Fulfill an Order?

When some items in an order are in stock and others are backordered or on pre-order, partial fulfillment lets you ship what is available immediately rather than making the customer wait for everything.

  1. Open the unfulfilled order in Orders.
  2. Click Fulfill items.
  3. Adjust the quantity for each line item: set unavailable items to 0.
  4. Enter the tracking number and select the carrier.
  5. Click Fulfill items.

The order status updates to show both fulfilled and unfulfilled items. When the remaining items are ready, repeat the process for the unfulfilled portion. Each partial fulfillment sends a separate tracking notification to the customer.

How Do You Fulfill Orders from Multiple Locations?

If your inventory is spread across multiple warehouses or retail locations, Shopify automatically splits orders by location based on your fulfillment priority settings. You can adjust which location fulfills each item on a per-order basis.

  1. Go to Settings > Locations and set your fulfillment priority order (Shopify assigns items to the highest-priority location with available stock).
  2. Open the order: items are grouped by fulfillment location.
  3. To change the shipping location, click the location name on the fulfillment card, select a different location, and save.
  4. Fulfill each location's items separately with their own tracking numbers.

How Do You Bulk Fulfill Multiple Orders?

For stores processing many orders daily, bulk fulfillment saves significant time.

  1. Go to Orders and click the Unfulfilled tab.
  2. Select the orders you want to fulfill by checking their boxes.
  3. Click Actions > Fulfill orders.
  4. Choose whether to notify customers.
  5. Click Fulfill.

Bulk fulfillment marks all selected orders as fulfilled at the same time. This method does not add individual tracking numbers, so use it for orders where tracking has already been communicated or is not needed (for example, local pickup orders).

How Does Automatic Fulfillment Work on Shopify?

Automatic fulfillment processes orders immediately after payment is confirmed, with no manual action required. It works best for digital products (downloads, course access, license keys), print-on-demand products where the supplier handles production, and stores fully integrated with a 3PL that auto-syncs with Shopify.

  1. Go to Settings > Checkout.
  2. Under Order Processing, select Automatically fulfill the order's line items.
  3. Check Notify customers of their shipment if you want automatic confirmation emails.
  4. Save your changes.

Only enable automatic fulfillment if you are confident that every order can be shipped without review. For physical products you ship yourself, manual fulfillment is safer because it gives you a chance to verify inventory, check for fraud indicators, and inspect items before shipping.

How Do You Fulfill Digital Product Orders on Shopify?

Digital products like ebooks, templates, software licenses, and online courses do not require physical shipping. Shopify handles digital fulfillment differently from physical goods, and the setup depends on which app you use to deliver the files.

The most common approach uses the free Shopify Digital Downloads app. Once installed, you upload files to each product, and Shopify automatically sends a download link to the customer after purchase. The order is marked as fulfilled instantly.

For more control, apps like SendOwl or Sky Pilot let you deliver files through secure, expiring download links, limit the number of downloads per customer, and drip-release content over time (useful for courses). Here is how to set it up:

  1. Install a digital delivery app from the Shopify App Store (Digital Downloads, SendOwl, or Sky Pilot).
  2. Upload your digital files to each product through the app's interface.
  3. In the product's Shipping section, uncheck This is a physical product so Shopify does not calculate shipping rates at checkout.
  4. Enable automatic fulfillment in Settings > Checkout so the download link is sent immediately after payment.
  5. Test the purchase flow by placing a test order to confirm the customer receives the file.

How Do You Fix Common Fulfillment Errors on Shopify?

Several fulfillment errors trip up Shopify store owners regularly. Most stem from location settings, app conflicts, or permission issues. Here are the most frequent problems and how to fix each one.

The "Fulfill Items" Button Is Missing

This happens when the order is assigned to a fulfillment location that does not match your product's inventory location. Go to the order detail page, click the three-dot menu on the fulfillment card, and change the fulfillment location to your default location. If the option to change location does not appear, go to the product's Inventory section and make sure your default location is checked.

"Invalid Fulfillment Order Line Item Quantity" Error

This error appears when you try to fulfill more items than Shopify expects, usually because a third-party app has already partially processed the order in the background. Refresh the order page first. If the error persists, check whether a fulfillment app (like a dropshipping or 3PL app) has claimed the fulfillment request. You may need to release the fulfillment request from the app before fulfilling manually.

Tracking Numbers Not Updating for Customers

If customers report not receiving tracking information, check two things. First, verify that Send shipment details to your customer now was checked when you fulfilled the order. Second, confirm the tracking number format is correct: Shopify auto-detects carriers, but unusual formats (like regional couriers) may not be recognized. In that case, manually select the carrier from the dropdown when entering the tracking number.

Which Shopify Apps Help With Fulfillment?

Shopify's app ecosystem includes dedicated fulfillment apps that automate inventory syncing, label printing, and carrier integration. The most popular options by use case:

  • ShipStation: Multi-carrier label printing and order management. Integrates with 70+ carriers. Plans start at $9.99 per month.
  • ShipBob: Full 3PL service with Shopify integration. They store your inventory and handle fulfillment end-to-end.
  • DSers: AliExpress dropshipping automation. Auto-syncs orders with suppliers and updates tracking. Free plan available.
  • Zendrop: US-based dropshipping with faster shipping than AliExpress (5-8 days domestic). Plans start at $49 per month.
  • Shopify Shipping: Built-in label purchasing with discounted USPS, UPS, and DHL rates (up to 88% off). No additional app needed.

How Do You Handle Tracking and Customer Communication?

Order tracking is one of the biggest factors in customer satisfaction. Shopify automatically sends a shipping confirmation email with the tracking number when you fulfill an order. Beyond this default behavior, these practices help reduce support tickets and increase repeat purchases:

  • Add tracking pages: Apps like AfterShip or Parcel Panel create branded tracking pages on your store, reducing "where is my order?" support tickets by up to 50%.
  • Send proactive updates: Configure email or SMS notifications for key milestones: shipped, out for delivery, delivered.
  • Set delivery expectations: Display estimated delivery dates on product pages and at checkout. Shopify's delivery date estimator (available with Shopify Shipping) does this automatically for supported carriers.

What Happens After Fulfillment? Returns and Exchanges

Fulfillment does not end when the package ships. You also need a plan for returns and exchanges, since roughly 20-30% of online orders are returned. Shopify has built-in return management that ties directly into the order fulfillment flow.

To create a return from a fulfilled order:

  1. Open the fulfilled order in Orders.
  2. Click Return items.
  3. Select the items being returned and the reason.
  4. Choose whether to provide a return shipping label (you can buy one through Shopify Shipping at discounted rates) or let the customer arrange their own return shipping.
  5. Click Create return.

Once the returned items arrive at your location, click Restock on the return to add the inventory back. Then issue a refund from the same order page. Keeping returns and refunds tied to the original order makes accounting and inventory tracking much easier than processing them separately.

International Order Fulfillment on Shopify

Shipping internationally adds complexity that domestic-only fulfillment does not have: customs documentation, duties and taxes, import regulations, and carrier-specific requirements by destination country. Shopify Markets and built-in shipping tools handle most of this automatically, but understanding the basics helps you avoid customs delays, refused packages, and unexpected fees charged to your customers.

Customs Forms and Commercial Invoices

Every international shipment requires a customs declaration listing the contents description, quantity, and declared value. Always use the actual transaction price as the declared value. Under-declaring to reduce duties is illegal and can result in packages being seized or your carrier account flagged. When you buy a Shopify Shipping label for an international order, Shopify automatically generates the customs form and commercial invoice using your product details and order value. Review these before printing: vague descriptions like "merchandise" or "goods" trigger more inspections and delays than specific ones like "cotton t-shirts, men's, 3 units."

HS Codes: What They Are and Why They Matter

Harmonized System (HS) codes are 6-10 digit numbers that classify your products for customs purposes. Destination country customs authorities use these codes to determine applicable duty rates. Incorrect HS codes can result in packages held at customs, assessed the wrong duty rate, or returned to sender. Shopify lets you assign HS codes to products under the Shipping section of each product listing. Shopify does not automatically assign these codes, so you need to add them manually. If you sell internationally at any volume, look up the correct codes for your product categories in your country's customs tariff database to avoid errors.

DDU vs. DDP: Who Pays Import Duties

Delivered Duty Unpaid (DDU) is the default for most Shopify international shipments. The customer pays any import duties and taxes when the package arrives in their country. This is cheaper for you upfront but creates a poor experience when customers receive unexpected fee notices and packages sit uncollected at customs. Delivered Duty Paid (DDP) means you collect duties and taxes at checkout and pre-pay them on behalf of the customer. DDP leads to fewer refused packages and better satisfaction, especially for EU customers where VAT adds 20-25% to the package value.

Shopify Markets (available on all paid plans) automates DDP for many markets by calculating and collecting local taxes and duties at checkout. If you process more than a handful of international orders per month, enabling Shopify Markets significantly reduces customs-related support tickets and return rates.

EU Orders and IOSS

Since July 2021, EU import rules require that all orders under €150 entering the EU include an IOSS (Import One-Stop Shop) number for VAT purposes. Without a valid IOSS number, EU customs may charge VAT on delivery in addition to what the customer paid at checkout, effectively double-charging them. Shopify Markets generates and applies your IOSS number to qualifying EU orders automatically when you enable it. If you are not using Shopify Markets, you need to register for IOSS directly through your country's tax authority or use a postal operator that handles IOSS compliance on your behalf.

Shopify Fulfillment Network (SFN): When Shopify Ships for You

Shopify operates its own managed fulfillment network (SFN), a warehousing and shipping service built natively into the Shopify admin. Unlike third-party 3PLs, SFN syncs inventory levels, order routing, and tracking updates automatically without API integrations or manual data exports.

SFN stores your inventory across multiple Shopify-operated fulfillment centers and routes each order to the warehouse closest to the customer, reducing both shipping time and carrier costs. Shopify handles picking, packing, and shipping for every order. You manage inventory replenishment; Shopify handles everything else.

SFN is worth considering if you are already shipping 100+ orders per month and want to outsource fulfillment without setting up a separate 3PL account and integration. The main trade-offs: SFN does not support custom packaging or branded inserts, and it works best for standard-sized products. To apply, go to Settings > Fulfillment in your Shopify admin and look for the Shopify Fulfillment Network option.

Fulfillment Cost Breakdown: What Each Method Actually Costs

Choosing a fulfillment method is partly a capacity decision and partly a cost decision. Here is a realistic per-order cost breakdown for each option as order volume scales:

  • Self-fulfillment (under 30 orders/day): Shipping materials $0.50-$2 per order. Carrier rates vary by weight and zone: USPS Ground Advantage averages $4-$7 for parcels under 1 lb. Your time is the true cost: at 5-10 minutes per order, 30 daily orders consumes 2.5-5 hours of your day. Once fulfillment crowds out growth work, it is time to outsource.
  • Third-party 3PL (ShipBob, ShipMonk): Receiving $10-$40 per inbound shipment. Storage $5-$25 per pallet per month. Pick-and-pack $2-$4 per order. Shipping at negotiated carrier rates (typically 15-30% below retail). All-in cost: $6-$12 per order depending on product weight and destination zone.
  • Shopify Fulfillment Network: Pricing depends on product weight, dimensions, and destination. Shopify shows your rates in the admin when you apply. Generally competitive with mid-tier 3PLs for stores above 100 orders/month, with the added benefit of native Shopify integration.
  • Dropshipping: No per-order fulfillment cost, the supplier handles it. Your cost is the higher product price (less margin than buying wholesale) and longer shipping times (typically 7-15 days from overseas suppliers).

The practical crossover: self-fulfillment makes financial and time sense under 30 orders/day. Above that threshold, outsourcing to a 3PL or SFN costs less than the hours spent packing boxes, freeing you to focus on marketing and product development.

Shopify Fulfillment Checklist for New Stores

Before you start fulfilling live orders, run through this checklist to catch setup gaps that cause delays, errors, and unhappy customers. Each item takes a few minutes to verify and can save hours of troubleshooting later.

  1. Fulfillment method selected: Confirm whether you are using manual or automatic fulfillment in Settings > Checkout > Order Processing. Manual gives you control over each shipment; automatic is only safe if every order can ship without review.
  2. Inventory counts verified: Check that stock levels in Shopify match your actual on-hand quantity. Selling products you do not have in stock forces you into awkward backorder situations from the very first order.
  3. Shipping zones configured: Go to Settings > Shipping and delivery and confirm you have shipping profiles set up for every region you plan to sell in. Missing a zone means customers in that region either see no shipping options or get an error at checkout.
  4. Carrier accounts connected: If you use a third-party carrier beyond Shopify Shipping, verify the account credentials are connected and rates are pulling correctly. Test with a sample address before going live.
  5. Test order placed: Run a test order through your own store from product page to checkout, then fulfill it. This confirms the fulfillment button appears, labels generate, and the shipping confirmation email sends to the customer address.
  6. Notification emails checked: Preview the shipping confirmation email template in Settings > Notifications. Make sure it shows the correct store name, tracking link, and contact information. Fix any placeholder text that did not get filled in during setup.
  7. Partial fulfillment tested: If you sell products that could be in different inventory states (pre-order mixed with in-stock items), place a test order with multiple items and practice fulfilling only one. Confirm the partial fulfillment status shows correctly and the tracking email mentions only shipped items.
  8. Return policy set: Write and publish your return policy before the first order ships. Shopify lets you add a return policy page and link it from the footer. Having this in place protects you if a customer wants to return something on day one.
  9. Tracking page set up: Either use Shopify's default order status page or install a tracking app (AfterShip, Parcel Panel) so customers have somewhere to check their shipment status. Without a tracking page, customers email support repeatedly asking "where is my order?"
  10. 3PL or app integration tested (if applicable): If you use ShipBob, ShipStation, DSers, or any other fulfillment app, place a test order and confirm it routes to the app correctly, the fulfillment request appears in the app dashboard, and tracking syncs back to Shopify when the order ships.

Choosing the Right Fulfillment Method

Start with manual fulfillment to maintain quality control over packaging and shipping. Switch to automatic fulfillment once your process is reliable, especially for digital products or stores with 3PL integration. Consider a third-party logistics provider when order volume exceeds what you can comfortably pack and ship yourself: typically around 50 orders per day. When you reach that point, our guide to the best fulfillment software for Shopify covers 17 apps that handle order routing, label generation, and 3PL integration. The key to keeping customers happy is not just shipping speed but clear communication at every step, from order confirmation through delivery notification.

Show More

* read the rest of the post and open up an offer