Inventory Management in Saudi Arabia: A Practical Retail Guide

How supermarkets, retail shops and trading companies in KSA can keep stock accurate and cash free: counts, reorder levels, expiry control, barcodes, branch transfers, shrinkage, input VAT records and KPIs.

Inventory Management in Saudi Arabia: A Practical Retail Guide

This is general guidance, not legal or tax advice. VAT rules can change, so confirm the current requirements on the official ZATCA website or with your tax adviser.

For a supermarket, mini-market, retail shop or trading company in Saudi Arabia, stock is usually the biggest amount of money tied up in the business. Good inventory management means the right items are on the shelf, old stock does not expire in the back room, and the numbers in your system match what is really there. This guide covers the habits that make that happen, the VAT records you need on purchases, and the KPIs that tell you whether it is working, with a worked example.

Stock counts you can trust

Every other number depends on your stock count. Two approaches work well together:

  • Full physical count: everything counted at once, typically at year end or before closing the books. It is accurate but disruptive, so plan it outside peak hours.
  • Cycle counts: a small group of items counted every day or week, so the whole store is covered over a period. Count fast-moving and high-value items (A items) most often, slower lines (B and C items) less often.

Practical tips: freeze transactions for the items being counted, count with handheld scanners rather than paper, have a second person recount any big difference, and record the reason for every adjustment (damage, expiry, theft, wrong receiving). An adjustment without a reason teaches you nothing.

Reorder levels and seasonal demand

A reorder level tells the system when to warn you to buy. A simple formula is:

Reorder level = average daily sales x supplier lead time (days) + safety stock

Example: you sell an average of 40 cartons of a juice a day, the supplier delivers in 5 days, and you keep 60 cartons as safety stock. Reorder level = 40 x 5 + 60 = 260 cartons. When stock falls to 260, it is time to order.

Demand in Saudi Arabia is strongly seasonal. During Ramadan, sales of dates, juices, flour, oil, sugar and dessert ingredients rise sharply, and evening hours become the busiest. Eid, back-to-school and the summer travel season bring their own peaks. If daily sales of that juice rise to 70 cartons in Ramadan, the reorder level becomes 70 x 5 + 60 = 410 cartons. Review reorder levels for seasonal lines a few weeks before each season, agree delivery slots with suppliers early, and lower them again afterwards so you do not carry extra stock into slow months.

FIFO, FEFO and expiry dates for food

For food, beverages, cosmetics and medicines, the date on the pack matters more than the date you received it.

  • FIFO (first in, first out): sell the oldest stock first. It suits most dry goods and is also a common costing method.
  • FEFO (first expired, first out): sell the batch that expires first, even if it arrived later. This is the safer rule for perishables.

To make this work, record batch and expiry date at goods receiving, not later. Run a weekly near-expiry report (for example, items expiring within 30 days) so you can move them to the front, bundle them in offers or return them to the supplier where your agreement allows. Remove expired items from sale immediately and record them as a write-off with a reason.

Barcodes and multi-branch transfers

Barcodes remove most counting and billing mistakes. Use the manufacturer barcode where it exists, print your own labels for loose or repacked items, and use weighing-scale barcodes for fruit, vegetables, meat and bakery so the price and weight are read at the till.

If you run several branches or a central warehouse, every movement should be a documented transfer: sent by one location, received and confirmed by the other. Stock in transit should be visible so it is not counted twice or lost. A central view lets you move slow stock from one branch to another where it sells, instead of buying more.

Controlling shrinkage

Shrinkage is the difference between what your system says you should have and what you actually have. Example: the system shows 1,000 units of an item, the count finds 985. Shrinkage is 15 units, or 1.5%. At a cost of 12 SAR each, that is 180 SAR for one item.

