AUTOMATE NOW

HexaSync Shopify Shopee Integration – Unlock Seamless Growth in Multichannel E-commerce

Table of Contents

Introduction Shopify Shopee Integration

Mastering e-commerce platform integration is crucial for running an omnichannel commerce business with both a leading e-commerce platform and a prominent marketplace. This presents a unique set of operational challenges. While both platforms are powerful in their own right, integrating them manually can result in inventory mismatches, order sync delays, and significant operational overhead. That’s where HexaSync, Beehexa’s integration platform, comes in—offering a robust, rule-based, and scalable synchronization framework for modern retail.

This in-depth guide provides not only an overview but also real-world configuration strategies, error handling principles, and advanced syncing logic, making it essential for technical users, operations managers, and solution architects involved in multichannel integration.

Data Synchronization Flow between Shopify and Shopee Integration - HexaSync Profile

1. Architecture & Data Sync Logic

HexaSync acts as the bridge, synchronizing data between your e-commerce platform storefront and the marketplace. It interacts with both systems using a combination of Webhooks and APIs.

HexaSync leverages:

  • Shopify Admin API (REST/GraphQL) and Webhooks
  • Shopee Open API and Webhooks

HexaSync supports asynchronous queue-based processing and delta-check algorithms to reduce API calls and enhance data integrity. Each sync task is registered as a QUEUE_JOB, handled through smart scheduler orchestration.

2. Product Mapping Strategy – Shopify Shopee Integration

Product mapping is crucial for ensuring that items are correctly identified and linked across your e-commerce platform and the marketplace. HexaSync uses the Stock Keeping Unit (SKU) as the primary key to identify product variants across both platforms.

The product mapping process involves:

  • Pulling Shopee item and model information using Shopee APIs (get_item_base_info, get_model_list).
  • Pulling Shopify product variants using Shopify APIs (Query products, Query product).
  • The system uses the [Shopify] Product Variant <> [Shopee] Product (Transformed) task for mapping.

Important rules for product mapping:

  • Mapping between Shopify and Shopee is based on SKU.
  • Only products that are already existing and mapped on both platforms will be fully synchronized.
  • Any product where the Shopee item ID or model ID is empty will not be mapped.
  • Changes to product attributes on Shopify are generally not updated on Shopee.
  • If a product is not mapped, HexaSync will mark all corresponding records in [Shopify] Inventory Level as “ignored,” preventing inventory synchronization for that product.
  • If a product is mapped, HexaSync will check all records in [Shopify] Inventory Level for that product. If a record has a corresponding mapped hub, HexaSync will unmark “ignored” and activate the task for that record. If the hub is not mapped, the record will be “ignored”.

Recommendation: Maintain a unified SKU structure across both platforms to avoid mismatches and ensure smooth synchronization.

Data Fetching Frequency for Products:

  • Shopify: When there’s a change in product data on Shopify, Shopify Webhook sends a message to HexaSync. If too many messages are sent in a short period, HexaSync will pull the latest data every 15 minutes.
  • Shopee: HexaSync pulls the latest product data from Shopee every 6 hours.

3. Inventory Sync via Delta Stock Mechanism

Rather than blindly overwriting stock values, HexaSync uses a delta-based algorithm to sync only when necessary, optimizing API calls and ensuring accuracy.

The Delta Stock is defined as the difference in inventory between Shopee and Shopify (after applying the stock ratio) for an inventory item across all mapped hubs.

The formula for Delta Stock is:
Delta=Sum(Floor(Shopify Available Qty * Shopify Location Stock Ratio))−Shopee Seller Stock

Details:

  • Inventory is synced approximately every 5 minutes from Shopify to Shopee.
  • Each warehouse of the retailer is called a Hub, and each Hub corresponds to a Location on Shopify. Each Hub on Shopee corresponds to a Hub of the retailer.
  • Shopify Locations are linked to Shopee warehouses via Metafields, specifically “Shopee Warehouse ID” and “Stock Sync Ratio from Shopify to Shopee”.
  • Unmapped hubs or locations will return 0 in the stock calculation.

Inventory Rules:

  • Conditions for synchronization: HexaSync will only synchronize inventory if the product is mapped between Shopify and Shopee, and if the location/hub is also mapped.
  • Delta equals zero: If the calculated delta is 0, it means the inventory data between Shopee and Shopify is equal, and no synchronization is needed.
  • Delta not equal to zero: If the delta is not 0, HexaSync will update the inventory from Shopify to Shopee.
  • Sync failures: If an inventory sync fails, HexaSync will automatically retry the synchronization at intervals of 5 minutes to 1 hour until the Shopee API returns a success.

Data Fetching Frequency for Inventory: HexaSync uses a combination of Webhooks and Polling:

  • Webhook: When inventory data changes on Shopify, its Webhook sends a message to HexaSync, which then updates the inventory data.
  • Polling: HexaSync also pulls all inventory data from Shopify (including data already sent by Webhook) at a fixed frequency of once per hour. Polling ensures that inventory data is always updated, especially if Webhooks experience issues.

4. Order Ingestion & Validation from Shopee

Orders are synchronized from Shopee to your Shopify store, ensuring all sales are centrally managed.

