AutomationE-commercen8n

Larkfield Goods // E-commerce & retail ops

n8n automation for order-to-fulfillment operations at a DTC e-commerce brand

n8n (self-hosted)PostgresRedisShopify Admin APIShippoStripe
0
instances of overselling out-of-stock items in the 4 months after launch (down from ~12/week)
<30 sec
inventory sync time across all channels
~70%
savings on automation tooling versus the projected cost of Zapier at this volume
01 — The brief

The client sells through Shopify and three marketplaces simultaneously. Before the project, each channel lived in isolation: operators manually copied Etsy and Walmart orders into Shopify, inventory was reconciled in Google Sheets once a day, and returns were handled through email chains between support, the warehouse, and accounting. As volume grew past 600+ orders/day, the process started breaking down — selling stock that was no longer available, duplicate orders, and refund delays of 5–7 days.

The team had looked at Zapier, but the cost at that trigger volume (600+ orders × 4–6 steps each) blew past budget, and the conditional logic needed (different rules per marketplace) required custom branches that Zapier prices especially steeply.

02 — What we built

The product surface

A set of production n8n workflows (self-hosted on the client's VPS) that replaced 4 disconnected processes with one orchestrated layer.

01

Order ingestion

Webhook intake from all 4 channels, normalized into a single schema, written to Postgres as the source of truth.

02

Inventory sync

Bidirectional stock sync: any change on one channel (a sale, a manual adjustment) reflects across the other three plus the Shopify admin in under 30 seconds.

03

Fulfillment routing

Automatic order routing between the client's own warehouse and a 3PL partner based on rules (weight, shipping region, stock availability), with shipping labels generated via the Shippo API.

04

Returns & refunds

The customer initiates a return through a form — n8n creates an RMA, notifies the warehouse, and once receipt is confirmed, automatically triggers a refund via Stripe/marketplace APIs and updates the customer's status.

05

Exception alerts

A Slack channel notifies an operator only about cases the workflow can't resolve on its own: data conflicts, API failures, negative inventory balances.

03 — Architecture and stack

Decisions, not just dependencies.

Triggers come from webhooks (Shopify, Amazon SP-API, Etsy, Walmart) plus cron triggers for periodic reconciliation and retries. The orchestration layer is n8n, self-hosted on Docker — 14 production workflows split into reusable sub-workflows for shared logic like order normalization, logging, and error handling. Postgres is the source of truth for orders and inventory, with Redis holding short-lived locks to prevent race conditions during parallel sales.

Integrations span the Shopify Admin API, Amazon SP-API, Etsy API, Walmart Marketplace API, Shippo for shipping labels, and Stripe for refunds. Slack carries exception alerts for operators, and email templates handle customer status updates. A centralized error workflow adds retry logic with exponential backoff and a dead-letter queue for cases that need manual review.

04 — Delivery highlights

What was hard, and how we shipped it.

  1. 01

    Cheaper than Zapier at scale

    Built on self-hosted n8n running on the client's own server — roughly 70% savings on automation tooling versus the projected cost of Zapier at 600+ orders/day, with full control over every step of the logic.

  2. 02

    No more overselling

    Bidirectional stock sync reflects any change across all channels in under 30 seconds — zero instances of overselling out-of-stock items in the four months after launch, down from about 12 per week.

  3. 03

    Returns without support

    92% of returns processed fully automatically: a customer form creates an RMA, notifies the warehouse, and triggers a refund via Stripe/marketplace APIs on confirmed receipt.

  4. 04

    Race-condition-safe

    Redis short-lived locks prevent the same item being sold on two channels at once, load-tested against peak volumes in a Black Friday simulation.

  5. 05

    Editable by the client

    A phased shadow-mode cutover plus documentation and training so the client's team can edit simple rules — like adding a new shipping channel — without a developer.

Looking at a project that sits at this kind of seam?

Bring us the architecture, the constraints, and the ship date. We will bring the rest.