Khichdi InfoTech
Skip to content

Odoo POS · intermediate · 9 min read

Integrating POS with Inventory

Connect Odoo POS to inventory truth: stock locations, real-time deduction, picking policies, replenishment, omnichannel ATP, and avoiding oversell across stores and ecommerce.

Last reviewed 2026-07-30 · Estimated effort: 2–6 weeks typical implementation slice

Table of contents

POS inventory integration ties each store register to a warehouse or stock location so confirmed sales create stock moves that reduce on-hand quantity in Odoo — the same records Sales and ecommerce channels read for availability.

Design choices include real-time deduction at payment versus picking from a store stock operation, how returns restock, and whether ship-from-store or DC fulfillment shares one ATP pool.

Logistics covers replenishment and barcode accuracy. Shopify and Retail guides cover channel-specific allocation rules. Offline POS adds sync constraints covered in the offline article.

Overselling online while shelves still show stock is a common failure when POS runs disconnected from inventory. Customers and finance both lose trust when ATP numbers disagree with what cashiers can actually sell.

This article explains how to wire POS to inventory locations and stock policies. Read barcode and offline articles for execution detail on scanning and disconnected registers.

Each POS configuration should reference the warehouse or location where that store sells from — typically a shop floor or backroom bin under a store warehouse record.

Multi-store chains with shared DC fulfillment need explicit rules: does POS deduct store stock only, or can it sell from central pool with routing? Ambiguity here causes ecommerce oversell.

  • One warehouse per store versus shared regional pool
  • Shop floor versus backroom sub-locations
  • Negative stock policy: allowed or blocked at POS
  • Product availability flags per POS config

Odoo can update inventory when the order is paid, when it is validated, or through a picking step depending on settings and version behavior. Align timing with how quickly ecommerce must see reduced ATP.

Returns should increment the correct location — damaged goods may route to scrap or quarantine rather than sellable shop stock.

Store sales deplete local quants. Replenishment rules, internal transfers from DC, or vendor direct-to-store flows must keep registers stocked without manual spreadsheet counts.

Cross-link Logistics for pick-pack-ship and barcode receiving that feeds store backrooms.

When Shopify or other ecommerce channels share catalog, define whether online orders reserve stock globally or per location. POS sales at Store A should not silently consume stock promised to an online buyer at Store B unless rules allow.

Retail pillar articles cover promotion and pricing consistency; this article focuses on quant movement.

  • Map every store to a warehouse location before enabling POS sales.
  • Test a sale and return cycle and verify quant changes in Inventory.
  • Align stock move timing with ecommerce ATP expectations.
  • Define replenishment triggers before peak season depletes shop floor.
  • Cross-link Shopify when online and store share one catalog.
  • Reconcile POS session reports with inventory adjustments weekly during rollout.

  • !Selling products at POS without storable flag or stock tracking enabled.
  • !Using one global stock location for all stores without transfer discipline.
  • !Allowing negative stock at POS while ecommerce blocks oversell.
  • !Ignoring return restock paths for damaged versus resellable goods.
  • !Manual inventory counts that never reconcile with POS session totals.
  • !Enabling ship-from-store without testing allocation conflicts.

POS inventory integration is the foundation of honest ATP across stores and channels — every sale and return must touch the right location.

Next, validate location mapping with test transactions before connecting ecommerce or replenishment automation.

POS sale → stock move → ATP update → ecommerce visibility.
1

Stock move

Receipt, sale, or transfer.

2

Update quants

Odoo inventory truth.

3

Publish ATP

Channels receive availability.

4

Exception

Oversell / conflict handling.

DC to store replenishment feeding register availability.
1

Open store

Hardware and cash float.

2

Trade

Sales and exceptions.

3

Replenish

Backroom to floor.

4

Close

Counts and reports.

Frequently asked questions

Does POS update inventory in real time?

When configured with stock locations and storable products, POS sales create stock moves on confirmation. Offline mode batches updates until reconnect — see the offline article.

Can one product sell from multiple store locations?

Each POS config points to its location. Cross-store sales require transfers or shared pool rules defined in architecture, not ad hoc cashier workarounds.

How do returns affect inventory?

Configure return operations to restock sellable quantity or route to scrap. Cashiers should follow one return playbook so quants stay accurate.

Should ecommerce and POS share one warehouse?

They share product masters; location strategy varies. Many retailers use per-store warehouses plus a DC with explicit fulfillment rules.

Unifying store and channel inventory in Odoo?

Share your store and DC layout — we will outline location and ATP rules that prevent oversell.

Business technology and software delivery