Inventory is the stock you have bought and not yet sold. Cost of goods sold (COGS) is the cost of the units you did sell in a period. Buying stock is not an expense on the day you pay the supplier: it turns cash into another asset, and it becomes an expense only when each unit is sold. For an importer or online seller in the UAE or Saudi Arabia, the cost of a unit is also more than the supplier's price. It includes freight, insurance, customs duty and clearing fees, which together make the landed cost. This guide covers the COGS formula, the costing methods IFRS allows, a full landed-cost calculation for one shipment in AED, how VAT fits in, stock counts and write-downs, the effect on UAE corporate tax, and the numbers to watch. It is general information, not tax or accounting advice.

Why is buying stock not an expense?

Many small traders work out profit as "sales this month minus what I paid suppliers this month". That figure moves with your ordering pattern, not with how the business performed. A month with a large shipment looks like a loss, and the next month looks unusually good. Accounting matches the cost of a unit to the sale of that unit. Until the sale, the cost sits on the balance sheet as inventory.

EventWhat is recordedEffect on profit
You receive stock on a supplier billInventory (asset) goes up, accounts payable goes upNone
You pay the supplierBank goes down, accounts payable goes downNone
You sell unitsSales go up; COGS goes up and inventory goes down by the cost of those unitsSales minus COGS

If you are setting up the accounts behind this (inventory, COGS, accounts payable, VAT), see a chart of accounts for a UAE small business.

How do you calculate cost of goods sold?

Periodic (the formula). Count stock at the end of the period and calculate:

COGS = opening inventory + purchases − closing inventory

Perpetual (tracking). Every purchase adds to stock and every sale removes units at their cost, so inventory and COGS are up to date after each document.

Worked example for one month, one product, selling price AED 65 excluding VAT:

UnitsUnit cost (AED)Value (AED)
Opening inventory20036.007,200
Purchases in the month30038.5011,550
Available for sale50018,750
Closing inventory (weighted average, see below)15037.505,625
COGS (7,200 + 11,550 − 5,625)35013,125

Sales were 350 units × AED 65 = AED 22,750. Gross profit is 22,750 − 13,125 = AED 9,625. "Sales minus supplier payments" gives 22,750 − 11,550 = AED 11,200, which overstates profit by AED 1,575. That is the amount by which stock fell in the month (7,200 − 5,625).

Which costing methods are allowed: FIFO, weighted average or LIFO?

When the same item is bought at different costs, you need a rule for which cost leaves with each sale. IAS 2 Inventories and Section 13 of the IFRS for SMEs standard allow two cost formulas for interchangeable goods: first-in, first-out (FIFO) and weighted average cost. Last-in, first-out (LIFO) is not permitted under either standard. Use the same formula consistently for similar items.

Using the figures above:

Both methods account for the full AED 18,750. Weighted average is simpler for interchangeable goods. FIFO suits goods with expiry dates or batches.

What is landed cost, and what goes into it?

Landed cost is the full cost of getting a unit onto your shelf, ready to sell. IAS 2 defines the cost of purchase as the purchase price, import duties and other non-recoverable taxes, plus transport, handling and other directly attributable costs, less trade discounts.

CostPart of landed cost?Notes
Supplier priceYesConvert foreign currency at the exchange rate on the transaction date
International freightYesSea, air or courier
Cargo insuranceYes
Customs dutyYesNot recoverable, so it is a cost of the goods
Excise tax (tobacco, energy drinks, sweetened drinks)Yes, where not recoverableSeparate regime with its own registration
Clearing agent, port and handling chargesYesNet of VAT
Delivery from the port to your warehouseYesNet of VAT
Import VATNo, if you are VAT-registered and can recover itYes, if you are not registered or cannot recover it
Storage after arrival, marketing, delivery to customers, marketplace and card feesNoOperating expenses
Exchange differences when you pay the supplier laterNoExchange gain or loss in profit and loss

Exchange rates

Record a USD or CNY purchase at the rate on the date of the transaction. If you pay later at a different rate, the difference is an exchange gain or loss and the inventory cost does not change. The dirham (AED 3.6725) and riyal (SAR 3.75) are pegged to the US dollar, so USD purchases are stable. CNY, EUR and GBP purchases are not.

