Skip to content
eListSync · Multi-channel commerce OS

Automate E-Commerce Product Listings Across Every Channel in Seconds

Paste a product URL (or import a document / extension capture). eListSync normalizes the catalog once, publishes to Shopify, Amazon, TikTok Shop, WooCommerce, Medusa, Walmart, and eBay, and keeps stock from double-selling across those channels.

$0 Hobby · 50 products / month · 2 channels · no credit card

Live product preview

Paste a link and publish to every connected channel.

Marketplace integrations

Platforms we integrate with

Official marks for the seven destinations eListSync publishes to today: Shopify, Amazon, eBay, TikTok Shop, WooCommerce, Medusa, and Walmart.

Features

What we automate for multi-channel catalogs

Ingest from a URL, document, or extension. Normalize once. Publish and sync stock across every connected storefront without spreadsheet ops.

Link ingestion

Paste any product URL. eListSync reads Schema.org JSON-LD first, then falls back to DOM heuristics for storefronts without structured data. Supplier CSVs, PDFs, and the browser extension land in the same canonical catalog — title, brand, price, currency, images, GTIN/MPN, and Size×Color variants.

AI catalog

Marketplace SEO rewrites, background cleanup, and variant matrix mapping happen once. Specs live in structured metadata so Shopify GraphQL, Amazon SP-API, and Medusa Admin payloads stay in sync without re-tagging attributes per channel.

Auto-publish

Fan-out to Shopify, Amazon, TikTok Shop, WooCommerce, Medusa, Walmart, and eBay through isolated BullMQ bulkheads. Each destination has its own queue, transformer, and rate-limit profile so a 429 on one marketplace never stalls the rest.

Inventory sync

Orders and stock webhooks reconcile in seconds. Redis Lua locks decrement inventory atomically across linked channels so concurrent buys cannot oversell. Idempotent webhook keys drop duplicate events instead of double-counting.

Resilience

Circuit breakers open after sustained failure, poison messages land in a DLQ for retry, and sync logs surface mapper vs API errors. Operators see channel health instead of silent catch blocks.

Why teams switch

Real-time stock you can depend on — and listings that do not start from a blank form

eListSync is a listing + inventory OS for the seven channels we actually connect. No kitting, no ad feeds, no platforms we have not shipped.

Never oversell from a double-count

Inventory webhooks and poll workers update stock in seconds. Redis Lua locks decrement atomically across linked channels, and duplicate webhooks are ignored via 24-hour idempotency keys. Architecture verification runs 1,000 concurrent buys with zero oversell — that is the behavior this product is built for, not a third-party claim.

Get a catalog in without rebuilding a store

Paste a product URL, drop a CSV/JSON/PDF, or send from the browser extension. eListSync normalizes Schema.org JSON-LD first (DOM fallback second) into one products + variants model. You do not migrate Shopify to start listing on Amazon.

Add a channel without a second listing team

Connect Shopify, Amazon, TikTok Shop, WooCommerce, Medusa/custom REST, Walmart, or eBay once. The publisher fans the same canonical product through per-channel transformers and isolated queues. A 429 on one marketplace does not stall the others.

Prefer numbers? Use the ROI calculator with your product volume and the channels you actually sell on.

Who it is for

Built for teams that refuse to copy-paste listings

Multi-channel merchants

You already sell on Shopify and need Amazon, TikTok Shop, or Walmart without hiring a listing team. Connect destinations once, import a URL, and fan-out the same canonical product.

Ops & catalog teams

Stop maintaining seven spreadsheets of sizes, GTINs, and prices. eListSync keeps variants, images, and stock in one Postgres catalog with per-channel sync logs you can audit.

Open-source store builders

Medusa, custom Express, or any Admin REST. Point Destinations at a Base API URL and Bearer token. Health checks run before credentials are saved; transformers emit Medusa-compatible product payloads.

How a listing actually moves

One canonical product, seven channel transformers

  1. 1. Ingest

    URL scrape, CSV/JSON/PDF document import, or browser extension POST to /api/extension/ingest.

  2. 2. Normalize

    Currency, images, and Size×Color matrices map into products + variants. AI metadata stores SEO copy and category hints.

  3. 3. Transform

    Shopify productCreate, Amazon listing JSON, TikTok Shop, Woo REST, Walmart, eBay Inventory, or Medusa Admin POST /admin/products.

  4. 4. Publish

    POST /api/products/publish enqueues per-channel jobs. Failures enrich channel_sync_logs — never swallowed.

  5. 5. Reconcile

    Inventory webhooks and poll workers update stock. Circuit breakers isolate a down channel while others keep selling.

Trust

Encryption, RLS, and auditable sync

Secrets at rest

OAuth tokens and API keys for each destination are encrypted with AES-GCM. They never sit in plaintext in destination_accounts.

Tenant isolation

Postgres RLS and organization-scoped queries keep catalogs, jobs, and audit logs partitioned. Workers use service credentials only for background jobs.

Webhook integrity

Timing-safe HMAC verification plus 24-hour idempotency keys. Duplicate Shopify or Amazon events short-circuit instead of double-decrementing stock.

Operator notes

What it is like to run the product

