Aller au contenu principal
Methodology

How we calculate our prices

Most sites publish prices. Almost none publish the method behind them. A price without a method cannot be checked, compared or challenged.

This page sets out exactly where our ranges come from: the input data and its source, the formula, and the assumptions we make — presented as assumptions, not as measurements.

Verified on 25 July 2026

The input data

All our data is Luxembourgish. No French-market data enters the calculation: the minimum wage, employer contributions and collective agreements are structurally different there.

Minimum wage (unskilled)2,771.33 € / moisguichet.lu / ITM Verified on 25 July 2026
Minimum wage (skilled)3,325.60 € / moisguichet.lu / ITM Verified on 25 July 2026
Employer contributions (total)12.355 % – 15.275 %CCSS Verified on 25 July 2026
Weekly working time40 hITM Verified on 25 July 2026
Annual leave (construction)28 daysOGBL — CCT bâtiment et génie civil Verified on 25 July 2026

À titre de comparaison, les charges patronales françaises avoisinent 42 %. Un prix calculé sur une base française ne peut pas s'appliquer au Luxembourg.

The formula

The hourly rate a company bills is not the worker's wage. In between sit employer contributions, non-billable hours, overheads and margin.

  1. coût employeur annuel = brut mensuel × 12 × (1 + charges patronales)
  2. heures facturables/an = heures contractuelles − congés − jours fériés − congés collectifs − part non facturable
  3. coût horaire direct = coût employeur annuel / heures facturables
  4. taux horaire facturé = coût horaire direct × (1 + frais généraux) × (1 + marge)

La sortie du modèle est confrontée aux devis réellement observés. Si le modèle produit un taux nettement inférieur au marché, c’est le modèle qui est corrigé — jamais le résultat qui est ajusté à la main.

Our hourly rate ranges

Model output, computed from the data above. Excluding VAT and materials.

Building trades

39–60 €/h excl. VAT

3 325,6–3 700 € gross/month · 1 326–1 503 billable h/year · 2 080 contractual h

Technical trades

43–70 €/h excl. VAT

3 700–4 300 € gross/month · 1 326–1 503 billable h/year · 2 080 contractual h

These ranges are market orders of magnitude, not quotes.

Hourly rate by trade

Daytime rate, excluding VAT and excluding materials. "Published" means the rate comes from our trade guides, which are consistent across all three languages. "Modelled" means no dedicated guide exists, so we apply the model band above.

TradeDaytime rate (excl. VAT)Basis
Plumber45–70 €/hPublished
Electrician50–75 €/hPublished
Heating engineer55–80 €/hPublished
Roofer50–75 €/hPublished
Insulation39–60 €/hModelled
Doors & windows39–60 €/hModelled
Painter35–65 €/hPublished
Tiler45–70 €/hPublished
Mason45–70 €/hPublished
Carpenter45–65 €/hPublished
Ventilation (MVHR)43–70 €/hModelled
EV charger43–70 €/hModelled

These rates cover labour only. Materials, scaffolding and waste removal are billed on top.

Surcharges and call-out

These surcharges apply on top of the daytime rate, never instead of it.

Evening (6pm-10pm) +30 – 50 %
Night (10pm-6am) +80 – 120 %
Weekend +50 – 80 %
Public holidays +100 – 150 %
Call-out / travel fee 30–60 €

Common job prices, by trade

Ranges excluding VAT for the jobs we are asked about most. These are the prices we publish in our trade guides, gathered here so there is only one reference.

Plumber

Tap leak (washer replacement) Labour only 80–120 €
Hidden leak (detection + repair) Labour only 300–600 €
Unblocking a sink or basin Labour only 100–150 €
Unblocking a stack (power auger) Labour only 200–400 €
Fitting a wall-hung WC Labour only 300–500 €
Walk-in shower (labour only) Labour only 800–1 500 €
Hot water cylinder 150-200 L (fitting) Labour only 300–500 €

Unless stated otherwise, prices cover labour and fitting. Sanitary ware, taps, and making good tiling or plasterwork afterwards are billed separately.

Electrician