Customs duty

GCC states apply a common customs tariff. In the UAE, duty is generally 5% of the CIF value (cost, insurance and freight), with exemptions for some goods and higher rates for alcohol and tobacco. Saudi Arabia raised duty on more than 2,000 tariff lines from 10 June 2020, and some lines now carry rates of up to 25%. Check the HS code of your product in the current tariff or with your clearing agent.

Import VAT

Threshold: In the UAE, a VAT-registered importer generally does not pay the 5% import VAT at the border. It is accounted for under the reverse charge in the VAT return (the customs data pre-fills Box 6) and recovered as input tax in the same return, provided the customs registration is linked to the TRN. In Saudi Arabia, import VAT at 15% is generally paid at customs and recovered later as input tax in the VAT return.

In both countries the import VAT is calculated on the customs value plus customs duty and any excise tax. For a registered business it is a cash-flow item, not a cost. If you are not registered, you cannot recover it and it becomes part of landed cost. See UAE VAT registration for small businesses for the thresholds.

Worked example: landed cost for one shipment in AED

A Dubai trader imports 500 insulated bottles from a supplier in China, priced at USD 8.00 each. The trader is VAT-registered. Rate on the transaction date: AED 3.6725 per USD.

LineCalculationAED
Supplier price500 × USD 8.00 = USD 4,000 × 3.672514,690.00
Sea freightUSD 600 × 3.67252,203.50
Cargo insuranceUSD 40 × 3.6725146.90
CIF value17,040.40
Customs duty5% × 17,040.40852.02
Clearing agent and port chargesNet of VAT650.00
Delivery to warehouseNet of VAT350.00
Total landed cost18,892.42
Landed cost per unit18,892.42 ÷ 50037.78

Import VAT is 5% × (17,040.40 + 852.02) = AED 894.62. Under the reverse charge it appears as output tax and as input tax in the same return, so the net effect is zero and none of it goes into inventory. The AED 50.00 of VAT on the local agent and delivery charges (5% × 1,000) is also recovered as input tax. If this were a Saudi shipment with the same figures in SAR, the import VAT would be 15% × 17,892.42 = SAR 2,683.86, paid at customs and recovered in the return.

Gross margin per unit at a selling price of AED 65.00 excluding VAT:

Supplier price onlyLanded cost
Cost per unitAED 29.38AED 37.78
Gross profit per unitAED 35.62AED 27.22
Gross margin54.8%41.9%

The landed cost is AED 8.40 per unit, or about 29%, above the supplier price.

If one shipment contains several products, split the shared costs (freight, insurance, clearing) across them on a consistent basis, usually by value. Duty follows each product's own tariff rate.

How does VAT on stock purchases relate to COGS?

If you are VAT-registered and the VAT is recoverable, it never goes into inventory or COGS. The bill is split: the net amount goes to inventory, and the VAT goes to the VAT account as input tax. A local purchase of AED 10,000 plus AED 500 VAT adds AED 10,000 to inventory. Selling prices, COGS and margins are all measured excluding VAT. A business that is not VAT-registered records the full VAT-inclusive amount as cost.

What happens with stock counts, shrinkage and write-offs?

Count stock at least at the year end, compare the count to your records and book the difference. If records show 150 units and the count finds 146, the 4 missing units at AED 37.50 are an AED 150 shrinkage cost, usually shown within COGS or as a separate line under it.

The VAT treatment depends on what happened to the goods. Confirm it with a tax adviser:

What is a net realisable value write-down?

Inventory is carried at the lower of cost and net realisable value (NRV). NRV is the expected selling price less the costs to complete and make the sale. If stock will sell for less than it cost, write it down in the period you find out.

Example: 40 units cost AED 37.50 each (AED 1,500). They can now only be sold for AED 30.00, with AED 2.00 of selling cost per unit, so NRV is AED 28.00. The write-down is (37.50 − 28.00) × 40 = AED 380, charged to profit and loss. The stock stays on the books at AED 1,120.

How does inventory affect UAE corporate tax?

