Cost and price trends

Landed cost per PO batch · weighted average cost · margin bands · price change events · currency effects · valuation impact. Recomputed nightly 02:10 Dubai from cost layers, never from a mutable cost field.

Of the AED 89K cost increase this quarter, AED 61K is supplier price and AED 28K is currency. The AED is pegged to the USD at 3.6725, so every USD purchase order has an FX effect of exactly zero. All AED 28K of the currency effect comes from the CNY, EUR and INR suppliers, which are 22% of spend. Renegotiating a USD supplier cannot recover a single dirham of it. Supplier currency mix
All 142
Rises 108
Drops 34
New layers 41
FX driven 27
Below floor 47
Awaiting cost 175
Composite 393
Cost confidence: layered 92% · shopify fallback 5% · estimated 2.6% · unknown 0.4% (limit 0.5% for GATE 8)

Landed cost per PO batch

One circle per receipt, sized by quantity, so a small expensive batch does not read as a trend. Dashed line is the weighted average cost that results.

MSR31 watches (USD) Jewellery (CNY) Leather (EUR) WAC
240220 200180160 AED landed / unit MSR31 landed cost AED 189.00 to AED 218.20 L-0001 opening · 40 units · AED 189.00 · estimated L-2411 · PO-2025-0598 · 120 units · AED 198.40 · USD 54.02 at FX 3.6730 L-2586 · PO-2026-0094 · 90 units · AED 206.75 · USD 56.29 at FX 3.6728 L-2649 · PO-2026-0389 · 60 units · AED 211.30 · USD 57.53 at FX 3.6731 L-2698 · PO-2026-104 · 12 units sample batch · AED 214.10 · small batch, ignore the slope L-2712 · PO-2026-116 · 24 units · AED 218.20 · USD 59.41 at FX 3.6733 Jewellery landed cost, CNY denominated, mostly FX driven PO-2025-0611 · 300 units · CNY 118.00 at 0.5104 · AED 60.23 PO-2026-0221 · 420 units · CNY 118.50 flat · FX 0.5221 · AED 61.87 · the change is currency, not the supplier PO-2026-118 · 260 units · CNY 119.00 · FX 0.5316 · AED 63.26 Leather goods landed cost, EUR denominated PO-2026-0142 · 180 units · EUR 47.20 at 4.0110 · AED 189.32 PO-2026-0402 · 240 units · EUR 48.90 at 4.0940 · AED 200.20 Blended weighted average cost across all three families MSR31 +15.4% since open
Dec 24Jun 25Dec 25Feb 26Apr 26Jul 26
Circle radius is proportional to receipt quantity · the 12 unit sample batch at AED 214.10 moved WAC by AED 0.31, not by AED 3.00 Valuation is exact FIFO over open layers. WAC is reported, never used to value.

Cost decomposition · MSR31-07

Opening WAC to closing WAC, split into what the supplier did and what the currency did

212206 200194 Opening WAC AED 198.40 Supplier price effect +AED 11.30 · (p1 - p0) x q1 x fx0 FX effect +AED 4.20 · p0 x q1 x (fx1 - fx0) · all of it from the CNY strap component Mix effect -AED 7.77 · cheaper opening layers consumed first under FIFO Closing WAC AED 206.13 opening198.40 price+11.30 FX+4.20 mix-7.77 closing206.13
supplier price currency FIFO mix the three must sum to the total or the page reports a residual, never hides it

Margin bands by category

SKU counts per band · this quarter against last · GP measured at WAC and current channel price

WatchesJewelleryLeatherFragrance Watches critical, GP under 40%: 12 SKUs Watches watch band 40 to 55%: 31 SKUs Watches healthy 55 to 70%: 86 SKUs Watches premium above 70%: 122 SKUs Jewellery critical: 19 SKUs, up 6 on the quarter Jewellery watch band: 48 SKUs Jewellery healthy: 94 SKUs Jewellery premium: 79 SKUs Leather critical: 14 SKUs Leather watch band: 59 SKUs, up 11 on the quarter, EUR driven Leather healthy: 82 SKUs Leather premium: 41 SKUs Fragrance critical: 2 SKUs Fragrance watch band: 13 SKUs Fragrance healthy: 43 SKUs Fragrance premium: 98 SKUs Watches critical last quarter: 5 SKUs Jewellery critical last quarter: 13 SKUs Leather critical last quarter: 9 SKUs Fragrance critical last quarter: 2 SKUs
under 40 critical 40 to 55 watch 55 to 70 healthy above 70 premium dashed outline is last quarter's critical count

