Skip to main content

Integrating with Shopify for E-commerce Fulfillment

Connect your Shopify store with Sirdab to automatically sync, process, and fulfill your orders.

Overview

The Shopify integration enables Sirdab to automatically capture and fulfill orders placed on your Shopify store. Once connected, every order syncs to Sirdab for storage, processing, and delivery.

Prerequisites

  • An active Sirdab merchant account (sign up at sirdab.app/sign-up)

  • "Wholesale warehousing and E-commerce fulfillment" selected during signup

  • An active Shopify store with admin access

  • Your Shopify store configured for the Saudi Arabia (KSA) market with SAR (ر.س) as the store currency

  • A SKU code set on every Shopify product/variant before connecting: Sirdab uses SKU codes to match products

Step 1: Configure Shopify Market & Currency

Sirdab fulfills orders for the KSA market. Before connecting, make sure Shopify is set up accordingly.

  1. In your Shopify admin, go to Settings → Markets and ensure Saudi Arabia is set as your primary market.

  2. Go to Settings → Store details and confirm the store currency is SAR (ر.س). Change it if needed.

⚠️ Orders priced in USD or any non-SAR currency may not sync correctly with Sirdab.

Step 2: Products settings

Sirdab links each Shopify product/variant to a SKU or Bundle in Sirdab using the SKU field. Without SKUs, orders cannot be fulfilled.

2.1 SKU code and barcode

  1. In Shopify, go to Products and open each product.

  2. In the Inventory section, fill in the SKU field with the same SKU value you use in Sirdab (the Merchant SKU).

  3. If your product has variants (size, color, etc.), set a unique SKU on every variant.

  4. Fill in the Barcode (ISBN, UPC, GTIN, etc.) field with the product's barcode.

  5. Use a valid barcode number (e.g. EAN-13 or UPC)

  6. Click Save.

💡 SKU codes are case-sensitive and must match exactly between Shopify and Sirdab.

💡 The barcode syncs to Sirdab automatically when products sync. As with SKUs, set barcodes before connecting for the cleanest mapping. If you add or change a barcode later and it doesn't appear in Sirdab, contact support.

2.2 Charges, fees, and gift cards

Sirdab only fulfills physical products. Any line item that is not a physical product (a COD charge, a service fee, or a digital gift card) is skipped automatically and is never treated as a stocked SKU. The order's total (and the amount collected on COD) is unaffected.

To make sure a charge or fee is skipped:

  1. In Shopify, go to Products, open the product, then scroll to the Shipping card.

  2. Turn OFF "This is a physical product".

  3. Click Save.

The item is now non-shippable and Sirdab skips it.

💡 Tip: the cleanest way to add a COD charge is a surcharge (for example a COD-fee app using a Cart Transform Function), not a product. A surcharge is not a fulfillable line item, so it never reaches Sirdab as a SKU.

If every item in an order is non-physical (for example a gift-card-only order), there is nothing for Sirdab to ship, so the order is not fulfilled.

Step 3: Connect Shopify from Sirdab

  1. Log in to your Sirdab Merchant Portal.

  2. Go to Dashboard → Fulfillment → Integrations.

  3. Find the Shopify card under Available Integrations and click Connect.

  4. In the Configure Shopify Integration modal, enter your Shopify Shop Name: just the store name, not the full URL.

    • ✅ Correct: my-online-store

    • ❌ Incorrect: my-online-store.myshopify.com

    • ❌ Incorrect: https://my-online-store.myshopify.com

  5. Click Connect. You'll be redirected to Shopify to authorize the Sirdab app.

  6. Review the requested permissions:

    • Read and write assigned fulfillment orders

    • Read and write fulfillments

    • Read and write inventory

    • Read locations

    • Read and write returns

  7. Click Install app. You'll be redirected back to Sirdab.

Alternative: install from the Shopify App Store

