Home/Modules/
Inventory

Odoo Inventory

One live stock ledger across warehouses, branches, Salla and Zid, with barcodes, lots and expiry dates built in, for Saudi distributors, retailers and food producers.

Inventory
Capabilities

What this module handles

The most common reason a Saudi brand oversells on Salla while a branch in Jeddah holds the item is that the storefront, the branches and the accountant each keep their own stock count, and the expiry write-off at month end is the second most common. Odoo Inventory tracks every unit by location, lot or serial and reserves it for the right channel the moment an order lands, with barcode operations, reordering rules and valuation keeping the warehouse and the books in step, which is why Naqlah, Odoo Gold Partner in Saudi Arabia, treats it as the core of almost every product business implementation.

  • Multi-warehouse and multi-location stock across Riyadh, Jeddah, Dammam, branches and 3PL partners
  • Barcode receiving, picking, internal transfers and cycle counts from a scanner or phone
  • Reordering rules by minimum and maximum level, lead time and preferred vendor per location
  • Lot, serial and expiry tracking with first-expired-first-out picking for food, pharma and cosmetics
  • Inter-branch transfers with transit locations, so stock on the road is neither lost nor double counted
  • Multi-step routes for pick, pack and ship, with carrier labels printed from the delivery order
  • Real-time valuation by FIFO, average or standard cost, posted to accounting on every move
  • Cycle counts and adjustments with reasons, replacing the annual count that stops the business
Saudi ready

Built for how business runs in Saudi Arabia

Stock values flow into ZATCA-compliant accounting in SAR on every receipt, delivery and adjustment, so cost of goods sold, the balance sheet and the year-end stock figure that feeds your Zakat base come from the same ledger rather than an estimate. Labels and delivery notes print in Arabic and English with GS1 barcodes where retail chains require them, and lot and expiry tracking give you the traceability SFDA expects for food, cosmetics and medical products, down to which lot went to which customer in a recall. Available quantities are pushed to Salla and Zid through the Naqlah Salla app, and purchase receipts carry FASAH customs, freight and SABER costs through Odoo Purchase landed costs so imported stock is valued correctly.

Channel-safe stock
Salla, Zid, POS branches and sales orders reserve from one pool, and available-to-promise is what each channel sees. The website stops selling the last unit that a branch sold an hour ago.

Expiry under control
Lots carry expiry and alert dates, picking follows first-expired-first-out and reports show what expires in the next 30, 60 or 90 days by location. Waste becomes a managed number instead of a surprise.

Import-ready
Receipts from Jeddah or Dammam port carry customs duty, freight and conformity costs into product value, and the customs reference sits on the receipt for audit. Product cost reflects what it took to get the goods on the shelf.

How it connects

How does stock move through Odoo from supplier to customer?

1. Receipt scanned against the purchase order
The warehouse scans incoming goods, records lots and expiry dates, flags quantity differences and lands import costs on the received products.

2. Put away and valued
Goods are put away to the right location and the valuation entry posts to accounting at the same moment, in SAR.

3. Orders reserve and pick by barcode
Sales, Salla, Zid and POS orders reserve stock by channel priority and the picker follows a barcode-guided list, first-expired-first-out where tracking applies.

4. Delivery validated and invoice triggered
The delivery is validated, the carrier label prints through the carrier integrations Naqlah connects, tracking goes to the customer and the invoice is generated.

Implementation

What Naqlah configures in your implementation

  1. Warehouses, branches and locations. We design your location tree: main warehouses, branch stock, transit locations between cities, 3PL and marketplace stock, and quarantine for returns and quality holds.
  2. Products, barcodes, units and tracking. Bilingual product data, GS1 or internal barcodes, units of measure and lot, serial or expiry tracking per category.
  3. Routes and multi-step operations. One-step or pick-pack-ship flows per warehouse, inter-branch transfer routes and dropship or cross-dock where needed.
  4. Reordering rules and lead times. Minimum and maximum levels per location with vendor lead times, including Ramadan and seasonal buffers.
  5. Valuation method and accounting links. FIFO, average or standard cost with automated posting to inventory, COGS and price difference accounts.
  6. Devices, carriers and opening count. Scanners, label printers and carrier connections set up, then the opening stock count and warehouse team training.

Timelines depend on the number of locations and SKUs, and Naqlah gives you a clear roadmap in the first consultation.

Who it is for

Companies that get the most from this module

  • Distributors and wholesalers. Multiple warehouses across Riyadh, Jeddah and Dammam with inter-city transfers and reorder points per site.
  • Retail chains with branch stock. Branch-level availability, transfers between stores and cycle counts without closing the shop.
  • eCommerce brands with own or 3PL fulfillment. Salla or Zid orders routed to the right warehouse with carrier labels and returns restocked by reason.
  • F&B producers and roasteries. Lot and roast date tracking, first-expired-first-out for milk and pastries, and central kitchen to branch transfers.
  • Pharmacies and medical suppliers. Expiry alerts, lot traceability for SFDA and controlled quarantine for recalls.
Before and after

Branch spreadsheets and Salla stock vs Odoo Inventory

AreaBeforeWith Odoo via Naqlah
Stock visibilityOne spreadsheet per branch, reconciled monthlyLive quantity per location, lot and serial
Online stockSalla or Zid quantities updated by handAvailable quantity synced from one pool
ExpiryDiscovered on the shelf or by the customerFirst-expired-first-out picking and expiry alerts
CountingAnnual count that closes the warehouseCycle counts by barcode with adjustment reasons
ValuationYear-end estimate for the auditorPosted to accounting on every move
TransfersWhatsApp requests between branchesTracked transfers with transit and receipt confirmation
FAQ

Module questions, answered

Everything else, we cover in a free 30-minute consultation.

Can Odoo manage stock across multiple warehouses and branches in Saudi Arabia?
How does Odoo stop overselling on Salla and Zid?
Does Odoo Inventory track lots and expiry dates?
Does Odoo work with barcode scanners and label printers?
How is stock valuation linked to accounting and Zakat?
Can Odoo handle imports with customs and freight costs?
Related

Modules that work well together

Ready to run your business on one system?

Free consultation. Meet the team and get a clear roadmap in one call.

Book your consultation