Valuation impact

On-hand value at FIFO layer cost, with each cost-change event marked. The forward dash is the projection if the current slope holds and nothing is renegotiated.

projection assumes no renegotiation confidence band 8%
10.5M9.5M 8.5M7.5M On hand valuation AED 8.20M to AED 9.61M over 12 months Projection with no renegotiation: AED 9.82M by Sep 2026 Projection if the 4 negotiation opportunities below land: AED 9.68M today 12-12-2025 · MSR31 family relayered at AED 198.40 · valuation +AED 42K 18-02-2026 · MSR31 relayered at AED 206.75 · valuation +AED 61K 21-04-2026 · CNY strengthened, jewellery layers up 2.3% · valuation +AED 38K with no supplier price change 25-07-2026 · MSR31 relayered at AED 218.20 · valuation +AED 73K Aug 25OctDec Feb 26AprJunSep
Revaluation this quarter
+AED 214K
all of it from new layers, none from re-pricing old ones
Forecast next PO cycle
+AED 247K
62 upcoming PO lines · 1,284 SKUs · band 8%
Recoverable by renegotiation
-AED 91K
4 opportunities below · the FX share is not recoverable

Cost layers · most recent 15 receipts

Immutable. A correction is a new layer that references the original, never an edit. Click a row for the six-PO history.

layered 92%estimated 2.6%unknown 0.4%
LayerSKUPOSupplierReceived QtyRem Unit ccyCcyFX commitFX receipt FOBLandedWAC after Val AEDBand
L-2712MSR31-07PO-2026-116CIC25-07-2026 242459.41USD3.67333.6733 196.40218.20206.135,236.80premium
L-2710JRY12PO-2026-118Wuxi Movements24-07-2026 260218119.00CNY0.53160.5322 63.3371.4068.0215,565.20healthy
L-2704LBA01PO-2026-0402Milano Leathers18-07-2026 24019148.90EUR4.09404.0955 200.27221.40214.8842,287.40watch
L-2698MSR31-07PO-2026-104CIC02-07-2026 12058.30USD3.67313.6731 192.80214.10203.900.00premium
L-2691CDW01PO-2026-101CIC28-06-2026 1809671.20USD3.67303.6730 261.52288.90281.4427,734.40healthy
L-2684STRAP-FST01PO-2026-0397Guangzhou Trims21-06-2026 1,20074221.40CNY0.52980.5304 11.3513.9013.1110,313.80premium
L-2677PP02PO-2026-0391Grasse Aromatics14-06-2026 90056018.60EUR4.09024.0928 76.0984.2081.6647,152.00premium
L-2649MSR31-07PO-2026-0389CIC21-04-2026 602257.53USD3.67313.6731 191.60211.30203.444,648.60premium
L-2641ALM02PO-2026-0384Wuxi Movements12-04-2026 3409696.50CNY0.52210.5228 50.4557.8055.925,548.80healthy
L-2620DQR13PO-2026-0301Jaipur Gems18-03-2026 220882,410.00INR0.04410.0439 105.80118.60114.7210,436.80healthy
L-2612TNS01PO-2026-0294Jaipur Gems09-03-2026 160321,880.00INR0.04420.0441 82.9194.2091.063,014.40watch
L-2586MSR31-07PO-2026-0094CIC18-02-2026 901256.29USD3.67283.6728 188.20206.75199.802,481.00premium
L-2544FIS12-BPO-2026-0071Wuxi Movements31-01-2026 4004462.80CNY0.51880.5192 32.6138.1037.441,676.40healthy
L-2411MSR31-07PO-2025-0598CIC12-12-2025 120054.02USD3.67303.6730 181.50198.40195.100.00premium
L-0001MSR31-07openingopening balance31-12-2024 402451.47USD3.67253.6725 175.00189.00189.004,536.00estimated
Open layer quantity must equal the countable balance for every SKU · 3 SKUs currently fail that check and are on the finance drift queue Composites carry no layer: their cost is the sum of their components, computed on read

Price and cost change events