Sirdab Fulfillment is listed on the Shopify App Store (free to install). You can start the connection from the Shopify side instead of from the Sirdab Portal:

  1. Open the Sirdab Fulfillment listing on the Shopify App Store. Click View demo store first if you'd like to preview the integration before installing.

  2. Click Install.

  3. Review the requested permissions and click Install app.

  4. You will be redirected to your Sirdab Merchant Portal. Log in with your Sirdab account (or create one if you don't have one yet).

  5. Once logged in, your Shopify store is automatically linked to your Sirdab account. It appears under Fulfillment → Integrations → Connected Integrations.

The end result is identical to the steps above: same scopes, same connection status.

Step 4: Verify the Connection

  1. Back in Sirdab, go to Fulfillment → Integrations.

  2. Your Shopify store should now appear under Connected Integrations with:

    • 🟢 A green dot showing Integrated

    • Your store name displayed

    • A Manage button for further configuration

Step 5: Verify Product Mapping

  1. Click Manage on the Shopify integration card.

  2. Open the Mapped Products section.

  3. Confirm:

    • Products show as Mapped

    • SKU codes match between Shopify and Sirdab

    • All variants are mapped

If any product appears as Unmapped, click Map next to it and select the matching SKU from your Sirdab inventory.

Step 6: The Sirdab fulfillment location

When you connect Sirdab, the app automatically creates and manages a fulfillment location on your store. You'll see it in Settings → Locations, under App and custom fulfillment locations (named after your warehouse, e.g. "Sirdab Fulfillment Location").

You don't need to configure this location, and Shopify won't let you. It's managed by the Sirdab app, so in your admin it's read-only: it isn't clickable, has no settings page, and can't be set as your default location (Shopify Help Center: "Apps and deactivated locations can't be set as the default location.").

💡 Because the Sirdab location can't be your default, Shopify doesn't send orders to it on its own. Complete Step 7 and Step 8 so your orders ship from Sirdab. Without them, Sirdab may not appear as an option when you request fulfillment.

Step 7: Ship online orders from the Sirdab location

Shopify only lets a location fulfill online orders if it is in your shipping settings with rates for the customer's area. If the Sirdab location isn't added, Sirdab won't appear as an option when you request fulfillment.

  1. In your Shopify admin, go to Settings → Shipping and delivery.

  2. Under Shipping, open your shipping profile (usually General shipping rates).

  3. In Shipping origins, find Sirdab Fulfillment Location. It is usually listed under Not shipping from.

  4. Click Add rates (or Manage if Sirdab is already in a group) and add it to the group that has your Saudi Arabia shipping zone and rates, or create new rates for it.

  5. Optional: if Sirdab fulfills all your orders, click Manage next to your other locations and choose Remove rates so they stop shipping. Keep any location you still ship from yourself.

  6. Click Save.

⚠️ If you remove the last location from a group, Shopify deletes that group's shipping zones and rates. Add Sirdab to the group before removing other locations.

Result: Sirdab can now fulfill online orders to Saudi Arabia and appears as an option on the order page.

Step 8: Route orders to Sirdab automatically

If your store has more than one location, add an order routing rule so new orders go to Sirdab first.

  1. Go to Settings → Shipping and delivery.

  2. In the Shipping section, click Order routing.

  3. Click Add rule, choose Use ranked locations, and click Save.

  4. Drag Use ranked locations to the top of the rule list.

  5. Click the pencil icon on the rule, then drag Sirdab Fulfillment Location into the top location group. Leave your other locations in the group below.

  6. Click Done, then Save.

Result: new orders are assigned to the Sirdab location when it has stock. Together with Step 9, paid orders reach Sirdab with no manual action.

  • Order routing only appears when your store has 2 or more active locations. If Sirdab is your only location, skip this step.

  • If an order was assigned to another location, open the order and use Change location to move it to Sirdab before requesting fulfillment.

Step 9: Enable Automatic Fulfillment Requests

By default, Shopify requires the merchant to manually click Request fulfillment on every new order. Enabling automatic fulfillment sends orders to Sirdab the moment they are paid, with no manual click needed.

How to enable

  1. In your Shopify admin, go to Settings → General.

  2. Scroll to the Order processing section.

  3. Under After an order has been paid, enable Automatically fulfill the order's line items.

  4. Click Save.

What changes

  • New paid orders trigger the fulfillment request to Sirdab automatically.

  • Orders move directly from Paid + Unfulfilled to Fulfillment accepted.

  • The Request fulfillment button is no longer needed for daily operations.

Cash on Delivery (COD) orders

Shopify only sends the fulfillment request automatically once an order is paid. COD orders stay Payment pending until delivery, so they are not sent to Sirdab automatically and need a manual Request fulfillment click.

To automate them, use the free Shopify Flow app:

  1. Open Apps → Shopify Flow and click Create workflow.

  2. Trigger: Fulfillment order ready to fulfill.

  3. Condition: the fulfillment order's assigned location name is Sirdab Fulfillment Location. Don't add an "order is paid" condition, or COD orders will be skipped.

  4. Action: Request fulfillment.

  5. Click Turn on workflow.

💡 Orders placed before you turned the workflow on still need a manual Request fulfillment click.

When NOT to enable

If you need manual review on each order (e.g. fraud checks, oversold inventory, special handling), keep this off and process orders one by one.

Step 10: Enable the National Address Code Field at Checkout

⚠️ Shopify Plus required. Custom checkout blocks (including the National Address Code field) only work on stores subscribed to Shopify Plus. This is a Shopify limitation, not Sirdab's. See Shopify's documentation. Not on Plus? Use the Company field option at the end of this step.

Sirdab installs a dedicated National Address Code block into your Shopify checkout. This block must be enabled in your Checkout Editor so that customers see the field at checkout. Both the standard shipping address and the National Address Code are required: customers cannot complete checkout without providing them.

📹 Video walkthrough:

Enable the block in your Checkout Editor

  1. In your Shopify admin, go to Settings → General.

  2. Click Customize next to your active checkout.

  3. In the left panel, find the Delivery section.

  4. Click + Add block under Delivery.

  5. Select National Address Code from the menu.

  6. Drag the block into position (recommended: directly below the Delivery address block).

  7. Click Save at the top right.

Your checkout will now show a National Address Code field below the address inputs, with the placeholder National Address Code (e.g. RIYD2929).

What customers must provide at checkout

Customers must complete all of the following before they can pay:

  • Country, full name, full shipping address (street, city, postal code)

  • Saudi phone number (entered in the Contact section)

  • National Address Code in the format LLLL#### (4 uppercase letters + 4 digits, e.g. RIYD2929)

If a customer leaves the National Address Code blank or enters an invalid format, the Continue to shipping button is disabled and they will see an inline error: "National Address Code is required" or "Format must be 4 letters followed by 4 digits".

💡 Customers can find their Short Code in the العنوان الوطني (National Address) mobile app, or by searching their address at splonline.com.sa.

What happens after a successful order

The National Address Code is automatically:

  • Saved with the customer's address in Sirdab (visible in Fulfillment → Orders → Location Details).

  • Forwarded to the shipping carrier (Aramex, SMSA, OTO, etc.) for accurate delivery.

  • Stored on the Shopify order's Additional details panel for your reference.

Troubleshooting

  • "National Address Code" doesn't appear in the + Add block menu: the Sirdab app version on your store may be outdated. Go to Settings → Apps and sales channels, click your Sirdab integration, and accept any pending update. Then refresh the Checkout Editor.

  • The block is added but customers don't see the field at checkout: make sure you clicked Save in the Checkout Editor. Hard-refresh the storefront to see the change.

  • Customer says they don't know their Short Code: direct them to the العنوان الوطني mobile app or splonline.com.sa to look it up by address.

💡 Alternative: capture the National Address via the Company field

If you can't add the National Address block (for example, your plan isn't Shopify Plus), collect the code in Shopify's built-in Company field instead. No checkout editor needed.