Power failure (diagnosis) Labour only 80–150 €
Replacing a circuit breaker Materials included 100–180 €
Standard socket (supplied and fitted) Materials included 80–120 €/unit
Replacing a 3-row consumer unit Materials included 800–1 500 €
Full rewiring to standard, 100 m² house Materials included 4 000–7 000 €
EV charger 11 kW (supplied and fitted) Materials included 800–1 300 €
Electric roller shutter (per unit) Materials included 150–300 €/unit

Prices include standard materials. Chasing walls, making good and repainting are not included, nor is the compliance certificate where an approved body must be involved.

Heating engineer

Air-to-water heat pump (120 m² house) Materials included 12 000–18 000 €
Ground-source heat pump Materials included 20 000–30 000 €
Gas condensing boiler (15-25 kW) Materials included 4 000–6 500 €
Pellet boiler (15 kW) Materials included 12 000–18 000 €
Underfloor heating Materials included 60–100 €/m²
Annual service contract, gas boiler Labour only 150–250 €/year
Chimney or stove sweeping Labour only 80–120 €

Prices cover the equipment and its installation. Adapting radiators, chimney lining, asbestos removal and disposal of the old appliance are billed separately. Klimabonus aid is deducted afterwards.

Roofer

Basic renovation (tile replacement) Materials included 80–100 €/m²
Full renovation with insulation Materials included 100–140 €/m²
New roof, clay tiles Materials included 120–160 €/m²
New roof, natural slate Materials included 150–200 €/m²
Flat roof (EPDM) Materials included 80–120 €/m²
Localised leak repair Labour only 200–500 €
Cleaning and moss removal Labour only 15–25 €/m²

Scaffolding (€800-2,000 depending on the site), roof-structure repair and waste removal are not included in the per-m² prices.

Mason

Concrete block wall (20 cm) Materials included 80–120 €/m²
Exposed stone wall Materials included 150–250 €/m²
Reinforced concrete slab (20 cm) Materials included 60–90 €/m²
Liquid screed Materials included 25–40 €/m²
Traditional façade render Materials included 40–60 €/m²
Opening in a load-bearing wall Materials included 1 500–3 500 €
Concrete terrace Materials included 60–100 €/m²

Groundworks, rubble removal and the structural survey required for any work on a load-bearing wall are billed separately.

Carpenter

Mid-range fitted kitchen Materials included 3 500–5 000 €
Bespoke wardrobe (2 m x 2.5 m) Materials included 1 500–2 500 €
Full walk-in wardrobe (6-8 m²) Materials included 3 000–6 000 €
Solid wood interior door Materials included 500–800 €/unit
Quarter-turn wooden staircase Materials included 4 000–7 000 €
Nailed parquet laying Labour only 30–45 €/m²
Timber deck Materials included 80–150 €/m²

Bespoke prices include timber and fitting. Removing the existing installation, making good floors or walls, and electrical or plumbing connections are not included.

Painter

Walls in good condition Materials included 15–22 €/m²
Walls in poor condition (heavy prep) Materials included 30–45 €/m²
Ceilings Materials included 20–35 €/m²
Woodwork (doors, windows) Materials included 25–40 €/m²
Standard bedroom (15 m²) Materials included 550–900 €
Living room (25 m²) Materials included 900–1 500 €
Full skim coat Materials included 15–25 €/m²

Per-m² prices include the paint and two coats. Heavy preparation (full skim coat, stripping) is charged on top, as is extensive furniture protection.

Tiler

Floor, standard straight lay Labour only 35–45 €/m²
Large-format floor (80x80 and up) Labour only 50–65 €/m²
Wall, straight lay Labour only 40–50 €/m²
Mosaic Labour only 60–90 €/m²
Removing old tiling Labour only 15–25 €/m²
Levelling compound Materials included 15–25 €/m²
Liquid waterproofing system Materials included 20–30 €/m²

Unless stated otherwise, prices cover laying only: the tiles themselves are not included. Removing old tiling, levelling and waterproofing are separate items, listed above.

A range is not a quote: the real price depends on access, the condition of what is already there, and the level of finish.

Our assumptions, stated as such

