Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

Milan Inventory Sync For WooCommerce Wordpress Plugin - Rating, Reviews, Demo & Download

Milan Inventory Sync For WooCommerce Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

Milan (pronounced mee-LAN, Bengali for “to synchronize”) is a self-hosted multi-channel inventory management plugin. WooCommerce is your source of truth. Milan syncs stock, listings, and orders bidirectionally with Amazon, eBay, Etsy, Shopify, Walmart, and regional marketplaces.

Self-hosted, with no per-SKU accounting

Milan runs inside WordPress. Your catalogue, your stock levels, your mappings and your sync history are rows in your own database, and nothing about them is uploaded anywhere. There is no SKU count, no order quota and no usage metering of any kind.

By the makers of Nishchoy Reviews, Uttor AEO, Chala Subscriptions, and Poth Checkout.

What this plugin does

Everything listed here works, with no licence, no key and no limit. Nothing in this plugin is switched off pending payment.

  • Shopify integration — connect your store and sync inventory in both directions
  • Two-way stock sync — push WooCommerce stock out, and pull the channel’s stock back in
  • Price sync — send WooCommerce prices, with an optional per-channel markup
  • Listing management — create and update channel listings from WooCommerce products
  • Order import — orders placed on the channel become ordinary WooCommerce orders
  • Order status sync — send fulfilment, tracking and cancellations back to the channel
  • Product mapping — match by SKU or by hand, including variations to variants
  • Reserved stock buffers — hold units back per channel so the last one is not sold twice
  • All four conflict strategies — WooCommerce wins, channel wins, most recent wins, or hold for manual review; set per channel, or per event type within a channel
  • Bulk conflict resolution — settle a filtered queue in one action
  • Unlimited channels — connect as many as you have adapters for
  • Full analytics — success rate, failures, conflicts, latency percentiles, daily trends, sales by channel, oversell prevention, and CSV export of any view
  • Optimistic locking — compare-and-swap on every stock write, so concurrent sales cannot lose an update
  • Rate limit enforcement — respects each channel’s published limits and its retry-after headers
  • Retry queue — failed attempts back off exponentially rather than hammering
  • Complete sync and conflict logs — no cap on history
  • REST API + WP-CLI — headless-friendly: wp milan sync, wp milan status, wp milan map, wp milan diagnose
  • HPOS-native
  • Own your data

Additional marketplaces

Adapters for Amazon (SP-API), eBay, Etsy and Walmart Marketplace — and for Flipkart, Meesho, Jumia, Lazada and Noon — are distributed separately as Milan Inventory Sync Pro, along with alerting, multi-warehouse routing, white-labelling, WPML and Polylang support, and a mapping importer. That code is not part of this plugin; installing the add-on adds it.

Works with the publisher’s other plugins

If any of these are installed, Milan uses them. None is required, and nothing here is disabled without them.

  • Nishchoy Reviews — import reviews from Amazon and Etsy, subject to those marketplaces’ terms
  • Uttor AEO — keeps availability schema truthful across every channel
  • Chala Subscriptions — pauses a renewal for something out of stock everywhere
  • Poth Checkout — keeps upsells to items you can actually ship

Importing existing mappings

The separately distributed add-on can import product mappings from a CSV export, so a catalogue already mapped elsewhere does not have to be mapped again by hand. Guide at milan.bytloop.com/docs/migration.

Developer-friendly

Every sync event fires an action. Every channel is a pluggable adapter — third-party channels supported via ChannelAdapterInterface. Full REST API. See milan.bytloop.com/docs/developers.

External services

This plugin connects to one third-party service: Shopify.

It does so only after you have entered your own Shopify credentials and connected a store on the Channels screen. Until you do that, the plugin makes no external requests at all. There is no telemetry, no analytics, no licence check, no phone-home, no remote font and no remote CDN asset.

Shopify Admin API

What it is used for. Keeping your WooCommerce stock and the stock on your Shopify store in agreement, importing orders placed on Shopify, and registering the webhooks that tell this plugin when something changed on Shopify.

Where the requests go. https://{your-store}.myshopify.com — your own Shopify store, using the access token you supply.

What is sent, and when.

  • When you connect a store, and when you press “Test”: a request asking Shopify to confirm the credentials work, and to list your shop’s locations.
  • When WooCommerce stock changes, and when a scheduled sync runs: the product or variant identifier you mapped, and the new stock quantity.
  • If you enable price sync: the product identifier and the price.
  • If you enable listing management: the product fields needed to create or update that listing — title, description, price, SKU, stock.
  • When importing orders: a request asking Shopify for orders placed since the last import. This receives customer data from Shopify; it is not sent there.
  • When registering a webhook: the URL on your own site that Shopify should notify.

No WooCommerce customer data is ever sent to Shopify by this plugin. Nothing is sent for a product you have not mapped.

Terms of service: https://www.shopify.com/legal/terms
Privacy policy: https://www.shopify.com/legal/privacy

If you install the separate add-on

Milan Inventory Sync Pro, distributed from milan.bytloop.com and not part of this plugin, adds adapters that connect to Amazon Selling Partner API, eBay, Etsy, Walmart Marketplace and several regional marketplaces on the same basis — your own seller accounts, your own credentials — and contacts Freemius to validate its licence. Its own readme documents those services. None of that code is in this plugin.

Screenshots

  1. Channels — every marketplace you have connected, with its health.

    Channels — every marketplace you have connected, with its health.

  2. Product mappings — WooCommerce stock beside what each channel was last told.

    Product mappings — WooCommerce stock beside what each channel was last told.

  3. The dashboard — sync health at a glance.

    The dashboard — sync health at a glance.

  4. The conflict queue — both values, and what settled it.

    The conflict queue — both values, and what settled it.

  5. Analytics — success rate, latency, oversell prevention, and CSV export.

    Analytics — success rate, latency, oversell prevention, and CSV export.

  6. Settings — including the two switches that can change a live channel.

    Settings — including the two switches that can change a live channel.


Reviews & Comments