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.
| Event | What is recorded | Effect on profit |
|---|---|---|
| You receive stock on a supplier bill | Inventory (asset) goes up, accounts payable goes up | None |
| You pay the supplier | Bank goes down, accounts payable goes down | None |
| You sell units | Sales go up; COGS goes up and inventory goes down by the cost of those units | Sales 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:
| Units | Unit cost (AED) | Value (AED) | |
|---|---|---|---|
| Opening inventory | 200 | 36.00 | 7,200 |
| Purchases in the month | 300 | 38.50 | 11,550 |
| Available for sale | 500 | 18,750 | |
| Closing inventory (weighted average, see below) | 150 | 37.50 | 5,625 |
| COGS (7,200 + 11,550 − 5,625) | 350 | 13,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:
- Weighted average: AED 18,750 ÷ 500 units = AED 37.50 per unit. COGS = 350 × 37.50 = AED 13,125. Closing stock = 150 × 37.50 = AED 5,625.
- FIFO: the 350 units sold are the 200 opening units at AED 36.00 (AED 7,200) plus 150 of the new units at AED 38.50 (AED 5,775). COGS = AED 12,975. Closing stock = 150 × 38.50 = AED 5,775.
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.
| Cost | Part of landed cost? | Notes |
|---|---|---|
| Supplier price | Yes | Convert foreign currency at the exchange rate on the transaction date |
| International freight | Yes | Sea, air or courier |
| Cargo insurance | Yes | |
| Customs duty | Yes | Not recoverable, so it is a cost of the goods |
| Excise tax (tobacco, energy drinks, sweetened drinks) | Yes, where not recoverable | Separate regime with its own registration |
| Clearing agent, port and handling charges | Yes | Net of VAT |
| Delivery from the port to your warehouse | Yes | Net of VAT |
| Import VAT | No, if you are VAT-registered and can recover it | Yes, if you are not registered or cannot recover it |
| Storage after arrival, marketing, delivery to customers, marketplace and card fees | No | Operating expenses |
| Exchange differences when you pay the supplier later | No | Exchange 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.
| Line | Calculation | AED |
|---|---|---|
| Supplier price | 500 × USD 8.00 = USD 4,000 × 3.6725 | 14,690.00 |
| Sea freight | USD 600 × 3.6725 | 2,203.50 |
| Cargo insurance | USD 40 × 3.6725 | 146.90 |
| CIF value | 17,040.40 | |
| Customs duty | 5% × 17,040.40 | 852.02 |
| Clearing agent and port charges | Net of VAT | 650.00 |
| Delivery to warehouse | Net of VAT | 350.00 |
| Total landed cost | 18,892.42 | |
| Landed cost per unit | 18,892.42 ÷ 500 | 37.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 only | Landed cost | |
|---|---|---|
| Cost per unit | AED 29.38 | AED 37.78 |
| Gross profit per unit | AED 35.62 | AED 27.22 |
| Gross margin | 54.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:
- Damaged, expired, lost or stolen stock. This is generally not a supply, so no output VAT is usually due. Keep evidence: count sheets, photos, disposal or destruction records, a police or insurance report for theft.
- Gifts and free samples. In the UAE these can be a deemed supply with output VAT due if you recovered input VAT on the goods. The exceptions are gifts and samples worth no more than AED 500 per recipient in a 12-month period, and cases where the total output tax on all deemed supplies is less than AED 2,000 in 12 months. In Saudi Arabia, ZATCA guidance sets limits of SAR 200 per recipient per year and SAR 50,000 in total per year.
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:
- Expensing stock when you buy it understates profit in that year and overstates it in the next.
- Leaving out freight and duty understates inventory and brings costs forward.
- Carrying unsaleable stock at full cost overstates profit and tax.
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
| Mistake | What goes wrong | Fix |
|---|---|---|
| Expensing stock when you pay for it | Profit swings with order timing | Record purchases to inventory; expense through COGS on sale |
| Using the supplier price as unit cost | Margin looks far higher than it is | Add freight, insurance, duty and clearing to get landed cost |
| Putting recoverable import VAT into cost | Cost and VAT are both wrong | Keep VAT in the VAT account; reconcile to the customs declaration |
| Booking the supplier deposit as a purchase | Stock and expenses are overstated before goods arrive | Hold it as a prepayment until the goods are received |
| Keeping dead stock at full cost | Profit, and UAE corporate tax, are overstated | Write down to NRV |
| Treating marketplace, card or delivery fees as COGS | Gross margin and selling costs are blurred | Record 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?
| Metric | Formula | Example |
|---|---|---|
| Gross margin % | (Sales − COGS) ÷ Sales | (22,750 − 13,125) ÷ 22,750 = 42.3% |
| Inventory turnover | COGS for the year ÷ average inventory | 480,000 ÷ 100,000 = 4.8 times |
| Inventory days | Average inventory ÷ COGS × 365 | 100,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.
Related reading
- How to track business expenses without a bookkeeper
- UAE VAT registration for small businesses
- How to account for Stripe payments, fees and payouts in the UAE
- Payment terms in the UAE and Saudi Arabia
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.