This process uses:

  • Shopee API (get_order_detail) to retrieve order information.
  • Polling every 15 minutes to pull all order data.
  • Shopee Webhooks to send messages to HexaSync when order data changes, allowing HexaSync to update order data in real-time.

Conditions that block syncing:

  • If the order status is “UNPAID,” the order will not be synchronized to your Shopify store.
  • If one or more line items in the order have product information that is not mapped to products on your Shopify store, the order will not be synchronized.

Data mapping includes:

  • Note Attributes: These capture metadata such as the order ID, marketplace name, store name, external sales ID, shipping fees, payment method, customer information (name, phone, email, address), and various discount/voucher details.
  • Line Properties: These include details for each product line in the order, such as product name, marketplace product ID, the retailer’s product ID, brand, seller discount, marketplace subsidy, and subtotal per line item.
  • Tags: Orders are tagged with relevant information like “shopee,” “order_id,” and “marketplace.”
  • Metafields: These can store additional structured data, such as VAT Information.

All orders are initially created in Shopify with an initial status of MS0_CREATED_CONFIRMATION_PENDING.

5. Fulfillment & Status Propagation

Status updates for orders are reflected in your Shopify store via a separate status history log, ensuring full traceability.

HexaSync pulls data from various Shopee APIs and internal systems to update order statuses on your Shopify store. Key status transitions and their impacts:

  • DELIVERED
  • CANCELLED
  • LOGISTICS_DELIVERY_FAILED
  • RETURN (TRANSITED_PENDING_RETURN
  • LOST

All other internal order statuses from your logistics partner are also synchronized from Shopee to Shopify.

6. Shipping Label Automation

To have Shopify Shopee Integration working properly for Order Fulfillment, one of very important task is to send the shipping label that generated by Shopee to Shopify backend administrator.

When an order’s internal status reaches BHX_PACKED_SHIPMENT_PENDING, HexaSync initiates the shipping process.

Specifically, HexaSync:

  • Pulls data changes from Shopify orders.
  • Calls Shopee APIs (get_shipping_parameter, ship_order) to arrange for delivery.
  • Downloads the shipping label using a sequence of Shopee APIs (get_tracking_number, create_shipping_document, get_shipping_document_result, download_shipping_document).
  • Attaches the shipping label to the Shopify order as a note attribute and resynchronizes the order.

7. Scheduler, Retry Logic, and Error Handling

Every sync action within HexaSync is robustly managed:

  • Task Registration: Each synchronization task is registered as a QUEUE_JOB.
  • Retry Logic: On failure, tasks are retryable with a built-in mechanism. For instance, failed inventory synchronizations are retried between 5 minutes and 1 hour. Failed order synchronizations are also retried within the same timeframe.
  • Skipped Tasks: Tasks are skipped if marked “ignored” due to bad mapping or missing critical data.
  • Disabling Sync: Users can enable or disable automatic synchronization for inventory and orders via scheduler toggles on the HexaSync interface. It’s important to note that “Running” cannot be enabled if “Enable” is off.
  • Fallback Mechanism: In cases where Webhooks encounter issues (e.g., system malfunction, connection problems), HexaSync automatically falls back to polling mode to ensure data continuity. For example, if Shopify’s Webhook for inventory experiences trouble, polling will take over, pulling data approximately every 1 hour. Similarly, if Shopee Webhook for orders has issues, polling will ensure data is pulled approximately every 1 hour.

Best practice: Keep both Webhook and Polling enabled to ensure fail-safe redundancy and continuous data flow.

8. Real-world Configuration Tips

To ensure optimal performance and avoid disruptions during configuration:

  • Notify Support: Before modifying any metafields (such as Shopee warehouse IDs or stock sync ratios) on Shopify, always inform HexaSync support for monitoring and data validation.
  • Location Management: Do not delete Shopify Locations. Instead, deactivate them and reassign any open orders or existing inventory to a new location to prevent data inconsistencies.
  • Unified Naming: Use unified naming conventions for hubs and locations across all systems to simplify mapping and reduce errors.
  • Sync Time Considerations: For large catalogs (e.g., over 1,000 SKUs in one hub), expect inventory synchronization to take approximately 5 minutes per 1,000 products within that hub.

9. Sync Matrix Summary

EntityDirection Trigger Interval
Product InfoShopee to ShopifyWebhook + Polling ~15 min (polling) / 6 hours (polling)
Inventory LevelsShopify to ShopeeWebhook + Polling~5 min (avg) / 1 hour (polling)
Sales OrdersShopee to ShopifyWebhook + Polling< 2 min (avg) / 15 min (polling)
Fulfillment StatusShopee to ShopifyEvent-based triggerReal-time (via Webhook)
Shipping DocumentShopify to ShopeeOn fulfillment eventOn-demand

Conclusion

A Platform Built for Scale HexaSync isn’t just an integration middleware—it’s a purpose-built engine for retail scalability. Its asynchronous task system, delta-driven inventory logic, and deep Shopify and Shopee compatibility make it ideal for high-growth merchants and enterprise operations.

Whether you’re managing 500 SKUs or 50,000, HexaSync ensures your platforms remain accurate, efficient, and tightly synchronized.

Explore more: Talk to Beehexa’s Experts