Append only. Each row snapshots the units on hand and the WAC at that moment, so a historical margin never moves.

SKUKindChannel / POPrevNewDeltaUnitsImpact AEDGP beforeGP afterDateSeverity
MSR31-07priceshopify online719.00749.00+4.2%84+2,52071.4%72.5%28-07-2026minor
MSR31-07costPO-2026-116 · CIC211.30218.20+3.3%24+16672.5%70.9%25-07-2026moderate
JRY12FXPO-2026-118 · CNY69.9071.40+2.1%260+39066.2%65.5%24-07-2026moderate
LBA01costPO-2026-0402 · Milano200.20221.40+10.6%240+5,08857.1%52.6%18-07-2026significant
LBA01FXEUR 4.0940 to 4.0955221.32221.40+0.04%240+1952.6%52.6%18-07-2026negligible
CDW01costPO-2026-101 · CIC274.10288.90+5.4%180+2,66462.8%60.9%28-06-2026moderate
STRAP-FST01FXPO-2026-0397 · CNY13.6213.90+2.1%1,200+33681.2%80.9%21-06-2026minor
PP02costPO-2026-0391 · Grasse80.4084.20+4.7%900+3,42073.2%71.9%14-06-2026moderate
ALM02pricepos retail329.00299.00-9.1%96-2,88082.4%80.7%08-06-2026moderate
DQR13FXPO-2026-0301 · INR119.14118.60-0.5%220-11967.1%67.2%18-03-2026negligible
TNS01costPO-2026-0294 · Jaipur88.1094.20+6.9%160+97656.4%53.4%09-03-2026crossed into watch band
FIS12-BcostPO-2026-0071 · Wuxi36.4038.10+4.7%400+68071.8%70.5%31-01-2026minor
MHS17pricewholesale540.00575.00+6.5%61+2,13548.9%52.0%22-01-2026recovered to watch band
BX-MSR31-07compositederived from components282.40291.13+3.1%27+23670.3%69.4%25-07-2026no layer of its own
AQB01no costnever received through GRN0.000.000540n/an/aunknowncost confidence unknown
Impact AED = (new - prev) x units on hand at the event · sign follows margin, not cost 175 SKUs still carry no layer and contribute zero to valuation until their first GRN

Supplier comparison

Year on year average change, split into what the supplier did and what the currency did

SupplierCcySKUsAvg delta YoYof which priceof which FXMost hikedMost cutSpend AED
CICUSD218+9.4%+9.4pp0.0ppMSR31-07 +15.4%MSR31-11 -1.2%4,215,820
Wuxi MovementsCNY186+7.9%+3.1pp+4.8ppJRY12 +11.7%ALM11 -2.1%1,852,310
Milano LeathersEUR94+11.2%+8.9pp+2.3ppLBA01 +10.6%LBA33 -5.8%1,543,200
Jaipur GemsINR142+6.8%+7.9pp-1.1ppTNS01 +6.9%DQR13 -0.5%2,908,450
Guangzhou TrimsCNY132+3.1%+0.4pp+2.7ppSTRAP-FST01 +2.1%STRAP-BLK04 -1.4%742,100
Grasse AromaticsEUR45+5.9%+3.6pp+2.3ppPP02 +4.7%PP07 -2.5%684,320
Alnoor PackagingAED58+5.4%+5.4pp0.0ppBX-CARD +8.2%POLY-B35 -7.5%984,310
Sharjah CartonsAED38-1.4%-1.4pp0.0ppMC-STD-04 +1.8%MC-LRG-02 -3.7%214,050
Coats AsiaUSD28-0.9%-0.9pp0.0ppTHR-PLY-301 +2.1%THR-PLY-401 -2.5%198,640
Fujairah MetalsAED54+2.2%+2.2pp0.0ppTRM-BKL-SS +4.1%TRM-EDG-GLD -6.1%421,680
78% of spend is USD or AED, where the FX effect is structurally zero because of the peg The CNY, EUR and INR 22% carries 100% of the AED 28K currency effect

Negotiation opportunities

Only the supplier-price share is recoverable. FX is not a negotiation, it is a hedge.