UAE corporate tax starts from the accounting net profit in your financial statements, prepared under IFRS or, for businesses with revenue up to AED 50 million, IFRS for SMEs (Ministerial Decision No. 114 of 2023). Closing stock valuation therefore feeds directly into taxable income:

The rate is 0% on taxable income up to AED 375,000 and 9% above it. Small Business Relief is available for businesses with revenue up to AED 3 million, for tax periods ending on or before 31 December 2029, and must be elected in the return. Registration and filing are covered in UAE corporate tax registration and filing for small businesses.

How do you treat supplier deposits and goods in transit?

A deposit paid to a supplier before shipment is a prepayment. It sits on the balance sheet as an asset, not in inventory and not in expenses. When the goods are received and the supplier's final invoice arrives, the deposit is set against it.

Goods in transit at a period end belong in your inventory once control has passed to you, which usually follows the Incoterm. Under FOB, a container at sea on 31 December is generally your stock. Under DAP or DDP, it generally becomes yours on delivery.

From the platform: In Staks, goods and services live in one catalogue on every plan. Vendor bills and stock and COGS tracking are on the Growth plan ($49/month). Turn on stock tracking per item: a vendor bill for that item raises the quantity and posts the net amount to the Inventory asset account, with input VAT posted separately, and an invoice for it lowers the quantity and posts COGS against inventory. Bills in USD or another currency are converted at the rate on the bill date. COGS is posted at the cost you hold on the item, multiplied by the quantity sold. Staks does not calculate FIFO layers or a moving weighted average, and it does not allocate freight, duty or clearing fees across items automatically. Work out the landed unit cost yourself, enter it as the item's cost, and update it when a new shipment changes your average. Stock write-offs and NRV write-downs are entered as manual journals.

Common inventory mistakes

MistakeWhat goes wrongFix
Expensing stock when you pay for itProfit swings with order timingRecord purchases to inventory; expense through COGS on sale
Using the supplier price as unit costMargin looks far higher than it isAdd freight, insurance, duty and clearing to get landed cost
Putting recoverable import VAT into costCost and VAT are both wrongKeep VAT in the VAT account; reconcile to the customs declaration
Booking the supplier deposit as a purchaseStock and expenses are overstated before goods arriveHold it as a prepayment until the goods are received
Keeping dead stock at full costProfit, and UAE corporate tax, are overstatedWrite down to NRV
Treating marketplace, card or delivery fees as COGSGross margin and selling costs are blurredRecord them as selling expenses

For how card fees and payouts are recorded, see how to account for Stripe payments, fees and payouts in the UAE.

Which numbers should you watch?

MetricFormulaExample
Gross margin %(Sales − COGS) ÷ Sales(22,750 − 13,125) ÷ 22,750 = 42.3%
Inventory turnoverCOGS for the year ÷ average inventory480,000 ÷ 100,000 = 4.8 times
Inventory daysAverage inventory ÷ COGS × 365100,000 ÷ 480,000 × 365 = 76 days

Average inventory is (opening + closing) ÷ 2. In the example, opening stock of AED 90,000 and closing stock of AED 110,000 give an average of AED 100,000. Inventory days of 76 means cash sits in stock for about two and a half months. Track gross margin per product as well as in total: one product with a wrong landed cost can hide inside a healthy average.

Frequently asked questions

Is customs duty part of inventory cost?

Yes. Customs duty cannot be recovered, so under IAS 2 it is part of the cost of the goods and reaches profit and loss through COGS.

Is import VAT part of landed cost?

Not if you are VAT-registered and can recover it. In the UAE it is usually reported under the reverse charge with no cash paid at the border. In Saudi Arabia it is paid at customs and recovered in the VAT return. If you are not registered, it is a cost.

Should a small trader use FIFO or weighted average?

Both are allowed, and LIFO is not. Weighted average is simpler for most small traders. Pick one method and apply it consistently.

How often should I count stock?

At least once a year at the financial year end, because closing stock drives your profit and, in the UAE, your taxable income. Count fast-moving or high-value items more often.

Record stock as an asset, cost it at landed cost, and let COGS follow the sale. Start a 14-day free trial of Staks to keep items, vendor bills, stock and COGS in one set of books.