Skip to content

Omnichannel Connector

Shopify, WooCommerce, Amazon and any REST marketplace, with stock divided not duplicated.

The short answer

Omnichannel Connector runs Shopify, WooCommerce, Amazon and any REST marketplace you describe yourself from one place in Odoo, dividing free stock between channels by a rule you set instead of publishing the same figure to all of them. It is for a seller whose marketplace account cannot afford an oversell, and it keeps an append-only ledger of what was sent where.

Request this module

Last updated

What it is for

You publish free stock to each channel independently, so every channel reads the same number and sends it onward. Each one is told it can sell everything you have, and the moment more than one of them does, you owe stock that does not exist. On your own webshop that is an apology and a refund. On a marketplace it is a defect-rate strike against the selling account your business depends on, and nobody there cares that the software was doing what it was told. The other half is money. Orders sync, payouts arrive net of fees and refunds, and no connector that carries orders alone can reconcile the difference.

Platform
Odoo
Category
Connectors
Works with
Odoo 18 · Odoo 19
Technical name
webbox_commerce
Status
Direct from webbox
Pricing
Paid

What is inside it

  1. 01

    The Oversell Guard

    Free stock is divided, never promised twice. Safety stock comes off the top, the most specific rule wins, and the sum of every channel's allocation can never exceed what is actually free. That invariant is asserted in the test suite.

  2. 02

    What syncs, per channel

    A published matrix of what moves in which direction on each channel, blank cells included, matching the scope document inside the module. Every direction starts off on a new channel and is switched on one at a time.

  3. 03

    The five channels

    Shopify on the Admin GraphQL API, WooCommerce on wc/v3, Amazon as your own SP-API application, a no-code Generic REST channel with seven auth schemes, and a Demo channel that needs no credentials.

  4. 04

    Quick commerce

    Flipkart ships as an editable REST template. Blinkit, Zepto and Swiggy Instamart publish no seller API, so each is a purchase-order import template tracked through acknowledgement, despatch note, dock appointment and goods receipt.

  5. 05

    When it goes wrong

    One Fix-It entry per problem rather than per failure, with the count in the title and a button that opens the screen where you fix it. Resolving an entry retries whatever it was blocking.

  6. 06

    Settlements

    A payout is stored as a header plus its transaction lines, and the stated net is checked against the sum of those lines. Sale lines are matched back to the orders they paid for.

  7. 07

    Security

    Two groups, one of which never sees a secret. Credentials are stripped from logs at a single redaction point, the webhook endpoint fails closed, and a restored database copy has its credentials cleared automatically.

What it looks like in practice

  1. Every channel is told the same free stock is theirs

    There are 42 free units of one product, and each connected channel reads that same number independently.

    A rule holds 2 back as safety stock, then divides the remaining 40 by the shares you set, so 45/25/20/10 resolves to 18, 10, 8 and 4. The total can never exceed what is actually free.

    Free stock
    42
    Safety stock
    2
    Shares
    45/25/20/10
    Allocated
    18, 10, 8 and 4

    A default you can change.

    The Oversell Guard

  2. A listing published five units and the channel says it holds two

    Most rows on Channel Listings show a drift of 0.00, which is what agreement looks like. One row does not.

    Four columns sit side by side per listing: free in Odoo, published, what the channel says, and the drift between the last two. A nightly pass compares them and files the difference as somebody's job.

    Published
    5
    Channel says
    2
    Drift on most rows
    0.00

    Figures from the module's own demo data, on a fresh install. Install the module, enable the Demo channel, and open Omnichannel then Operations then Channel Listings.

    The Oversell GuardWhen it goes wrong

  3. The payout is smaller than the order and the order does not say why

    An order total and the money that lands weeks later are different figures. None of the deductions are visible from the order itself.

    The payout is stored as a header plus its transaction lines, and the header's stated net is checked against the sum of those lines. A refund whose order never reached Odoo is named on the screen instead of leaving an unexplained gap.

    Behaviour of the shipped code.

    SettlementsWhen it goes wrong

What it deliberately does not do

No OAuth 1.0a, therefore no Magento 2
Magento signs every request with an HMAC over a canonicalised parameter string. That is code, not configuration, so it cannot ride the Generic REST channel.
Amazon stock is FBM only
Fulfilled-by-Amazon quantities live in Amazon's warehouses. Pushing ours at them would be both rejected and wrong.
Quick commerce is a purchase-order lane, not a channel integration
Blinkit, Zepto and Swiggy Instamart have no public seller API. If anyone describes this as integrating with them, they are describing something we do not sell.
Nothing is posted to your general ledger
Settlements are recorded and reconciled, never journalised. Writing accounting entries unattended from a parsed flat file is how a connector corrupts the books it was meant to feed.
This is not the single-channel Shopify connector
WebBox also publishes a Shopify-only product. They share no models and no data, there is no migration between them, and you should not point both at the same store.

Questions

Can I install this on Odoo Online?
No. Odoo Online cannot install modules that contain Python, so this runs on Odoo.sh or a self-hosted instance. Check the versions listed above for the series and edition it is verified against.
Does it integrate with Blinkit, Zepto or Swiggy Instamart?
Not as channels. None of the three publishes a public seller API, so each ships as a purchase-order import template that reads their PO format and tracks acknowledgement, despatch note, dock appointment and goods receipt. If anyone calls that integrating with Blinkit, they are describing something we do not sell.
Can it connect a Magento 2 store?
No. Magento signs every request with an HMAC over a canonicalised parameter string, which is code rather than configuration, so it cannot ride the Generic REST channel. There is no OAuth 1.0a support here, and therefore no Magento 2.
Does it post settlement fees into my accounts?
No. Settlements are recorded and reconciled against their own lines, never journalised. Writing accounting entries unattended from a parsed flat file is how a connector corrupts the books it was meant to feed, and the repair afterwards is a manual reversal per entry.

Have something to build?

Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.

  • Free scoping call
  • Reply within 1 business day
  • No lock-in