AED 198K/yr at stake
1CIC
Watches · 218 SKUs · MSR31 CDW01 MHS17
-11.4%
Ours USD 59.41 · benchmark USD 52.63
Est. save AED 72K · confidence high · all price, no FX
2Milano Leathers
Leather · 94 SKUs · LBA01 LBA12
-9.1%
Ours EUR 48.90 · benchmark EUR 44.45
Est. save AED 48K · confidence high · 2.3pp is FX, unrecoverable
3Jaipur Gems
Jewellery · 142 SKUs · TNS01 DQR13
-7.6%
Ours INR 2,410 · benchmark INR 2,227
Est. save AED 38K · confidence medium
4Wuxi Movements
Jewellery · 186 SKUs · JRY12 ALM02
-6.2%
Ours CNY 119.00 · benchmark CNY 111.60
Est. save AED 24K · confidence medium · 4.8pp is FX
5Alnoor Packaging
Packaging · 58 SKUs · BX-CARD MC-STD
-5.4%
Ours AED 3.38 · benchmark AED 3.20
Est. save AED 16K · confidence low

The formulas this page uses

landed_unit = (fob + freight + duty + clearance + inland + other) / qty_received valuation = sum over open layers of qty_remaining x landed_unit WAC = valuation / sum(qty_remaining) price_eff = (p1 - p0) x q1 x fx0 fx_eff = p0 x q1 x (fx1 - fx0) mix_eff = total - price_eff - fx_eff GP% = (net_price - WAC) / net_price

Everything is integer fils. The rounding remainder from the division goes on the final unit of the layer, so the layer total is exactly the sum of its parts and a close never drifts by a dirham.

Why layers, not a cost field

INV1 kept products.cost_aed and a stored gp_percent. i2 kept skus.cost_fils and never populated it at all. A single mutable number silently revalues every unit ever received, which means a month-end close cannot be reproduced a month later. i3 stores one immutable layer per receipt. A correction is a new layer that references the original, never an edit.

Valuation basis
exact FIFO over open layers
WAC
reported only, never used to value
Composites
no layer, cost is the component sum
Opening balance
one synthetic layer, flagged estimated
Reconciliation
sum(qty_remaining) must equal the countable balance

Spend by currency

where FX risk actually lives

USD 57% of spend · pegged, zero FX effect AED 21% of spend · zero FX effect CNY 12% of spend · carries AED 15K of the currency effect EUR 6% of spend · carries AED 9K INR 4% of spend · carries AED 4K
  • USD (pegged)57%
  • AED21%
  • CNY12%
  • EUR6%
  • INR4%
78% of spend cannot move on FX. All AED 28K of currency effect sits in the other 22%.

Biggest cost movers · quarter

LBA01Leather · Milano+10.6%
TNS01Jewellery · Jaipur+6.9%
CDW01Watches · CIC+5.4%
PP02Fragrance · Grasse+4.7%
FIS12-BJewellery · Wuxi+4.7%
MSR31-07Watches · CIC+3.3%
POLY-B35Packaging · Alnoor-7.5%
TRM-EDG-GLDTrims · Fujairah-6.1%
LBA33Leather · Milano-5.8%
MC-LRG-02Cartons · Sharjah-3.7%

Upcoming PO risk

Committed price not yet renegotiated. Risk is the delta against the last landed cost, at today's FX.

PO-2026-121
CIC · 18 SKUs · AED 22K · closes 04-08
PO-2026-124
Wuxi · 9 SKUs · AED 14K · 62% is FX
PO-2026-126
Milano · 12 SKUs · AED 11K
PO-2026-129
Jaipur · 6 SKUs · AED 7K
PO-2026-131
Grasse · 4 SKUs · AED 4K

How this page is built

02:10 layers rebuilt
every GRN line since the last run becomes a layer, FX read from fx_rates on the receipt date
02:14 FIFO consumption
outbound ledger rows consume layers oldest first and stamp cost_layer_id back onto the row
02:18 WAC and bands
sku_cost_current rebuilt from layers alone · band migration diffed against yesterday
02:22 reconcile
open layer qty vs countable balance per SKU · 3 mismatches opened as finance drift cases
02:25 alerts
SKUs crossing into the critical band post to #n8n-updates, deduped per SKU per week
Connected to SKU detail Merge + aliases POs + PI In transit (GIT) GRN + QC Suppliers RTS Reports SKUs (Live) Classic table Drift Audit log Settings