A. Show the Company field at checkout

  1. In Shopify, go to Settings → Checkout.

  2. Under Form options, find Company name and set it to Required.

  3. Click Save.

B. Rename the field so customers know what to enter

  1. Go to Online Store → Themes.

  2. On your live theme, click ⋯ → Edit default theme content (some stores show Edit languages).

  3. Open the Checkout & system tab and search for company.

  4. Change the label, for example:

    • English: National Address short code (e.g. RIYD2929)

    • Arabic: العنوان الوطني المختصر (مثال: RIYD2929)

  5. Click Save. If your store has more than one language, switch language at the top of the editor and repeat for each one.

💡 What the customer does: at checkout, the customer enters their National Address Short Code in this field: 4 letters followed by 4 digits, e.g. RIYD2929.

💡 Sirdab automatically reads the code from the Company field and uses it as the delivery National Address. If the checkout block is also active, the block takes priority; the Company field is used when the block isn't available.

Troubleshooting

  • The label didn't change at checkout: make sure you edited the live (published) theme, then check in a private or incognito window.

  • Arabic shoppers still see "الشركة": you edited only one language. Repeat part B for Arabic.

  • The code format isn't checked: on non-Plus plans Shopify can't validate the format. Ask customers to enter exactly 4 letters followed by 4 digits.

Order Fulfillment Process

Once your store is connected and set up:

  1. The customer places an order on your Shopify store.

  2. Shopify routes the order to the Sirdab fulfillment location (Steps 7 and 8).

  3. The order syncs to Sirdab automatically and a fulfillment order is created.

  4. Sirdab handles picking, packing, and shipping.

  5. Tracking and fulfillment updates are sent back to Shopify so the customer sees real-time status.

Editing orders before requesting fulfillment (Shopify)

💡Once an order's fulfillment is requested from Sirdab, its items and quantities are locked. Make all changes to products and quantities in Shopify before you request fulfillment.

✅ Do: Review and finalize the products and quantities in Shopify before requesting fulfillment.

🚫 Avoid: Adding, removing, or changing items in Shopify after fulfillment has been requested. Those changes will not sync to Sirdab.

What updates automatically after an order is created:

  • Payment status (e.g. pending → paid).

  • Order totals (subtotal, tax, discount, total).

  • Customer & contact details (name, email, phone).

  • Shipping address: if an order was placed with an incomplete address, completing it in Shopify will finalize the order in Sirdab.

