# Stock not updating correctly on PrestaShop

> Displayed stock that doesn’t match reality, a quantity that won’t move after an import, stock that looks stuck after a cancelled order: the most common cause is confusing physical stock with reserved stock, two separate counters in PrestaShop.

- Source canonique : [https://allaux.fr/en/prestashop/problemes/gestion-stocks-mise-a-jour](https://allaux.fr/en/prestashop/problemes/gestion-stocks-mise-a-jour)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> Compare the quantity shown on the front office with the value stored in ps_stock_available for that product: a gap almost always comes from quantities reserved by carts in mid-payment, not from lost stock. For a pack, availability derives from its components. A CSV import that overwrites quantities ignores orders already being processed.

## Physical stock and reserved stock: two counters, not one

As soon as a customer starts paying, PrestaShop reserves the matching quantity without permanently removing it from physical stock until the order is validated. If payment fails or the customer abandons it, that reservation should release automatically after a delay; this mechanism, more than the stock figure itself, explains most of the gaps reported between what’s displayed and what’s genuinely available.

Behaviour changes significantly depending on whether Enable advanced stock management, under Preferences > Products, is switched on. With advanced stock, every movement (receiving, sale, transfer) is tracked individually, giving finer visibility but also more points where things can drift out of sync if an import doesn’t respect that logic.

## Packs, imports and supplier synchronisation

A product pack has its own stock logic: its availability depends on its components, not a quantity entered directly on the pack’s own sheet. A stock issue on a pack is therefore diagnosed on the products that make it up.

A CSV import that overwrites the stock quantity without accounting for orders in progress can push sales into negative stock: the file replaces a value without knowing part of that stock is already committed. A one-off resync is fixed directly in the database or through a carefully controlled re-import; a recurring, reliable feed from a supplier needs development instead: a PrestaShop webservice, or a scheduled import that respects orders in progress instead of ignoring them.

## One-off resync, or automation?

> Stock that’s wrong at a given moment is fixed through configuration or a manual database correction. A supplier feed that needs to stay continuously accurate, with logic specific to the site, is custom development.

## Related pages

- **Products or category descriptions missing** — Stock at zero can also explain why a product seems to have vanished from its category page. ([/prestashop/problemes/categorie-produits-non-affiches](/prestashop/problemes/categorie-produits-non-affiches))
- **Custom module development** — Automated supplier synchronisation, a webservice, a scheduled import: when standard configuration isn’t enough. ([/prestashop/module-sur-mesure](/prestashop/module-sur-mesure))
- **PrestaShop 1.6 to 1.7 or 8 migration** — Advanced stock management behaves differently depending on the version, worth checking before any migration. ([/prestashop/migration](/prestashop/migration))

## FAQ

### Why doesn’t a cancelled order release stock immediately?

Release follows a configurable reservation delay, not an instant action. If that delay is set wrong, or a payment module doesn’t notify the cancellation correctly, stock stays locked longer than expected.

### Is the stock shown on the product page real-time?

Yes, it reflects physical stock minus current reservations at the moment the page loads, not a cached figure.

### How do I know if advanced stock is enabled on my site?

The setting is under Preferences > Products, as Enable advanced stock management. I check it systematically before any stock diagnosis, since it changes how every movement is recorded.

### Can a CSV import push a product negative without a visible error?

Yes, if the import overwrites the quantity without checking orders in progress, PrestaShop doesn’t always block a negative value, depending on the configuration chosen for out-of-stock sales.