Three components of the formula are not published by any official source — they vary by company. We publish our assumed ranges rather than hiding them inside the result.

Assumption

Non-billable share

15 % – 25 %

Déplacements entre chantiers, établissement des devis, administratif, intempéries. Fourchette d’hypothèse, non mesurée.

Assumption

Overheads

20 % – 35 %

Véhicule, outillage, assurances (RC pro et garantie décennale), local, logiciels, non-productivité des apprentis. Fourchette d’hypothèse, non mesurée.

Assumption

Margin

8 % – 15 %

Marge d’exploitation. Fourchette d’hypothèse, non mesurée.

Mandatory collective closures

The Luxembourg construction sector closes collectively twice a year. These periods reduce billable hours — and, for you, shift when craftsmen are available. Few sites mention them, yet they are decisive when planning work.

Congé collectif d’été 2026

from 31 July 2026 to 23 August 2026

À partir du dernier vendredi de juillet, jour férié du 15 août inclus.

Congé collectif d’hiver 2026/2027

from 19 December 2026 to 6 January 2027

Pour travailler pendant un congé collectif, l’entreprise doit introduire une demande de dérogation auprès de la commission ad hoc (ITM).

Source : ITM · Verified on 25 July 2026

Current status of the dataset

Our rates are computed by the model above from the source data, not typed in by hand. As the 2026 collective agreement wage grid is not yet confirmed, we anchor the calculation on two verifiable references: the qualified minimum wage and the observed average wage of a qualified sector worker. The resulting ranges are market orders of magnitude — they will be tightened as soon as the agreement in force is published.

Source : ITM — accords collectifs · Verified on 25 July 2026

Why our prices differ from other sites

Many figures published in French for "the price of a plumber" come from the French market. They do not transfer to Luxembourg: the minimum wage is different, French employer contributions run around 42% against 12.355%–15.275% here, and Luxembourg's collective agreements, classifications and mandatory sector closures have no French equivalent.

A price is only comparable if you know what it contains. A range that states neither VAT, nor materials, nor travel, nor waste removal cannot be held against a quote. Most gaps between an advertised price and a received quote are not pricing errors — they are differences of scope.

What our prices are — and are not

Our ranges are market orders of magnitude, meant to help you judge whether a quote is coherent. They are not quotes and not price commitments. Only a professional who has seen your site can set a firm price. Unless stated otherwise, amounts exclude VAT and materials.

Updates

Every figure carries its source and verification date. The dataset is reviewed whenever one of its parameters is known to change: wage indexation, a new collective agreement, a change in contribution rates or in public aid amounts.

Frequently asked questions

Where do the prices on tack.lu come from?

They are derived from public Luxembourg data: the statutory minimum wage, CCSS employer contribution rates, the sector collective agreement and statutory working time. The full formula and the assumptions used are published on this page, with the source and verification date of each figure.

Why not use prices published for France?

Because they do not apply. The Luxembourg minimum wage differs from the French SMIC, French employer contributions run around 42% against 12.355%–15.275% in Luxembourg, and Luxembourg collective agreements and mandatory sector closures have no French equivalent. A French price transposed to Luxembourg is simply wrong.

Do your prices include VAT?

Unless stated otherwise, our ranges exclude VAT and materials. Renovation work on housing may qualify for the 3% housing VAT rate instead of 17%, subject to conditions. We always state the scope of a price: what it includes and what it excludes.

Why publish ranges rather than a single price?

Because a single price would be wrong for almost everyone. Actual cost depends on site access, the condition of what is already there, the materials chosen and how busy the company is. A range shows what is common on the market and lets you spot an unusually low or high quote.

What are collective closures and why do they concern me?

The Luxembourg construction sector closes collectively in summer and at year end. During these periods companies work only with a derogation granted by the labour inspectorate. This affects lead times: a request submitted just before a closure will start after it.

How often are these prices updated?

Every input carries its verification date, shown on the page. The dataset is reviewed whenever a parameter is known to change: wage indexation, the signing of a new collective agreement, or a change in contribution rates or public aid amounts.

Compare against real quotes

A range gives you an order of magnitude. A quote from a verified company gives you your price.

Request free quotes