These are original statements of eListSync workflows (ingest, multi-channel publish, inventory locks, Medusa/custom REST). They are not paid reviews and not quotes from unnamed shops.

I paste a storefront URL once. JSON-LD lands as a canonical product with variants — then I pick Shopify, Amazon, and TikTok Shop in the publisher instead of filling three listing forms.

Catalog operator

Ingest → normalize → publish

A sale on one channel should not leave the others selling a ghost SKU. Webhooks plus atomic stock locks are why I can open a second marketplace without hiring someone to babysit quantities.

Multi-channel seller

Inventory sync + idempotent webhooks

Our store is Medusa, not Shopify. Destinations take a Base API URL and a Bearer token, check health, then POST Admin products. That is the path we actually run — not a marketplace-only tool stretched to fit.

Open-source store builder

Custom REST / Medusa adapter

How we ship listings across every channel

Health checks, bulkhead queues, circuit breakers, inventory webhooks

Connect
Ingest
Transform
Publish
Sync

Proof in numbers

Shipped product, not a mockup

Numbers from the product itself: seven shipped destinations, Hobby at $0 / 50 products per month, and zero oversell in the concurrent-buy architecture suite.

7

Integrated channels

Shopify, Amazon, eBay, TikTok Shop, WooCommerce, Medusa, Walmart

0

Oversell in concurrent-buy proof

Redis Lua locks + idempotent webhooks

$0

Hobby plan to start

No credit card · 2 channels

50

Products / mo on Hobby

Upgrade to Pro when volume grows

Concurrent-buy proof uses Redis Lua inventory locks. Hours and dollars come from the ROI calculator.

ROI

See what manual listing is costing you

Toggle your channels, drag the sliders, and watch hours and dollars update live. We compare copy-paste listing (minutes × products × channels) against eListSync ingest-once, publish-many (~0.5 min per product).

Channels you publish to

Official eListSync integrations only — select at least one.

7 channels selected

Hours saved / mo

696

Est. $ saved / mo

$24,354

500
12
$35

Formula breakdown

Manual: 500 products × 12 min × 7 channels = 42,000 min (700 hrs)

eListSync: 500 × 0.5 min once = 250 min (4.2 hrs)

696

Hours saved / mo

$24,354

Est. $ saved / mo

700

Manual hours / mo

4.2

eListSync hours / mo

Annual impact

8,350 hrs · $292,248

Pro at $49/mo pays back in about 0.1 months at this volume.

Hours saved / mo

696

Est. $ saved / mo

$24,354

FAQ

Practical answers for ops, engineering, and marketplace compliance teams evaluating eListSync.

Yes. Hobby is $0: 50 products per month and 2 connected channels, no credit card. Open Launch App to start. When you need more volume or channels, Pro is $49/mo (or $39/mo billed annually) and Enterprise is listed on /pricing.

No. eListSync is a web app (Next.js) in the browser. Optional: a browser extension for one-click ingest if you prefer capturing a page instead of pasting a URL. There is no desktop installer.

Connect at least one destination (OAuth or API key / Bearer token), ingest a product via URL, document, or extension, then publish from the catalog. The in-app quickstart is the same five-minute path documented at /docs/quickstart.

Shopify, Amazon SP-API, TikTok Shop, WooCommerce, MedusaJS and compatible custom REST stores, Walmart, and eBay. We do not list Etsy, Square, Wix, or ad-feed networks on this site because those adapters are not in the product.

Inventory webhooks and poll workers reconcile stock in seconds. Redis Lua locks decrement atomically; duplicate webhooks are dropped with idempotency keys. The architecture suite checks 1,000 concurrent buys for zero oversell. Unhealthy channels trip a circuit breaker instead of silently drifting.

Canonical products carry variants (SKU, Size×Color, stock). Transformers map those into each channel’s payload. If a channel rejects a SKU, the failure is written to channel_sync_logs rather than hidden.

Each destination account is a connection (OAuth or keys) under your organization. Plan limits are products per month and number of channels (Hobby 2, Pro 8, Enterprise unlimited as published on /pricing) — not a separate bill per marketplace brand.

The scraper normalizes currencies and supports regional storefronts in the ingest pipeline. Channel APIs still follow that marketplace’s own region and account (for example Amazon SP-API in the seller account you connect).

Each channel has its own BullMQ bulkhead, backoff, and circuit breaker. A 429 on Shopify does not block Amazon or Medusa publishes. Failed jobs can retry from the DLQ.

The canonical catalog is the source for publish. Channel transformers emit the payload each API expects. Per-channel SEO rewrites can live in AI metadata; we do not claim a full “ignore catalog and only sync stock” mode like inventory-only tools.

Privacy Policy, Terms, and a DPA are published on this site. Secrets are AES-GCM encrypted at rest; tenants are isolated with Postgres RLS. Read /privacy and /dpa for the legal text — we do not invent extra certifications we do not hold.

Manual time is minutes × products × selected channels. eListSync time is modeled at ~30 seconds per product because ingest and enrichment happen once. Hourly rate is yours to edit. We do not publish a fake “90 hours saved” headline.

Ready to stop copy-pasting listings?

Launch the operator dashboard, connect a destination, and publish your first product in minutes. Full architecture and API details live in the docs.