Suppliers

16 active · 6 countries · AED 5.48M spend over 90 days · every column on this page is produced by a goods receipt, so a supplier is graded on what receiving actually measured rather than on an opinion someone typed

Sole-source concentration · 41 SKUs have exactly one approved supplier, and 12 of them are sourced from a tier C supplier · AED 1.84M of 90-day revenue sits behind a single vendor with no qualified alternate Sole-source register →
Yiwu Home has had no PO for 7 months and 2 open claims worth AED 9.4K · archive proposal is queued · archiving keeps the history and blocks a new PO, it never deletes a row Review →

On-time is NULL, never 100, for a supplier with no completed PO in the window. Two suppliers sort last on that column and the header says so, rather than presenting a perfect score for having done nothing.

All 16
UAE 6
China 3
Italy 3
India 2
Turkey 2
A Low risk 9
B Watch 5
C High risk 2
Has open claim 6
Sole source 7
No PO 6m 2
Minimalist
Lulwa

Supplier scorecard comparison

Top 8 by spend · four normalised metrics per supplier, with the composite score overlaid · every bar is derived from a posted GRN, and the tier follows the score rather than the other way round

90d windowrecomputed 04:10 GST
100 75 50 25 0 LC Straps · on-time 96% · normalised 94 LC Straps · quality 98.4% pass · normalised 96 LC Straps · fulfilment 0.4% short-ship · normalised 89 LC Straps · credit recovery 84% · normalised 84 CIC · on-time 68% · normalised 68 CIC · quality 96.7% pass · normalised 83 CIC · fulfilment 8.8% short-ship · normalised 51 CIC · credit recovery 59% · normalised 59 ORO Leather · on-time 91% · normalised 87 ORO Leather · quality 95.1% pass · normalised 79 ORO Leather · fulfilment 1.1% short-ship · normalised 82 ORO Leather · credit recovery 90% · normalised 90 VJ Jewels · on-time 71% · normalised 71 VJ Jewels · quality 94.8% pass · normalised 75 VJ Jewels · fulfilment 5.4% short-ship · normalised 56 VJ Jewels · credit recovery 68% · normalised 68 Bursa Textiles · on-time 82% · normalised 77 Bursa Textiles · quality 92.1% pass · normalised 63 Bursa Textiles · fulfilment 3.2% short-ship · normalised 67 Bursa Textiles · credit recovery 61% · normalised 61 Ceramica MEA · on-time 94% · normalised 91 Ceramica MEA · quality 93.8% pass · normalised 72 Ceramica MEA · fulfilment 0.8% short-ship · normalised 86 Ceramica MEA · credit recovery 77% · normalised 77 Sharq Metalworks · on-time 89% · normalised 85 Sharq Metalworks · quality 93.2% pass · normalised 69 Sharq Metalworks · fulfilment 2.6% short-ship · normalised 73 Sharq Metalworks · credit recovery 50% · normalised 50 Yiwu Home · on-time 42% · normalised 42 Yiwu Home · quality 88.6% pass · normalised 46 Yiwu Home · fulfilment 12.4% short-ship · normalised 31 Yiwu Home · credit recovery 25% · normalised 25 LC Straps · composite score 91 · tier A CIC · composite score 66 · tier B · pulled down by short-ship and credit recovery ORO Leather · composite score 85 · tier A VJ Jewels · composite score 68 · tier B Bursa Textiles · composite score 67 · tier B Ceramica MEA · composite score 82 · tier A Sharq Metalworks · composite score 73 · tier B Yiwu Home · composite score 37 · tier C
LC_STRAPSCICORO_LEATHERVJ_JEWELSBURSACERAMICASHARQYIWU_HOME
On-time delivery Quality acceptance Fulfilment (inverse short-ship) Credit recovery Composite score

Payables aging

Outstanding to suppliers, by age of the invoice · segment width is share of AED

AED 128K over 60d
0 to 30 days, current · AED 617K · 48% · 14 invoices 31 to 60 days · AED 411K · 32% · 9 invoices 61 to 90 days · AED 154K · 12% · 4 invoices · 2 in dispute 91 to 120 days · AED 64K · 5% · 2 invoices, both price-variance disputes over 120 days · AED 38K · 3% · 1 invoice · Yiwu Home, unresolved short-ship claim AED 617K · 48% AED 411K · 32% 154K
0 to 30d31 to 60d61 to 90d91 to 120120+

