Shopify ecommerce connected to ERP and fulfillment operations
Integration8 min read

Shopify Black Friday Checklist: Optimize Your ERP and Fulfillment Integrations

Get Every Order From Checkout to Shipment

Your Black Friday plan needs to cover what happens after checkout. Can your ERP receive the order? Does the warehouse have the right stock? Can your team find a delayed shipment before the customer asks?

We conducted a documentation review of Shopify, Oracle NetSuite, and AWS guidance to build this checklist. Our analysis focuses on the handoffs between systems. The steps below are recommended checks, not results from a live store test.

Use it with your ecommerce lead, ERP owner, and third-party logistics provider (3PL). Start several weeks before the sale so there is time to fix gaps and repeat failed tests.

1. Agree on Who Owns Each Record

Write down which system controls each field. A common starting point is Shopify for checkout details, the ERP for item and accounting records, and the warehouse system for physical shipment updates. Adjust this to your setup. Two systems should not overwrite the same field without a clear rule.

  • Products: Match SKUs, variants, bundles, units, and ERP item IDs.
  • Orders: Keep the Shopify order ID on the ERP record and the warehouse request.
  • Locations: Map each Shopify location to the correct ERP and 3PL warehouse.
  • Release rules: Define which payment, fraud, and fulfillment holds stop an order from shipping.
  • Ownership: Give every failed handoff a named owner and backup.

Pick a promoted bundle and trace its parts through all three systems. A matching product name is not enough. Confirm that item IDs and quantities lead to the correct pick list.

2. Publish Stock That Customers Can Actually Buy

Shopify separates inventory into states such as available, committed, unavailable, and incoming. Its Help Center explains that on-hand stock includes more than the quantity available for sale.[1] Map these states before turning on inventory updates.

For example, a warehouse may hold 100 units while some are already allocated or damaged. Publishing all 100 as available would ignore those restrictions. Agree on how reservations and any safety buffer affect your sellable quantity. Avoid subtracting the same commitment twice across systems.

Test a purchase, a cancellation, and a stock correction at each location. Check the resulting quantity in Shopify and the ERP after every action. For bundles, include a component that runs out before the other parts.

3. Make Repeated and Late Events Safe

Shopify says webhook events can arrive out of order and recommends duplicate-delivery checks. It also recommends reconciliation jobs because webhook delivery is not guaranteed.[2] A webhook is a notice that something changed; your connector still needs to handle the change safely.

Ask your integration owner to show what happens when the same order event arrives twice. The expected result is one ERP order. If an older update arrives after a cancellation, it should not reopen that order. Record processed events and check the latest source state when needed.

Keep a durable queue of pending work. Before replaying an order after a timeout, look for its destination record. The ERP might have saved it even though the connector did not receive the reply.

4. Check Capacity Across the Whole Route

Shopify documents cost-based limits for its GraphQL Admin API, applied to each app and store combination.[3] Oracle also documents an account-level concurrency limit covering combined NetSuite web services and RESTlet requests.[4] Measure both sides of the connection when planning peak capacity.

Pre-sale checks and evidence to keep
CheckWhat to testEvidence to keep
Order importA short burst using the expected sale mixTime from checkout to a valid ERP order
API capacityOrders alongside stock and shipment updatesThrottle errors, request cost, and ERP concurrency use
InventoryA fast-selling SKU at multiple locationsQuantity agreement and update delay
Warehouse handoffSplit orders, holds, and rejected requestsCorrect items, location, and release status
RecoveryA brief outage followed by replayNo duplicate records and a shrinking backlog

Set your own pass targets before testing. Use last year's busiest short interval, current growth plans, and the promotion schedule to choose a load. Daily order totals alone can hide the burst after a sale email.

Our recommendation is to track the oldest waiting order alongside queue size. A small queue can still contain one order that has been stuck for hours. Reserve capacity for shipment updates and urgent stock changes while new orders continue to arrive.

5. Prove That Recovery Works

AWS explains that frequent retries can make an overloaded service worse. Its guidance recommends increasing the wait between attempts and making repeated operations have the same effect as a single successful call.[5] Ask your connector team how those rules are applied.

Separate temporary failures from records that need a fix. A brief network error may be safe to retry. An unknown SKU needs review. Limit automatic attempts, alert an owner, and keep enough history to explain what happened.

Use this five-step recovery flow during your rehearsal. Preserve the original order ID throughout:

CaptureSave the failed event and its order ID.
CheckRead the error and look for an existing destination record.
ResolveWait for a temporary fault or assign a data fix.
ReplayRetry safely under the agreed API limits.
ConfirmMatch records and close the alert only after success.

Have a support teammate follow the flow without the builder's help. Record any missing access, unclear error messages, or manual steps. Update the runbook before the sale.

