Skip to content
Back to catalog
ModuleInventory & warehouseNew

Supplier Stock

Sell what your supplier holds, without holding it yourself

Adds the stock your suppliers declare to what you publish on the marketplaces, netting out what has already sold and applying a confidence factor per supplier. And it expires the snapshot of whoever stopped sending their list.

Compatibility
Odoo 19

How you get it

Every development works in all three Odoo environments. The only thing that changes is how we deliver it.

Nothing to install

Odoo Online (SaaS)

You do not need the ability to install modules. A Millora consultant comes in with temporary access that you authorize and implements it with Odoo Studio. When they are done, you revoke the access.

Install it today

Odoo.sh or your own server

You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.

Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_inventario_del_proveedor /mnt/extra-addons/

# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init

# 3 · instala desde Apps
#     busca "Supplier Stock"

What it solves

The problem

There are SKUs you don't hold in your warehouse but can still sell: the supplier has them and ships them. On a marketplace, though, only what you publish exists — and you publish what Odoo says you have.

So there are two ways out, and both are bad. Either you don't list them, and stop selling product you could have delivered. Or you list them with a made-up quantity, and sooner or later you sell something the supplier no longer had.

And on a marketplace that second one is not a stock discrepancy: it is a cancellation, a penalty and a hit to seller reputation — the thing your position in the channel's search results depends on.

How it works

The supplier's list is uploaded with Odoo's importer. Each upload is a dated snapshot: re-uploading corrects the figure rather than duplicating it.

From there comes the published figure:

  • What's available is what the supplier declared minus what has sold since that snapshot's date. Not since midnight today: if the supplier hasn't restocked, yesterday's sales stay deducted.
  • Only confirmed orders count. A quotation nobody closes doesn't hold pieces.
  • It rounds down. It never publishes an extra unit over a decimal.

The confidence factor. Suppliers overstate. Rather than arguing over the list, a percentage gets published: at 80%, out of 100 pieces you offer 80. It gets tuned by who actually delivers, supplier by supplier, without ever having that conversation.

The snapshot expires. Each supplier has its validity in days. The one who stopped sending their list stops selling by inertia, instead of going on offering stock from three months ago.

And the result is added to your own stock in the same field the connector already reads, so the marketplace simply sees more availability. The integration on the other side isn't touched. Each row remembers how much this module contributed, so republishing recalculates instead of accumulating.

What it does not do

A SKU sourced from both sides gets deducted twice. If a product has its own stock and the supplier's, the sale is subtracted from both: from your own stock the usual way, and again from the declared quantity. The effect is conservative — it never oversells — but it can pull a product from sale that was actually there. It is designed for SKUs that come only from the supplier.

There is a window where the contribution disappears. The connector deletes and rebuilds its sync table every four hours; this module restores its share every hour. In between, for up to an hour, the channel sees only your own stock: it under-publishes, never over. There is a button to close that window by hand.

It does not buy or order anything. It publishes availability. When the sale comes in, fulfilling it is still an errand with the supplier.

It does not verify what the supplier declares. It trusts the file, corrected by the factor. Against a supplier who overstates badly, the tool is to lower their percentage, not to detect it.

The code has to match. A supplier SKU that doesn't exist in your catalogue is left pending and publishes nothing; it gets resolved by creating the product or fixing the code.

What changes

The catalogue you offer stops being limited by what fits in your warehouse. You start selling what your supplier holds — but with a brake: netting out what already sold, publishing a percentage rather than the full figure, and dropping whatever stopped being confirmed.

Which is the difference between widening your catalogue and widening your cancellation rate.

What's included

  • Publishes to the channel the stock your suppliers declare, added to your own
  • Nets out what has sold since each snapshot's date, not since midnight
  • Counts confirmed orders only: an open quotation holds no pieces
  • Applies a confidence factor per supplier and rounds down
  • Expires the snapshot according to the validity set for each supplier
  • Adds up the stock of several suppliers declaring the same SKU
  • Imports the list with Odoo's native importer, matching on code, barcode and marketplace codes
  • Re-uploading the list corrects the figure instead of duplicating it
  • Writes into the same field the connector already reads, without touching the integration
  • Keeps visible which part of the published stock is your own and which is the supplier's

Requirements

  • Sales and Inventory modules active
  • Odoo Marketplugin installed: this module writes onto its sync table, so without the connector there is nowhere to publish
  • The supplier's stock list as a file, carrying supplier, snapshot date, SKU and quantity
  • The supplier's codes matched to the ones in your catalogue
  • Setting each supplier's confidence factor and validity: they are what decide how much gets offered to the marketplace