Need to change items after fulfillment was requested?

  • Cancel the fulfillment request / order, then

  • Re-create it in Shopify with the correct items and request fulfillment again.

Why this policy exists

As soon as fulfillment is requested, Sirdab reserves inventory and schedules the shipment against the exact items on the order. Allowing item changes after that point would put the reserved stock, picking, and delivery out of sync, so the order is locked to guarantee what's picked and shipped matches what was ordered.

Returns

Sirdab supports the full Shopify Returns flow. Returns can be initiated from your Shopify admin, and Sirdab will pick up, inspect, and update the return status back in Shopify automatically.

How a return works

  1. The customer (or you) requests a return in Shopify (Orders → select the order → Return items).

  2. Shopify notifies Sirdab in real time via webhook.

  3. Sirdab creates a corresponding return order and arranges pickup of the items from the customer.

  4. Once the items arrive at the Sirdab warehouse, our team inspects and processes them.

  5. When the return is completed in Sirdab, the Shopify return is automatically closed, and the merchant can issue a refund from Shopify.

  6. If the return is cancelled at any point in Sirdab, the corresponding Shopify return is cancelled automatically.

Return reasons

Sirdab maps internal return reasons to Shopify's standard return reasons:

  • Customer Unreachable → UNWANTED

  • Cancelled order by customer → UNWANTED

  • Damaged Items → DEFECTIVE

  • Incorrect / Missing Items → WRONG_ITEM

  • Other → OTHER

Tracking return status

You can track the status of any return in two places:

  • Shopify admin: open the original order to see the return status (Open / Closed / Cancelled).

  • Sirdab Merchant Portal: go to Fulfillment → Returns for the full pickup, inspection, and warehouse processing details.

💡 Refunds are always issued from your Shopify admin, not from Sirdab. Sirdab only handles the physical return logistics and updates Shopify when the return is closed.

Common issues

  • Return not appearing in Sirdab: confirm the original order was fulfilled by Sirdab. Returns for orders fulfilled elsewhere are not synced.

  • Return shows "Open" in Shopify after Sirdab marks it complete: wait a few minutes for the webhook callback to process. If still open after 10 minutes, contact Sirdab support with the Shopify return ID.

Cancelling Fulfillment

Orders that have already been prepared or shipped cannot be cancelled.

Cancellation can be triggered from either side (Sirdab or Shopify) and the other side syncs automatically:

  • From Shopify: open the order (Orders → select the order → More actions → Cancel order). Shopify notifies Sirdab to cancel the fulfillment.

  • From Sirdab: open the fulfillment order in your Sirdab Merchant Portal and cancel it. Sirdab notifies Shopify to mark the order as cancelled.

Retrying Failed Orders

Orders may fail for two reasons:

  • Inventory shortage: Sirdab does not have enough stock of one of the requested SKUs.

  • Unmapped products: Sirdab does not know which SKU/Bundle the Shopify product corresponds to.

Fix the underlying issue (replenish inventory or map the product), then re-trigger fulfillment from your Shopify order page.

Troubleshooting

Sirdab isn't an option when requesting fulfillment

  • Make sure the Sirdab location is added to your shipping settings (Step 7).

  • If you have more than one location, make sure the Use ranked locations rule puts Sirdab first (Step 8).

  • If the order was assigned to another location, use Change location on the order page.

COD orders don't reach Sirdab automatically

  • Shopify only auto-requests fulfillment for paid orders. Set up the Shopify Flow workflow in Step 9, or click Request fulfillment on each COD order.

Products not syncing to Sirdab

  • Verify SKU codes are added to all product variants in Shopify.

  • Check SKU codes match exactly (case-sensitive) in Sirdab.

  • Ensure products are set to Active in Shopify.

Orders not appearing in Sirdab

  • Verify all products in the order have SKU codes that match Sirdab.

  • Ensure the shipping address is in Saudi Arabia.

  • Verify store currency is set to SAR.

Currency or pricing errors

  • Set store currency to SAR in Settings → Store details.

  • Update product prices to SAR.

SKUs show as "Unmapped"

  • Verify SKU format matches exactly (no extra spaces, correct case).

  • Confirm the SKU exists in Sirdab inventory.

  • Map the product manually from the Shopify integration settings if it doesn't auto-map.

Need Help?

If you run into any issues during setup, contact Sirdab support via the in-app chat or email [email protected], including:

  • Your Shopify store name

  • Affected order numbers

  • A screenshot of the issue

  • The steps you've already tried

Demo reference:

- How to integrate from the Shopify side

- How to integrate from the Sirdab side

Did this answer your question?