6. Test Fulfillment Beyond a Single Shipment

Shopify's FulfillmentOrder model identifies the assigned fulfillment location. Its documentation also explains that a fulfillment service can accept or reject a request. After acceptance, stopping the request requires a cancellation request to that service.[6] Build your handoff around those states.

A Shopify cancellation should therefore trigger a check with the warehouse. Do not tell the customer that picking has stopped until the warehouse confirms it. Likewise, a shipping label alone should not be treated as proof of delivery.

  • Split one order across two locations and return tracking for each shipment.
  • Place an order on hold and confirm that it cannot enter the pick queue.
  • Reject a fulfillment request and confirm that an owner receives an alert.
  • Cancel before and after warehouse acceptance; check both outcomes.
  • Ship part of an order and leave the remaining quantity open.
  • Test a return and refund separately; confirm when stock becomes sellable again.

Review carrier service mappings and dispatch cutoffs with your 3PL. If the chosen service is unavailable, define who approves an alternative and how the customer-facing promise changes.

7. Rehearse the Sale, Then Freeze Risky Changes

Run a controlled rehearsal in suitable test environments with representative data. Include discounts, bundles, gift cards, shipping charges, and partial refunds. Compare line quantities and totals between Shopify and the ERP using your agreed rounding and mapping rules.

During the rehearsal, pause a downstream connection while orders queue. Restore it and measure the time needed to catch up while new work continues. Keep the results, failed cases, owners, and retest dates in one shared record.

Before the event, set a change freeze for mappings and routing rules. Name who can approve an urgent fix. Give the on-call team the current runbook, support contacts, and a tested way to pause affected flows while preserving queued records.

8. Watch Business Outcomes Through Cyber Monday

Choose alerts that point to work someone can act on. An order missing from the ERP needs a different response from a shipment awaiting warehouse acceptance. Group errors by cause so one bad item mapping does not create hundreds of separate tasks.

  • Ecommerce lead: Review stock gaps and orders held before release.
  • Integration owner: Watch the oldest queued record, failed flows, and recovery progress.
  • Warehouse lead: Review rejected requests and orders at risk of missing dispatch.
  • Finance owner: Check refunds, missing transactions, and order total differences.

After the sale, reconcile records across Shopify, the ERP, and the 3PL. Resolve every missing order, duplicate, and unmatched shipment. Use the actual delays and support workload to improve the next promotion's checklist.

References

Primary documentation reviewed September 8, 2026. Recommendations above apply the documented behavior to a Black Friday readiness plan.

  1. Shopify: Understanding inventory states.
  2. Shopify Developers: About webhooks.
  3. Shopify Developers: API limits.
  4. Oracle NetSuite: Web Services and RESTlet Concurrency Governance.
  5. AWS Prescriptive Guidance: Retry with backoff pattern.
  6. Shopify Developers: FulfillmentOrder.

Get Your Shopify-to-Warehouse Flow Ready for Black Friday

Work with SixLakes to review your ERP and fulfillment integrations, plan a peak-load rehearsal, and build a clear recovery runbook.

Frequently Asked Questions

Practical answers for Shopify, ERP, and warehouse teams.

What should a Shopify Black Friday integration checklist cover?

Cover record ownership, inventory mapping, order imports, API capacity, retries, fulfillment, refunds, monitoring, and reconciliation. Give each check an owner and a clear pass target.

When should we start testing our integrations?

Start several weeks before the sale. Leave time to fix failed cases, repeat the rehearsal, and train the people who will support the event.

Which inventory quantity should we send to Shopify?

Map your sellable stock to the agreed Shopify inventory state. Account for commitments, unavailable stock, locations, and any safety buffer without deducting the same quantity twice.

How do we prevent duplicate ERP orders?

Keep a stable Shopify order ID on the ERP record, check duplicate events, and make retries safe. After a timeout, check whether the destination order already exists before creating another one.

Will a higher Shopify plan remove all integration limits?

No. Check the API limits for your plan alongside ERP concurrency, connector capacity, and warehouse limits. Test the complete route with all competing flows running.

What should happen when a fulfillment request fails?

Keep the request and its IDs, classify the error, and alert its owner. Retry temporary failures within agreed limits. Fix data errors before replay and confirm warehouse acceptance afterward.

How should we handle cancellations and split shipments?

Track each fulfillment request, location, line quantity, and shipment. Confirm cancellation with the warehouse, and return tracking for each shipment while leaving unshipped quantities open.

What should we monitor during Black Friday?

Monitor the oldest waiting order, failed imports, inventory delay, rejected fulfillment requests, and shipment updates. Reconcile systems so missing records are found even when no error alert appears.