Blog

Black Friday: Shopify and ERP without fake stock

Before Black Friday, Shopify and ERP need shared stock rules, load testing, and a manual fallback so you do not sell what you cannot ship.

Ecommerce and ERP screens on an operations desk before Black Friday

The worst Black Friday surprise is not high traffic. It is selling well online and discovering later that the warehouse never agreed. When Shopify shows availability and the ERP has not confirmed the reservation yet, the issue is no longer technical. It is commercial, operational, and reputational.

Before the campaign, the right question is not how much traffic the store can handle, but how much truth its stock can sustain.

The good news is that this risk can be managed. The bad news is that it will not be solved by a prettier integration. It needs rules: which stock can be committed, when it is reserved, when it is released, and what happens if synchronization degrades. Shopify documents Launchpad as a way to coordinate sales events, schedule price changes, product availability, inventory changes, and checkout adjustments, while tracking the event through a real-time dashboard; it also states that Launchpad is available only on Shopify Plus. That is a strong signal that a campaign should be treated as an event with a start, an end, and active monitoring, not as a last-minute promotion. (help.shopify.com)

The commercial promise only lasts until the first order hits stock

In a small store, the failure is often visible quickly: an order comes in, stock breaks, and sales stop. In a more mature operation, the damage is slower and more dangerous: the system accepts too many orders, the warehouse notices the mismatch late, and customer service spends the morning apologizing.

The uncomfortable thesis here is simple: for Black Friday, the Shopify-to-ERP integration matters less as a “connection” and more as an operational contract. If that contract does not say who decides when data is late, the store may keep selling against an outdated reality.

So there are two separate decisions to make: how much traffic the platform can handle, and how much inventory mismatch you can tolerate without breaking the promise. They are not the same. One can survive a spike; the other can destroy margin.

Committed stock is the number that really matters

Not all available inventory should be sold as if it were already yours. The useful idea is committed stock: the quantity you can promise with an acceptable level of confidence, without relying on every sync arriving at the exact second.

Think of it like a cash register with a brake. If the system reserves too early, you block sales you could have fulfilled. If it reserves too late, you sell items that no longer exist. The balance depends on three very concrete signals:

  • average sync delay between Shopify and the ERP;
  • order bursts on fragile SKUs;
  • the warehouse’s real capacity to pick, pack, and ship during peak hours.

A common scene: a fashion SME sees two sizes sell out at the same time. Sales wants full visibility “so we do not lose clicks”. Operations prefers to reduce or pause fragile items before the peak. The right answer is not ideological; it depends on how much a cancellation costs and how much trust you need to protect.

Load testing must include the bad day, not just the demo day

Many teams run a test that confirms the expected path: the store loads, checkout works, and the ERP answers. But Black Friday is not a demo. It looks more like several bad days at once: more sessions, more abandoned carts, more retries, more price changes, and more simultaneous reservations.

A useful test does more than measure speed. It must also reveal what happens when:

  • synchronization is delayed for several minutes;
  • the ERP is slow but not down;
  • a critical SKU changes while checkout is in progress;
  • the team needs to stop a promotion without taking the whole store offline.

This is where Launchpad is useful as a reference, not because it solves everything, but because it forces the team to think of the event as a sequence: activate, coordinate, monitor, and close. That is a more mature mindset than assuming production will behave like any normal day. (help.shopify.com)

Manual fallback is not a step backward; it is an insurance policy

There is an uncomfortable idea many digital teams resist: if everything is automated, you still need a manual button. Not because automation is bad, but because the business cannot depend on every system behaving correctly at the same time.

A clear manual procedure can be very simple: temporarily freeze a category, cap units per order, disable one promotion, or change the availability message. It is less elegant than perfect automation, but far more valuable than a false promise.

The most expensive mistake is not having a plan B. It is discovering that plan B too late. If warehouse, ecommerce, and support do not know who decides when sync is delayed, confusion multiplies the cost.

What should be decided before Friday

A good Black Friday preparation is not visible because everything goes perfectly. It is visible because, if something fails, the team knows what to do without improvising.

Three useful questions for this week:

  1. Which SKUs need committed stock, and which should be capped or paused?
  2. What happens if Shopify and the ERP stop syncing for 15 minutes?
  3. Which manual action can any team member execute without asking three people first?

If you want the campaign to sell more without inventing stock, the conversation does not start in marketing. It starts with how Shopify, the ERP, and the warehouse operate as one system. At Codefuente, that is usually where the real work begins: making the commercial promise and the operational reality agree on Friday afternoon.