PDR – damage assessment and pricebooks
PDR (Paintless Dent Repair) is a specialized way of repairing body damage that does not require repainting. Typical cases: hail damage, light impacts, smaller dents from shopping carts. Because of the specific nature of the work – the price depends on the count, size and location of the dents – PDR uses its own pricebook system with 4 different calculation types.
This article explains in detail:
- What PDR panels, dent sizes, ranges and modifiers are
- All 4 PDR pricebook types and their calculation formulas
- The full process: damage report → assessment → quote → work order
- Practical price calculation examples
Activating the PDR workflow
PDR is activated at the service type level:
- Open Options → Service types and create a new type, e.g. "PDR – hail damage".
- In the Workflow type field, choose PDR repair (Photos + Assessment).
- Set the billing category – most often Insurance (Claim) for repairs under an insurance claim, or Regular (Customer) if the customer pays directly.
- Save.
Now, when you choose this service type on a vehicle reception, the entire PDR section unlocks in the reception details: the Damages tab, image upload, panel mapping, the list of reported damages and the button to generate a quote from the assessment.
Vehicle panels
A panel is an individual body part of the vehicle (hood, door, roof, fender…). PDR pricebooks do not directly depend on the panel – but the panel is used for visual damage tracking on the vehicle image and in reports.
Under PDR → Vehicle panels you define a global list of panels that applies to all makes:
- Name (e.g. "Hood", "Left front door", "Roof")
- Short code (HD, LFD, RF) – shown in the list and on the thumbnail
- Sort order
- Active / inactive
Mapping panels to a body type
Under PDR → Body types you assign which panels each body type has and where they are located on the car image. This is done once per body type:
- Select a body type (e.g. "Sedan", "SUV", "Van").
- The image of a car of that type opens.
- Drag panels from the list onto the image and position them with the mouse or finger.
- To remove a panel: right-click (mouse) or long-press (phone/tablet).
- Save the mapping.
After mapping, when the technician reports damages on a vehicle of that body type, the panels are shown at the correct positions on the car image.
Dent sizes and ranges
Dent size and dent count are the two dimensions of the matrix from which the price is calculated. Both are defined globally.
Dent sizes
Under PDR → Dent sizes you define size classes. Example of a typical list:
| Name | Description |
|---|---|
| ≤ 10 mm | Small dent, hail "pea" |
| 10–20 mm | Medium |
| 20–30 mm | Larger |
| 30–40 mm | Large |
| 40–70 mm | Very large |
| > 70 mm | Extreme |
| ALU | Special class for aluminum – often has its own pricebook |
Sizes are arbitrary – adapt them to your practice. Some shops use "Small / Medium / Large", others use millimeter classes.
Dent ranges
Under PDR → Dent ranges you define classes based on the number of dents. Example:
| Label | From | To |
|---|---|---|
| 1 dent | 1 | 1 |
| 2-3 dents | 2 | 3 |
| 4-6 dents | 4 | 6 |
| 7-15 dents | 7 | 15 |
| 16-30 dents | 16 | 30 |
| 31+ | 31 | 999 |
The system automatically picks the right range based on the entered dent count. If you report 5 dents, the 4-6 range is used.
Modifiers
Modifiers are percentage add-ons / deductions applied to the base price from the matrix. They are used for factors that make the work harder or easier:
Modifier types
Under PDR → Modifier types you define categories of modifiers. For example:
- Accessibility (normal / hard access / disassembly needed)
- Material type (steel / aluminum / composite)
- Paint damage (none / minor / major – needs repair)
- Panel location (edge / interior / near opening)
Modifiers per pricebook
Inside a specific pricebook (PDR → Pricebooks → [selected pricebook] → Modifiers) you define what percentage each modifier contributes in that pricebook. For example:
| Modifier | Percentage | Effect |
|---|---|---|
| Hard access – disassembly | +30% | Increases the base by 30% |
| Aluminum panel | +50% | Increases the base by 50% |
| Paint damage (minor) | +15% | Adds 15% for extra work |
| Panel edge | +20% | Adds 20% for harder work at the edge |
When reporting a damage, the technician selects the applicable modifiers. Each selected modifier is summed and applied to the base value.
How modifiers combine – additive, not compound
If multiple modifiers are applied to a damage, they are summed, not multiplied in a chain. Example for modifiers +30% and +15%:
Correct (additive): base × (1 + 0.30 + 0.15) = base × 1.45
Wrong (compound): base × 1.30 × 1.15 = base × 1.495
The formula is: final = base × (1 + sum_of_percentages_of_all_selected_modifiers)
- Normative types (fixed and variable rate) – the modifier multiplies the normative hours from the matrix, not the final price. So: hours × (1 + sum%) then × rate.
- Fixed prices – the modifier multiplies the fixed price (VPC) from the matrix.
- Per-dent price – modifiers are NOT applied for this type. Even if ticked, they are ignored. If you need multipliers for type 4, build them into the matrix itself (different base price per class).
Pricebooks and matrix – all 4 types
Each PDR pricebook has a type that determines how the price is calculated. Under PDR → Pricebooks → New pricebook, the Pricebook type field offers 4 options. This is the most important part of the PDR configuration – choose carefully, because each type has a different formula.
Every pricebook has common fields:
- Name – e.g. "Standard PDR 2026", "Premium PDR for aluminum"
- Description – internal note on what the pricebook covers
- Status – active / inactive
- Preferred – the default pricebook that is automatically suggested during assessment
- Labor service – required for normative types, defines which service item from the item pricelist provides the hourly rate
After creating a pricebook, you define the matrix – row by row, you enter combinations of size and range with the corresponding value:
| Size | Range | Value (normative: hours, fixed: €) |
|---|---|---|
| ≤ 10 mm | 1 dent | 0.5 |
| ≤ 10 mm | 2-3 dents | 1.0 |
| ≤ 10 mm | 4-6 dents | 1.8 |
| 10-20 mm | 1 dent | 1.0 |
| 10-20 mm | 2-3 dents | 2.0 |
| … and so on | ||
Type 1: Normative – fixed hourly rate (default)
How it works: The matrix contains normative hours for each combination of size × range. The hourly rate is pre-bound to the pricebook – when creating the pricebook you select one service item from the item pricelist (e.g. "PDR labor – €40/h") and all damages from this pricebook use that same rate. VAT is taken from the selected labor service (not set per pricebook or per matrix row).
Step-by-step calculation:
- Read normative hours from the matrix – the system finds the row for the combination (damage size, range that covers the entered dent count) and picks the hours value.
- Apply modifiers to the hours – all selected modifiers are summed and multiplied with the base hours:
final_hours = base_hours + base_hours × (mod1% + mod2% + ...). - Read the hourly rate from the bound service – the selling price without VAT (VPC) of that service is pulled from the item pricelist. That's the €/h.
- Calculate total VPC =
final_hours × hourly_rate_VPC. - Calculate VAT =
VPC × VAT% / 100. The VAT % comes from the labor service. - Calculate total MPC =
VPC + VAT.
Example – simple (1 modifier):
Pricebook: "Standard PDR"
Service: "PDR labor" = €40.00/h, VAT 25%
Damage: 5 dents, size 10-20 mm
Matrix: row (10-20 mm, 4-6 dents) → 2.5 h
Modifier: "Hard access" +30%
1) Base hours from matrix = 2.50 h
2) Modifier +30% = 2.50 × 0.30 = 0.75 h
Final hours = 2.50 + 0.75 = 3.25 h
3) Rate from service = €40.00/h
4) VPC = 3.25 × 40.00 = €130.00
5) VAT 25% = 130.00 × 0.25 = €32.50
6) MPC (total to customer) = 130.00 + 32.50 = €162.50
Example – multiple modifiers (additive):
Same pricebook and damage, but with modifiers:
"Hard access" +30%
"Aluminum" +50%
"Panel edge" +20%
Sum 100%
1) Base hours = 2.50 h
2) Final hours = 2.50 × (1 + 1.00) = 2.50 × 2.00 = 5.00 h
3) Rate = €40.00/h
4) VPC = 5.00 × 40.00 = €200.00
5) VAT 25% = €50.00
6) MPC = €250.00
When to use: The most common choice for "regular" PDR practice. You have one fixed hourly rate, the matrix is in hours, and all clients get the same price for the same job.
Type 2: Fixed prices
How it works: The matrix directly contains the price in euros, without normative hours and without a labor rate. Each size × range combination has its final price without VAT (VPC) and its own VAT percentage. The labor service is not required – the field is left empty when creating the pricebook.
Step-by-step calculation:
- Read the fixed price from the matrix – for the row (size, range) the system takes the VPC price entered manually into the matrix.
- Read VAT % from the matrix – every matrix row has its own VAT %, independent of other rows.
- Apply modifiers to the price – modifiers are summed and multiplied with the base price:
final_VPC = base_VPC + base_VPC × (mod1% + mod2% + ...). - Calculate VAT =
final_VPC × VAT% / 100. - Calculate total MPC =
final_VPC + VAT.
Example – no modifiers:
Pricebook: "Hail flat rate"
Damage: 4 dents, size ≤ 10 mm
Matrix: row (≤10 mm, 4-6 dents) → VPC €80.00, VAT 25%
Modifiers: none
1) Base VPC from matrix = €80.00
2) VAT % from matrix = 25%
3) Final VPC = €80.00 (no modifiers)
4) VAT = 80.00 × 0.25 = €20.00
5) MPC = 80.00 + 20.00 = €100.00
Example – with a modifier:
Same pricebook and damage, modifier:
"Aluminum" +50%
1) Base VPC = €80.00
2) Modifier = 80.00 × 0.50 = €40.00
3) Final VPC = 80.00 + 40.00 = €120.00
4) VAT 25% = 120.00 × 0.25 = €30.00
5) MPC = 120.00 + 30.00 = €150.00
When to use: When you have agreed flat packages with a customer (e.g. an insurer), or when you don't want to calculate hourly rates and instead have a flat-rate list by size and dent count. Also ideal when you want every matrix class to have its own VAT (not possible with normative types).
Type 3: Normative – variable hourly rate
How it works: Exactly the same as Type 1 (matrix in hours, modifiers on hours), but with one key difference: the hourly rate is NOT pre-bound to the pricebook. When creating the pricebook, you don't select a labor service. Instead, the rate is chosen only when transferring damages to a work order – the technician at that moment picks which service (and thus which rate and which VAT) applies to that specific job.
Step-by-step calculation:
- Read normative hours from the matrix – same as Type 1.
- Apply modifiers to the hours – same as Type 1.
- VPC calculation is paused – in the reported damage, the system only shows the number of hours ("3.25 h"), without a specific price, because the rate hasn't been chosen yet.
- When transferring to a work order, the technician picks a labor service (e.g. "PDR – standard client" = €40/h, or "PDR – premium client" = €60/h).
- Calculate VPC =
final_hours × rate_VPC(rate from the chosen service). - Calculate VAT =
VPC × VAT% / 100(VAT % from the chosen service). - Calculate total MPC =
VPC + VAT.
Example – same damage, two different rates:
Pricebook: "PDR – variable rate"
Damage: 3 dents, size 10-20 mm
Matrix: row (10-20 mm, 2-3 dents) → 2.0 h
Modifier: none
Final hours: 2.00 h ← stays fixed regardless of who is billed
→ Case A: transfer to work order for a standard client
Chosen service: "PDR labor – standard" = €40.00/h, VAT 25%
VPC = 2.00 × 40.00 = €80.00
VAT = 80.00 × 0.25 = €20.00
MPC = 80.00 + 20.00 = €100.00
→ Case B: transfer to work order for a premium client
Chosen service: "PDR labor – premium" = €60.00/h, VAT 25%
VPC = 2.00 × 60.00 = €120.00
VAT = 120.00 × 0.25 = €30.00
MPC = 120.00 + 30.00 = €150.00
When to use: When you have different hourly rates for different clients (insurance vs. direct customer, VIP vs. regular, summer vs. winter), but don't want to maintain 3-4 versions of the same pricebook with identical matrices. One matrix of norms, multiple possible rates – the technician decides at transfer time.
Type 4: Per-dent price
How it works: The matrix contains a class base price (VPC) and an optional price per additional dent (VPC). The formula is linear: "base price + (dent count − minimum_in_range + 1) × price per dent". This is the most flexible type for scenarios where every additional dent has a linear extra cost.
VAT %, like in Type 2, is set per matrix row. The labor service is not required.
Step-by-step calculation:
- Read the matrix row – the system finds the row for the combination (size, range that covers the entered dent count) and reads from it: base price, price per dent and VAT %.
- Calculate offset =
minimum_of_range − 1. This is the "number of dents covered by the base price". For a "7-15 dents" range, the offset is 6, because the base price covers up to the 7th dent, and every dent above 7 adds the per-dent cost. - Number of additional dents =
dent_count − offset. That's how many dents are above the "free" amount. - Calculate VPC =
base_price + additional_dents × price_per_dent. - Calculate VAT =
VPC × VAT% / 100. - Calculate total MPC =
VPC + VAT.
Example – 8 dents (above the "free" threshold):
Pricebook: "Per-dent price – hail"
Damage: 8 dents, size ≤ 10 mm
Matrix: row (≤10 mm, range 7-15) →
base price = €100.00
price per dent = €8.00
VAT % = 25%
1) Range: 7-15, minimum = 7
2) Offset = 7 - 1 = 6
3) Additional dents = 8 - 6 = 2
4) VPC = 100.00 + 2 × 8 = €116.00
5) VAT 25% = 116.00 × 0.25 = €29.00
6) MPC = 116.00 + 29.00 = €145.00
Example – right at the range boundary (7 dents):
Same size and pricebook, but 7 dents:
1) Offset = 7 - 1 = 6
2) Additional dents = 7 - 6 = 1
3) VPC = 100.00 + 1×8 = €108.00
4) VAT 25% = 108.00 × 0.25 = €27.00
5) MPC = 108.00 + 27 = €135.00
So entering the 7-15 range gives you the €100 base price
+ one additional dent (1 × €8) because you're on the 7th, not the 6th.
Alternative variant – no price per dent:
If you leave the price per dent at 0, type 4 becomes a plain fixed
pricebook per class:
Matrix: (≤10 mm, range 7-15) → base 100, per dent 0
For 8 dents:
VPC = 100 + (8 - 6) × 0 = €100.00
For 15 dents:
VPC = 100 + (15 - 6) × 0 = €100.00
All dent counts inside the 7-15 range get the same price.
When to use: For hail damage where the dent count varies strongly (e.g. 1 vs. 50 dents) and where normative hours or fixed classes don't give an accurate result. Type 4 lets 50 dents cost approximately linearly more than 10 dents – the base covers the fixed class-entry cost, and each dent above the minimum adds a constant amount.
Summary – the 4 types side by side
| Type | Matrix contains | Hourly rate | When to use |
|---|---|---|---|
| Normative – fixed rate | Hours | Pre-bound to the pricebook | Standard practice, one rate for all clients |
| Fixed prices | Price in € | Not needed | Flat rate with clients, agreed prices |
| Normative – variable rate | Hours | Chosen when transferring to the work order | Different rates for different clients, one set of norms |
| Per-dent price | Base + price per additional dent | Not needed | Hail damage, big variations in dent count |
Reporting a damage
In the reception details (with a PDR workflow), under the Damages tab, click Report damage. A form for entering a single damage opens:
| Field | Description |
|---|---|
| Pricebook | Choose which PDR pricebook applies. The preferred pricebook is suggested first. |
| Panel | Choose the panel (from a list or by clicking on the vehicle map). |
| Dent size | Choose the size class. |
| Dent count | Enter the actual number. The system automatically picks the matching range from the matrix. |
| Modifiers | Select one or more applicable modifiers. |
| Replacement required | Marks that the panel needs replacing (PDR is not sufficient) – shown in the assessment. |
| Description | Additional free-text note about the damage. |
| Damage photos | Upload damage photos (drag & drop or phone camera). |
After saving, the damage appears in the list of reported damages with the calculated price. You can report an unlimited number of damages for one vehicle.
Extra work on a panel
Besides PDR dents, you can add other work on a panel that does not fit into the matrix: painting, polishing, element replacement. These extra jobs use the standard item pricelist (services), not the PDR matrix.
Creating a quote from the assessment
Once you have reported all damages, you have a list with automatically calculated prices. The next step is to create a quote for the customer:
- In the damages list, tick the damages that go into the quote (usually all).
- Click Create quote above the list.
- The system creates a Quote (POS document) with the ticked damages as line items.
- The quote can be printed, sent to the customer by email, and awaits their approval.
Transferring damages to a work order
When the customer approves the quote, the damages are transferred to a work order (the physical job list that is actually carried out):
- In the reported damages list, tick the damages to transfer.
- Click Transfer to work order.
- The system asks: which work order? (or offers to create a new one).
- For the pricebook type Normative – variable rate: the system additionally asks which labor rate to choose. Select from the list of services.
- On confirmation, each damage becomes a line item on the work order, calculated according to the selected pricebook and rate.
Damages already transferred to a work order are shown with a Transferred mark and cannot be transferred again.
Full example: hail damage – 15 dents
Vehicle: Audi A4 (2020)
Service type: PDR – hail damage
Category: Insurance (client: ACME Insurance)
Reported damages:
1) Hood: 5 dents, 10-20 mm
Pricebook: Standard PDR (normative, €40/h)
Modifier: Hard access (+30%)
Matrix [10-20 mm / 4-6 dents]: 2.5 h
→ Hours = 2.5 × 1.30 = 3.25 h
→ VPC = 3.25 × 40 = €130.00
2) Roof: 8 dents, 10-20 mm
Pricebook: Standard PDR
Modifier: none
Matrix [10-20 mm / 7-15 dents]: 3.5 h
→ Hours = 3.5 h
→ VPC = 3.5 × 40 = €140.00
3) Right front door: 2 dents, ≤ 10 mm
Pricebook: Standard PDR
Modifier: none
Matrix [≤10 mm / 2-3 dents]: 1.0 h
→ Hours = 1.0 h
→ VPC = 1.0 × 40 = €40.00
TOTAL:
VPC total = 130 + 140 + 40 = €310.00
VAT 25% = 310.00 × 0.25 = €77.50
MPC total = 310.00 + 77.50 = €387.50
→ Quote to customer (ACME Insurance): €387.50
Related articles
- Service module – full guide – main article, context for the whole service module.
- Online bookings – for PDR repairs that customers book online.
- Groups, items and services – how to set up the labor services that PDR pricebooks use.