AED 1.28M outstanding. The two oldest buckets are entirely disputes, not late payments: three price-variance claims where the invoice unit price does not equal the PO price, and one unresolved short-ship. An aging bar that cannot distinguish a dispute from a slow payment sends the wrong person to chase it.

Lead time promised vs actual

90 days · the ghost bar is contracted, the solid bar is measured from PO submit to first receipt

3 suppliers drifting
0 15d 30d 45d 60d LC Straps LC Straps · promised 21d LC Straps · actual 19d avg · p90 22d · sigma 2.1d · 12 POs CIC CIC · promised 45d CIC · actual 56d avg · p90 68d · sigma 11.4d · 8 POs · 11 days late on average ORO Leather ORO Leather · promised 30d ORO Leather · actual 28d avg · p90 33d · sigma 3.4d · 9 POs VJ Jewels VJ Jewels · promised 36d VJ Jewels · actual 42d avg · p90 51d · sigma 7.8d · 6 POs Bursa Textiles Bursa Textiles · promised 40d Bursa Textiles · actual 44d avg · p90 52d · sigma 6.2d · 5 POs Yiwu Home Yiwu Home · promised 52d Yiwu Home · actual 68d avg · p90 84d · sigma 14.9d · 3 POs · variance +37% vs the contracted number
Promised, from the terms row effective on the PO date Early or on time Late within tolerance Late beyond tolerance

Directory

16 suppliers · 4 currencies · 90d window · FX USD 3.67, EUR 4.01, GBP 4.60, TRY 0.11, synced 29-07-2026 06:00 Dubai · every AED figure stores the rate and the date that produced it

tier is derived
SupplierCountryCategoryTermsCcy Spend AEDSpend local Lead promLead act On-time (NULL last) Short%Defect% ClaimsSoleScoreTier
LC Straps
LC_STRAPS
UAEStraps30d DAPAED 1,284,0001,284,000 211996% 0.41.60391A
CIC
CIC
ChinaLeather goods90d FOBUSD 1,046,000$285,000 455668% 8.83.331166B
ORO Leather
ORO_LEATHER
ItalyPremium leather30d DAPEUR 842,000€210,000 302891% 1.14.92685A
VJ Jewels
VJ_JEWELS
IndiaJewellery45d FOBUSD 596,000$162,400 364271% 5.45.21468B
Ceramica MEA
CERAMICA_MEA
UAECeramics30d DAPAED 412,000412,000 181794% 0.86.21282A
Bursa Textiles
BURSA_TEX
TurkeyTextiles45d FOBUSD 368,000$100,270 404482% 3.27.91567B
Sharq Metalworks
SHARQ_METAL
UAEHardware30d DAPAED 284,000284,000 141489% 2.66.81373B
Milano Pelle
MILANO_PELLE
ItalyPremium leather30d DAPEUR 246,000€61,350 323095% 0.61.20292A
Jaipur Brass
JAIPUR_BRASS
IndiaHardware60d FOBUSD 184,000$50,140 424190% 1.82.40184A
Venezia Vetro
VENEZIA_VETRO
ItalyGlass30d DAPEUR 162,000€40,400 383693% 0.98.41278A
Yiwu Home
YIWU_HOME
ChinaPackaging90d FOBUSD 148,000$40,330 526842% 12.411.42137C
Shenzhen Fittings
SHENZHEN_FIT
ChinaHardware90d FOBUSD 126,000$34,330 485478% 6.19.81448C
Izmir Bath
IZMIR_BATH
TurkeyTextiles45d FOBUSD 98,000$26,700 313288% 2.13.60180A
Al Quoz Packaging
ALQUOZ_PACK
UAEPackaging30d DAPAED 72,00072,000 7699% 0.00.30095A
Sharjah Woodcraft
SHJ_WOOD
UAEDisplay fixtures45d DAPAED 48,00048,000 28-NULL --00-new
Antalya Ceramics
ANTALYA_CER
TurkeyCeramics60d FOBUSD 0$0 44-NULL --00-dormant
16 of 16 · AED 5.48M over 90 days NULL sorts last on on-time, short-ship and defect. Two suppliers have no completed PO in the window, so they have no measurement, and no measurement is not a perfect score. Sorted by score, descending

At risk

Three named criteria, each with the evidence that triggered it · a supplier appears here because a number crossed a threshold, not because someone felt uneasy