Common causes are receiving errors, damage, expiry, theft and wrong item scanned at the till. Controls that help:

  • check deliveries against the purchase order and supplier invoice before signing;
  • give cashiers limited rights and review voids, discounts and returns daily;
  • track shrinkage by item and by branch to find patterns;
  • keep damaged and expired stock in a separate, recorded area.

VAT on purchases: keep input VAT records

Every purchase invoice from a VAT-registered supplier usually carries 15% VAT. If you buy goods for 10,000 SAR, the supplier charges 1,500 SAR VAT and you pay 11,500 SAR. That 1,500 SAR is input VAT, which you can normally deduct in your VAT return, but only if your records support it.

According to ZATCA's guidelines, you generally need a valid tax invoice (in Arabic) to deduct input VAT, the deduction can be made in a later period but within a time limit, and records must be kept for at least six years. ZATCA's input tax guideline also says input VAT on goods that are lost, damaged or stolen generally does not need to be adjusted, but these losses must be recorded in your accounts and ZATCA may ask for evidence. Check the details in the official ZATCA guidelines.

In practice: enter every purchase with the supplier's VAT number and invoice number, attach or link the e-invoice, separate stock cost from VAT, and record write-offs with reasons. Inventory and accounting in one system saves a lot of month-end work.

Inventory KPIs with a worked example

Three numbers tell you how well your stock is working:

  • Gross margin % = (net sales - cost of goods sold) / net sales x 100
  • Inventory turnover = cost of goods sold / average stock at cost
  • Days of stock = 365 / inventory turnover

Example for one supermarket over a year (all figures in SAR, excluding VAT):

CategoryNet salesCost of goods soldAverage stock at costGross marginTurnoverDays of stock
Fresh dairy450,000360,00015,00020.0%24.015.2
Rice, oil and dry grocery730,000600,000105,00017.8%5.763.9
Household and cleaning320,000240,00080,00025.0%3.0121.7
Whole store1,500,0001,200,000200,00020.0%6.060.8

What it shows: dairy turns over quickly, as fresh food should. Household items earn the best margin but hold about four months of stock, so 80,000 SAR is tied up on shelves. Cutting that to around 60 days would free cash without losing sales, by lowering reorder quantities and dropping slow lines. Dry grocery has the lowest margin, so check supplier prices and promotions there.

Put your stock under control

AxoOne inventory and accounting software tracks barcodes, batches and expiry dates, branch transfers, reorder levels and purchase VAT in one place, and works with AxoOne supermarket POS. Book a free demo to see it with your own items.

Frequently asked questions

What is the best way to manage inventory in a Saudi supermarket?

Use barcodes for every item, record batch and expiry at receiving, set reorder levels from real sales and supplier lead times, run regular cycle counts and review shrinkage weekly. Keeping POS, inventory and accounts in one system makes the numbers consistent across branches.

How often should a retail shop do a stock count?

Many retailers combine one full count a year, usually at year end, with cycle counts during the year. Fast-moving and high-value items are counted most often, for example weekly, while slower items can be counted monthly or quarterly.

What is the difference between FIFO and FEFO?

FIFO sells the oldest received stock first. FEFO sells the batch with the nearest expiry date first, even if it arrived later. For food, drinks, cosmetics and medicines, FEFO is usually the safer rule because it reduces expired stock.

Do I need to adjust input VAT on damaged or stolen stock?

ZATCA's input tax guideline states that input VAT generally does not need to be adjusted for goods that are lost, damaged or stolen, provided the loss is recorded in your accounts. ZATCA may ask for supporting evidence. Confirm your case with ZATCA guidance or a tax adviser.

What is a good inventory turnover ratio?

It depends on the category. Fresh food should turn over many times a year, while household goods or hardware turn much more slowly. Compare each category with its own history and look for lines with high days of stock that tie up cash.

Let’s get your project started

Talk to our Riyadh team about software, ZATCA e-invoicing or your next app. We reply within one working day. تواصل معنا الآن — فريقنا في الرياض جاهز لخدمتك