export default function UnitCalculationsMockup() { const data = [ { material: “Concrete blocks”, estimateQty: 204.34, estimateUnit: “m²”, lkq: { product: “Solid dense concrete block 7.3n 100mm”, dimensions: “440 × 215 × 100mm”, coveragePerUnit: “0.96 m²/block”, wasteFactor: “0%”, qtyAdjusted: 204.34, calculation: “204.34 ÷ 0.96 = 212.85”, units: 213, unitPrice: 2.65, total: 564.45 }, sub: { product: “100mm solid dense greenbloc 7.3 newton”, dimensions: “440 × 215 × 100mm”, coveragePerUnit: “0.96 m²/block”, wasteFactor: “0%”, qtyAdjusted: 204.34, calculation: “204.34 ÷ 0.96 = 212.85”, units: 214, unitPrice: 1.18, total: 252.52 }, notes: “Greenbloc sold in packs; rounding differs” }, { material: “Plasterboard – 12.5mm”, estimateQty: 626.45, estimateUnit: “m²”, lkq: { product: “Siniat plasterboard std square edge 2400×1200×12.5mm”, dimensions: “2400 × 1200 × 12.5mm”, coveragePerUnit: “2.88 m²/sheet”, wasteFactor: “0%”, qtyAdjusted: 626.45, calculation: “626.45 ÷ 2.88 = 217.52”, units: 218, unitPrice: 16.64, total: 3627.52 }, sub: { product: “12.5mm Fermacell gypsum fibre board square edge”, dimensions: “2400 × 1200 × 12.5mm”, coveragePerUnit: “2.88 m²/sheet”, wasteFactor: “0%”, qtyAdjusted: 626.45, calculation: “626.45 ÷ 2.88 = 217.52”, units: 218, unitPrice: 34.01, total: 7414.18 }, notes: “Same dimensions; units match” }, { material: “Standard emulsion”, estimateQty: 1512.76, estimateUnit: “m²”, lkq: { product: “Dulux trade diamond matt”, dimensions: “5L tin”, coveragePerUnit: “75 m²/tin”, wasteFactor: “0%”, qtyAdjusted: 1512.76, calculation: “1512.76 ÷ 75 = 20.17”, units: 20, unitPrice: 48.28, total: 965.60 }, sub: { product: “Graphenstone grafclean matt”, dimensions: “4L tin”, coveragePerUnit: “54 m²/tin”, wasteFactor: “0%”, qtyAdjusted: 1512.76, calculation: “1512.76 ÷ 54 = 28.01”, units: 28, unitPrice: 78.00, total: 2184.00 }, notes: “Sub has lower coverage per tin (54 vs 75 m²)” }, { material: “Insulation 85mm”, estimateQty: 204.34, estimateUnit: “m²”, lkq: { product: “Isover cavity wall slab 36 85mm”, dimensions: “1200 × 455 × 85mm (pack of 12)”, coveragePerUnit: “6.39 m²/pack”, wasteFactor: “0%”, qtyAdjusted: 204.34, calculation: “204.34 ÷ 6.39 = 31.98”, units: 32, unitPrice: 38.39, total: 1228.48 }, sub: { product: “Thermafleece ultrawool slab 90mm”, dimensions: “1200 × 590 × 90mm (pack of 10)”, coveragePerUnit: “8.17 m²/pack”, wasteFactor: “0%”, qtyAdjusted: 204.34, calculation: “204.34 ÷ 8.17 = 25.01”, units: 25, unitPrice: 168.05, total: 4201.25 }, notes: “Sub packs cover more area (8.17 vs 6.39 m²)” }, { material: “Plasterboard – 9.5mm”, estimateQty: 232.96, estimateUnit: “m²”, lkq: { product: “British gypsum gyproc wallboard square edge 9.5mm”, dimensions: “2400 × 1200 × 9.5mm”, coveragePerUnit: “2.88 m²/sheet”, wasteFactor: “0%”, qtyAdjusted: 232.96, calculation: “232.96 ÷ 2.88 = 80.89”, units: 81, unitPrice: 12.89, total: 1044.09 }, sub: { product: “Siniat standard board 9.5mm”, dimensions: “2400 × 1200 × 9.5mm”, coveragePerUnit: “2.88 m²/sheet”, wasteFactor: “0%”, qtyAdjusted: 232.96, calculation: “232.96 ÷ 2.88 = 80.89”, units: 81, unitPrice: 11.38, total: 921.78 }, notes: “Same dimensions; units match” }, { material: “Vapour permeable membrane”, estimateQty: 250.00, estimateUnit: “m²”, lkq: { product: “Pro clima solitex plus”, dimensions: “1.5m × 50m roll”, coveragePerUnit: “75 m²/roll”, wasteFactor: “0%”, qtyAdjusted: 250.00, calculation: “250 ÷ 75 = 3.33”, units: 4, unitPrice: 246.50, total: 986.00 }, sub: { product: “Klober permo forte breathable membrane”, dimensions: “1.5m × 50m roll”, coveragePerUnit: “75 m²/roll”, wasteFactor: “0%”, qtyAdjusted: 250.00, calculation: “250 ÷ 75 = 3.33”, units: 4, unitPrice: 207.07, total: 828.28 }, notes: “Same roll size; units match” }, { material: “Woodwork decoration material”, estimateQty: 477.44, estimateUnit: “lm”, lkq: { product: “Dulux trade quick dry gloss”, dimensions: “2.5L tin”, coveragePerUnit: “30 lm/tin”, wasteFactor: “0%”, qtyAdjusted: 477.44, calculation: “477.44 ÷ 30 = 15.91”, units: 16, unitPrice: 42.01, total: 672.16 }, sub: { product: “Crown trade fastflow quick dry gloss”, dimensions: “2.5L tin”, coveragePerUnit: “37 lm/tin”, wasteFactor: “0%”, qtyAdjusted: 477.44, calculation: “477.44 ÷ 37 = 12.90”, units: 13, unitPrice: 27.71, total: 360.23 }, notes: “Sub has better coverage (37 vs 30 lm/tin)” }, { material: “Skirting board – mdf”, estimateQty: 312.87, estimateUnit: “lm”, lkq: { product: “Goodhome primed white MDF skirting board 16mm”, dimensions: “2.4m length”, coveragePerUnit: “2.19 lm/piece”, wasteFactor: “0%”, qtyAdjusted: 312.87, calculation: “312.87 ÷ 2.19 = 142.86”, units: 143, unitPrice: 12.00, total: 1716.00 }, sub: { product: “Goodhome planed natural pine torus skirting board”, dimensions: “2.4m length”, coveragePerUnit: “2.39 lm/piece”, wasteFactor: “0%”, qtyAdjusted: 312.87, calculation: “312.87 ÷ 2.39 = 130.91”, units: 131, unitPrice: 12.97, total: 1699.07 }, notes: “Pine has more usable length per piece (2.39 vs 2.19 lm)” } ]; return (

RBB-D19B19_UnitCalculations.xlsx

Report Date: September 05, 2025 | Location: 1 Buckingham Palace Rd, London

{data.map((row, i) => ( ))}
Material Est. Qty Unit LKQ Product Substitute Product Notes
Product Dimensions Coverage/Unit Waste Calculation Units £/Unit Total £ Product Dimensions Coverage/Unit Waste Calculation Units £/Unit Total £
{row.material} {row.estimateQty.toFixed(2)} {row.estimateUnit} {row.lkq.product} {row.lkq.dimensions} {row.lkq.coveragePerUnit} {row.lkq.wasteFactor} {row.lkq.calculation} {row.lkq.units} £{row.lkq.unitPrice.toFixed(2)} £{row.lkq.total.toFixed(2)} {row.sub.product} {row.sub.dimensions} {row.sub.coveragePerUnit} {row.sub.wasteFactor} {row.sub.calculation} {row.sub.units} £{row.sub.unitPrice.toFixed(2)} £{row.sub.total.toFixed(2)} {row.notes}

Calculation column shows: Estimate Qty ÷ Coverage Per Unit = Raw result (then rounded up to Units)

Yellow highlighting indicates the calculation formula for QA verification

); }

Subscribe to our Newsletter!