Integrations
Shopify Fulfillment Integrations: Methods and Pitfalls
Why Shopify integration quality determines your logistics success
Shopify is one of the most widely used ecommerce platforms in Italy, and it keeps growing: according to a service that tracks website technologies, Italian websites on Shopify went from about 37,500 in February 2023 to over 54,000 in October 2025, second only to WooCommerce. That makes it a platform any Italian 3PL must integrate with seamlessly. But "integration" covers a wide spectrum, from basic CSV file exchanges to real-time bidirectional API connections that automate the entire order-to-delivery pipeline.
The quality of your Shopify-to-3PL integration directly determines three things: how fast orders reach the warehouse, how accurately inventory is reflected on your store, and how quickly customers receive tracking information. A poor integration means manual work, delays, overselling, and support tickets. A great integration is invisible, everything just works.
For foreign brands selling in Italy, the integration also needs to handle Italy-specific workflows, most notably cash on delivery. Shopify offers cash on delivery as a manual payment method, but the order then has to reach the warehouse and the carrier with the payment method and the amount to collect, and that is the integration's job.
This guide explains what a proper Shopify fulfillment integration looks like, how the main integration methods compare, what Italy-specific requirements exist, and what questions to ask when evaluating a 3PL's technical capabilities.
Warehouse in Campania, shipping across Italy
The five pillars of a proper Shopify fulfillment integration
Pillar 1: Order synchronization
When a customer places an order on your Shopify store, that order has to reach your fulfillment partner's warehouse management system (WMS) quickly. Here is why timing matters.
For a brand with a daily cutoff time, an order placed an hour before the cutoff needs to reach the warehouse at once to leave the same day. A one-hour delay in order sync can push it to the next day.
Many integrations use Shopify's webhook system for this. When an order is created in Shopify, a webhook fires immediately, pushing the order data to the 3PL's system. The 3PL's integration layer receives this webhook, validates the data, maps it to their internal format, and creates a fulfillment task in the WMS.
What to verify: Ask your 3PL how orders reach the warehouse from Shopify and how long it takes on a normal day and at peak.
Pillar 2: Bidirectional inventory synchronization
Inventory sync is where most Shopify integrations either excel or catastrophically fail. The requirements are straightforward but technically demanding:
WMS to Shopify (stock updates): When inventory changes in the warehouse, whether from receiving new stock, shipping an order, processing a return, or making an inventory adjustment, the updated quantity must reach Shopify. This prevents overselling: if there are 3 units in the warehouse, Shopify should show 3 units available. Ask how often stock is updated and what happens with returns and adjustments.
Shopify to WMS (multi-channel deduction): If you sell on multiple channels (Shopify, Amazon, TikTok Shop) and all channels draw from the same warehouse inventory, a sale on Amazon must also reduce available stock on Shopify. Ask how quickly that happens, because otherwise you risk selling the same last unit to two customers on two different channels.
Inventory reservation: When a customer adds an item to their cart or begins checkout, the inventory should be temporarily reserved to prevent overselling during the checkout process. This is handled at the Shopify level but must be coordinated with the WMS for accuracy.
Common inventory sync problems:
- Drift: Over time, Shopify and WMS quantities diverge due to timing issues, failed sync events, or unreconciled adjustments. Weekly inventory reconciliation audits should be standard practice.
- Negative stock selling: If sync is delayed, Shopify may show stock available when the warehouse has zero units, resulting in orders that cannot be fulfilled.
- Return restocking lag: When a return is received and restocked, the inventory increase must propagate to Shopify. If there is a delay, available stock on your store is artificially low, costing you sales.
Pillar 3: Automated tracking and fulfillment updates
Once an order is picked, packed, and handed to the carrier, two things need to happen automatically:
- Fulfillment status update: Shopify's order status changes from "Unfulfilled" to "Fulfilled" with the carrier name and tracking number attached.
- Customer notification: Shopify sends the customer a shipping confirmation email with a clickable tracking link.
The sooner this happens after the carrier scans the package, the better. If tracking uploads are batched (e.g., once daily at 20:00), a customer whose order shipped at 10:00 will see "Unfulfilled" for 10 hours, generating "where is my order?" inquiries and eroding trust.
What to verify: Ask your 3PL when and how tracking numbers reach Shopify.
During the year-end peak, it pays to warn customers about possible delays as early as the order confirmation email. Our guide to the Shopify order confirmation email with a delay notice shows how to edit it. To cut down on "where is my order?" requests, customers need clear shipping notifications and a link to track their parcel, as we explain in our guide to the order tracking page.
Pillar 4: Returns workflow automation
A Shopify return goes through these steps.
- Customer initiates a return (through Shopify's native returns flow or a third-party returns portal)
- Return authorization is created and synced to the WMS
- Return label is generated (if pre-paid returns are offered)
- Warehouse receives the return and scans it against the authorization
- Quality inspection is completed, and the item is graded
- If restockable, inventory is updated in both WMS and Shopify
- The refund is issued in Shopify once the inspection result is known, within the legal limit of 14 days from the customer's withdrawal notice. You can hold it only until you receive the item or proof that it has been sent back (Article 56 of the Italian Consumer Code)
Some of these steps can be automatic and others manual. Ask your 3PL which ones are automatic and who triggers the refund after the inspection.
Pillar 5: COD workflow handling (Italy-specific)
This is the integration pillar that separates 3PLs with real Italian ecommerce experience from those without. Shopify lets you accept cash on delivery as a manual payment method (Settings > Payments), but what happens after checkout is up to the integration. How much COD matters depends on the store. Across all online purchases by Italians, cash on delivery accounts for 1.6%, according to the NetRetail 2026 survey by Netcomm, the Italian ecommerce consortium. In the stores that offer it, it was nearly one order in five in 2022, according to data from an Italian shipping software provider on its client stores, with large differences by sector and region. The integration needs to handle:
COD order identification: The integration must correctly flag which orders are COD vs. prepaid. With Shopify's built-in cash on delivery method, the order carries that payment method and stays pending until you mark it as paid; if you use a third-party COD app from the Shopify App Store or a custom checkout flow (Shopify Plus's checkout extensibility), check which payment method or order tag it applies.
COD verification workflow: COD orders may need a verification step before entering the standard fulfillment pipeline. The integration should let COD orders be held for verification (for example a phone call) and then released or cancelled.
COD carrier routing: COD orders must be shipped with carriers that support cash collection (GLS, BRT, or Poste Italiane; Amazon Shipping does not list cash on delivery among its services). The integration has to pass on the payment method, so that COD orders only go to COD-capable carriers.
COD payment reconciliation: When the carrier collects cash and remits it to the 3PL or brand, the payment must be reconciled against the Shopify order. The order in Shopify should be marked as "paid" once COD payment is confirmed. Ask how and how often you receive the details of the collected amounts, so you can match them with your orders.
Integration methods: pros, cons, and recommendations
Method 1: Native Shopify app (from the 3PL)
Some 3PLs offer a dedicated Shopify app installable from the Shopify App Store. This is the simplest setup, install the app, authenticate your store, configure settings, and orders start flowing.
Pros: Fastest setup, no technical expertise required, automatic updates, Shopify-approved security.
Cons: Limited customization, may not support advanced workflows (COD routing, multi-warehouse, custom carrier logic), dependent on the 3PL maintaining the app.
Best for: Brands with straightforward fulfillment needs, single warehouse, limited COD, and no complex routing requirements.
Method 2: Direct API integration
The 3PL connects directly to your Shopify store using Shopify's Admin API and Fulfillment API. This provides full control over data flow, custom field mapping, and advanced business logic.
Pros: Maximum flexibility, supports complex workflows (COD verification, multi-carrier routing, custom packaging rules), real-time sync via webhooks, can handle any Shopify configuration.
Cons: Requires development effort (from the 3PL side), longer setup time, potential for more complex troubleshooting.
Best for: workflows that the other methods do not cover. Ask the 3PL which method it uses and what it supports for COD and for several channels.
Method 3: Middleware platforms
Middleware platforms, from general-purpose automation tools for simple workflows to software built for orders and shipping, sit between Shopify and the 3PL, translating data between the two systems.
Pros: Useful when the 3PL does not have a direct Shopify integration, can connect multiple platforms (Shopify + Amazon + WooCommerce) through a single hub, often feature-rich with analytics and reporting.
Cons: Adds another monthly subscription (its cost varies by provider and volume), introduces another point of failure, sync delays (middleware typically polls rather than using real-time webhooks), and data mapping issues can cause errors.
Best for: Brands using a 3PL without native Shopify support, or brands needing to connect many platforms to a single logistics backbone.
Multi-store and multi-location setup
Many brands operating in Italy have more complex Shopify configurations than a single store:
Multiple Shopify stores: Separate stores for different markets (one for Italy, one for France, one for Germany). Each store needs its own integration instance with the 3PL, sharing the same warehouse inventory but maintaining separate order flows.
Shopify Markets: Shopify's native multi-market feature allows a single store to serve multiple countries with localized pricing, currencies, and languages. The 3PL integration must correctly handle orders from different markets within the same store, particularly for shipping and carrier selection.
Multi-location inventory: Shopify supports inventory tracked across multiple locations. If your 3PL has multiple warehouses in different regions, each serving the customers closest to it, the integration should support multi-location inventory with location-based fulfillment routing.
POS integration: If you sell through Shopify POS at events, pop-ups, or retail locations in Italy, in-store sales must deduct from the same warehouse inventory pool to prevent overselling.
Common integration pitfalls and how to avoid them
Pitfall 1: Inventory drift
Symptom: Shopify shows 15 units available, warehouse has 8. Or vice versa.
Cause: Timing issues in sync, failed webhook deliveries, unreconciled manual adjustments, or returns not properly restocked.
Solution: Implement weekly automated inventory reconciliation (full stock comparison between Shopify and WMS). Set up alerts for discrepancies exceeding a threshold (e.g., any SKU where Shopify and WMS differ by more than 2 units).
Pitfall 2: Delayed tracking uploads
Symptom: Customer receives "Your order has been shipped" email 6-12 hours after the package actually shipped, or worse, never receives it at all.
Cause: Batch processing of tracking updates (once or twice daily), carrier API delays, or failed fulfillment API calls to Shopify.
Solution: Ask your 3PL how tracking reaches Shopify (through Shopify's Fulfillment API or in batches), how often, and what happens when an upload fails.
Pitfall 3: COD orders not flagged correctly
Symptom: COD orders are shipped as prepaid (no cash collection at delivery), or prepaid orders are incorrectly flagged as COD (causing carrier confusion and unnecessary collection attempts).
Cause: The integration does not correctly read the payment method from Shopify, or the Shopify COD app uses non-standard fields that the integration does not recognize.
Solution: Thorough testing of COD order flow before go-live. Verify that COD orders are correctly identified, flagged for verification, routed to COD-capable carriers, and that COD amounts are correctly communicated to the carrier for collection.
Pitfall 4: Webhook failures and data loss
Symptom: Orders are "missing", placed on Shopify but never appear in the WMS. Usually discovered only when the customer complains about non-shipment.
Cause: Shopify webhooks can fail if the receiving endpoint is down, too slow to respond, or returns an error. Shopify retries failed webhooks but eventually gives up.
Solution: Implement a periodic "reconciliation poll" that queries Shopify for recent orders and cross-references them with orders received via webhook, as Shopify's own documentation recommends for apps that rely on webhooks. Any orders that were missed by webhook are picked up by the poll. This safety net is essential for any production integration.
Evaluating your 3PL's integration: the checklist
Before committing to a fulfillment partner, ask these specific questions about their Shopify integration:
- How do orders sync? Real-time webhooks or batch import? What is the average latency?
- Is inventory sync bidirectional? Does stock update in Shopify when the warehouse receives returns or new inventory?
- How is COD handled? Can the integration identify COD orders, route them to COD-capable carriers, and manage COD payment reconciliation?
- What happens when the integration has an issue? Is there a fallback process? Are there alerts for sync failures?
- How quickly do tracking numbers appear in Shopify? Minutes or hours after shipping?
- Can the integration support multiple Shopify stores or markets? If you plan to expand to other European countries, can the same 3PL and integration serve them?
- What is the setup timeline? Ask for a date and what it depends on. If the timeline is very long, the integration is likely more manual than it should be.
- Is there a sandbox/testing environment? Can you test the full order flow before going live with real customer orders?
- What reporting is available? Can you see fulfillment performance, inventory levels, and shipping metrics through the 3PL's dashboard?
- Who manages the integration ongoing? If there is a Shopify API update or a workflow change, how quickly can the 3PL adapt?
A seamless integration is invisible
The best Shopify fulfillment integration is one you never think about. Orders flow from your store to the warehouse automatically. Inventory stays accurate across all channels. Returns process smoothly. COD orders are handled with the same efficiency as prepaid orders.
If your current setup requires daily manual exports, CSV uploads, tracking number copy-pasting, or regular inventory corrections, your integration is a liability. Every manual step is a point of failure, and failure means delayed shipments, oversold products, and frustrated customers.
Tissquad works with Shopify, WooCommerce, and PrestaShop stores, and we set up the connection to our warehouse together during the kickoff call. You see your stock in the warehouse panel, and we pick, pack, and ship orders, handle cash on delivery and returns, and choose the carrier for each order based on weight, zone, and cost.
Want to connect your Shopify store to our warehouse? Contact Tissquad to request a call, and see the platforms we work with.
Warehouse in Campania, shipping across Italy
Sources
7
- BuiltWith, eCommerce Web Usage Distribution in Italy, 2023
- BuiltWith, eCommerce Web Usage Distribution in Italy, 2025
- Shopify Help Center, Manual payment methods, 2026
- Consorzio Netcomm, NetRetail 2026 (in Italian), 2026
- Qapla', Quali sistemi di pagamento scegliere per il proprio eCommerce (in Italian), 2023
- Shopify, About webhooks, 2026
- Normattiva, Italian Consumer Code, Article 56 (in Italian), 2023