3 suppliers
Yiwu Home lead variance +37% defect 11.4%
Contracted at 52 days, running at 68 on the last 3 POs with a standard deviation of 14.9 days. Defect rate is 5.4x the pool average, concentrated in one code (PACKAGING_CRUSH, 61% of defect units). Two claims open worth AED 9.4K, both past their 14-day SLA, credit recovery 25%.
score 37 · on-time 42% · short-ship 12.4% · sole-source for 1 SKU · no PO for 7 months
C
CIC short-ship 8.8% on-time 68%
Highest short-ship rate of any tier B supplier. The pattern is not random: 6 of the last 8 POs shipped in 2 or 3 containers with the last one 9 to 22 days behind the first, so container 1 reads short every time and closes only when container 3 lands. This is a split-delivery pattern the PO line has to stay open for, not a quality problem.
score 66 · lead 56d vs 45d promised · sole-source for 11 SKUs · AED 1.05M 90d spend
B
Shenzhen Fittings defect 9.8% credit recovery 50%
Half the value we claim is never recovered. Three of the last five rejected batches were disputed on the same grounds, that the defect was caused after receipt, and two of those went to write-off rather than arbitration because the claim value was below the threshold where anyone chased it.
score 48 · 1 claim open · sole-source for 4 SKUs · AED 126K 90d spend
C

Sole source

Revenue at risk

41 SKUs
SKU · only supplier90d revCover
MST-CRM-42-BLK
CIC
AED 486K18dB
MIN-2159
CIC
AED 312K24dB
MSR31-07
ORO Leather
AED 268K41dA
LBA15
LC Straps
AED 194K62dA
LDF01
Shenzhen Fittings
AED 148K11dC
MST-CRM-42-TAN
CIC
AED 132KNULLB

Sole source is derived nightly, never stored on the SKU: a SKU is sole-source when exactly one supplier mapping is active and approved. Qualifying a second supplier changes the answer the next morning with no data migration.

Cover and risk ↗

How the score works

Weights are data, so they can be argued with

On-time delivery0.30 Quality acceptance0.25 Short-ship (inverse)0.20 Credit recovery0.15 Lead variance (inverse)0.10

Tier follows the score: A at 80 and above, B from 55 to 79, C below 55. A tier cannot be typed. A supplier the business wants to favour gets an is_preferred flag instead, which is an opinion and is labelled as one.

The estate currently holds four disagreeing risk vocabularies: i2's standard / strategic / at_risk, the v2 mockup's typed A / B / C, a "Preferred" badge, and ops2's is_discontinued. INV1 has none at all, because its POs store the supplier as a free-text string with no table behind it.

States

Loading
Reading the scorecards.

Scorecards are materialised nightly, never computed in a page request, so this is a table read rather than a recomputation.

Empty
No suppliers yet.

The registry is seeded from three incumbent registers plus every free-text spelling INV1 ever stored. Run the alias absorption to populate it.

Sync settings
Error
Scorecards are stale.

The nightly job failed at 04:10. These numbers are from 28-07 and are labelled as such rather than hidden, because a 24-hour-old scorecard is still useful and a blank page is not.

job supplier-scorecard · exit 1 · 29-07 04:10

Permission
Commercial terms are hidden.

Names, spend and performance are visible to any i3 viewer. Payment terms, bank details and claim values need role >= manager plus the supplier_commercial feature.

6 columns masked

Zero-filter
No matches.

3 filters hide all 16 suppliers.

country: Italytier: Csole source
Maintenance
Terms are read-only for 25 minutes.

The terms table is being reindexed. A new terms version cannot be written, and existing versions still resolve correctly for every PO and invoice.

21:00 to 21:25 GST

Gate-blocked
Scores are shadow until GATE 3 closes.

Defect rate and short-ship rate need 7 clean days of receipt posting behind them. The numbers are computed and are marked not yet authoritative, so nobody re-tiers a supplier on 4 days of data.

GATE 3 day 4 of 7

Reproducibility
A scorecard you cannot regenerate is not evidence.

Recomputing any closed period from the ledger and the GRN tables alone must reproduce the stored row exactly. That assertion runs nightly and it is what makes a supplier conversation defensible.

Verification report
Keyboard J K move Enter open supplier N new PO C claims R RTS history S sole source / filter V cycle view ⌘K palette All shortcuts ↗
Connected to Supplier detail GRN and QC GRN events Return to supplier POs and PI In transit Production Damages Samples SKU detail Cost and price Stock health Cash and valuation Reports Audit log Settings