---
title: "Parts markup and pricing matrices for repair shops | Brinlo"
description: "Test a parts markup matrix with a checked worksheet. Review your actual parts mix, cost-band boundaries, discounts, supplier costs, returns, and cores."
canonical: "https://usebrinlo.com/blog/parts-markup-matrix/"
language: "en"
---

Pricing and shop numbers

# Parts markup and pricing matrices for repair shops

Test a parts markup matrix with a checked worksheet. Review your actual parts mix, cost-band boundaries, discounts, supplier costs, returns, and cores.

October 4, 2026

## Share this article

![Shop owner holding a blank parts tag and pointing to a paper grid beside a filter and spark plug.](https://usebrinlo.com/art/blog/parts-markup-matrix.webp)

A parts markup matrix is a table that applies a selling-price rule to each part cost range. Use this method to test an existing or proposed matrix against the parts you sell. Check total gross profit, customer discounts, and prices at each range boundary. A chart that looks reasonable one row at a time can produce a poor result across a month of work.

This method checks a manual matrix before you use or revise it on estimates. It does not tell you which bands, multipliers, or targets to choose. The numbers are teaching examples, not recommended prices or margin targets.

## Separate markup from margin

Markup measures the amount added to cost. Gross margin measures the share of sales left after the cost of the parts sold.

For a part that costs $80 and sells for $120:

| Measure | Calculation | Result |
| --- | --- | --- |
| Gross profit dollars | $120 − $80 | $40 |
| Markup | $40 ÷ $80 × 100 | 50% |
| Gross margin | $40 ÷ $120 × 100 | 33.33% |
| Cost multiplier | $120 ÷ $80 | 1.50 |

A 50% markup is not a 50% margin. [Kaizen CPAs explains the same distinction](https://www.kaizencpas.com/auto/markup-profit-margin-auto-repair-pricing). For a chosen margin, divide cost by one minus that margin, written as a decimal. At a 40% margin, an $80 cost gives $80 ÷ 0.60 = $133.33, rounded to cents.

That is gross profit on the part, not money you can take home. It still contributes toward the shop’s other expenses. Check one price with the [parts markup calculator](https://usebrinlo.com/resources/parts-markup-calculator/) before testing the whole basket below.

## Write down what counts as cost

Use one cost rule throughout a test. Otherwise, an apparent pricing problem may be a difference in how you recorded costs.

For a first manual test, record the supplier’s net unit price and any inbound freight you assign to that unit. Note the invoice date. Keep refundable core deposits separate while their recovery is unresolved.

Distinguish three numbers:

-   **Cost used for the quote.** The supplier quote or cost record used when you set the price.
-   **Cost of the part sold.** The cost used to measure the completed sale, under your accounting method.
-   **Current replacement cost.** What the next unit would cost now. Use it to test new quotes, not to rewrite old profit.

A catalog list price is not proof of your purchase cost. Nor is a rebate you might earn later a settled reduction today.

[IRS Publication 334](https://www.irs.gov/publications/p334) distinguishes trade discounts, cash discounts, purchase returns, and freight-in when explaining cost of goods sold. It also separates gross profit from later business expenses. That guide covers US Schedule C businesses, not every shop’s accounting situation.

Have your accountant confirm how to handle freight, rebates, purchase taxes, inventory, and credits. This worksheet tests prices. It does not choose your tax treatment or replace your books. Do not load rent and other overhead into unit cost while also treating the result as an ordinary parts gross margin.

## Test the parts you actually sell

Start with a complete recent period, such as one month. Include each sold part’s quantity, unit cost, selling price, and customer discount. Keep a separate list of returns, missing costs, and unusual jobs rather than silently deleting them.

If that period misses work you regularly do, extend it. Mark unusual large jobs so you can see results with and without them. A completed-sales basket cannot tell you which unsold estimates customers would accept at different prices.

Here is a deliberately small test basket. Costs exclude refundable cores, sales tax, and labor. There are no discounts yet. Its multipliers contain boundary flaws, shown in the next section. Do not adopt them as a pricing chart.

| Unit cost band | Test multiplier | Units sold | Cost per unit | Total cost | Total sales |
| --- | --- | --- | --- | --- | --- |
| More than $0 through $20 | 2.00 | 8 | $8 | $64 | $128 |
| More than $20 through $100 | 1.75 | 3 | $60 | $180 | $315 |
| More than $100 | 1.40 | 1 | $240 | $240 | $336 |
| **Total** |  | **12** |  | **$484** | **$779** |

Multiply each unit cost by its band’s multiplier. Round the unit sell price to cents, then multiply by quantity.

The basket produces $295 in gross profit. Its margin is $295 ÷ $779 × 100 = **37.87%**.

Do not average the three band margins. That gives 40.48%, which is not this basket’s margin. The expensive part carries more sales dollars than the eight small parts combined. Adding more high-cost work changes the result even if every multiplier stays the same.

Use total gross profit divided by total net parts sales. Also review gross profit dollars. A percentage alone cannot show how much the parts contribute toward running the shop.

## Check every cost-band boundary

The test matrix above has a flaw. At $20 cost, the price is $40. At $20.01, the multiplier drops to 1.75 and the price becomes $35.02.

One extra cent of cost reduces the sell price by $4.98.

| Unit cost | Applied multiplier | Rounded unit sell price |
| --- | --- | --- |
| $19.99 | 2.00 | $39.98 |
| $20.00 | 2.00 | $40.00 |
| $20.01 | 1.75 | $35.02 |
| $99.99 | 1.75 | $174.98 |
| $100.00 | 1.75 | $175.00 |
| $100.01 | 1.40 | $140.01 |

For every cutoff, test the cent below, the cutoff itself, and the cent above. Write which band owns the exact cutoff. Use unit cost, not the total cost of several units.

Changing the cutoff alone moves the drop. It does not remove it. Consider a shared multiplier across adjacent bands, a reviewed price floor, or a formula that carries the lower band’s price forward. Each changes the price pattern, so rerun the basket after choosing a rule.

For instance, change only the band above $20 through $100. Start at $40 and add $1.75 for each cost dollar above $20. At $20.01, that gives $40.02. At $60, it gives $110, not the original $105.

That removes the first drop, but leaves the second boundary to fix. It is not the same as multiplying the whole cost by 1.75. Label it clearly. Do not use it as a hidden change to your quoted prices.

## Measure discounts against the dollars left

Now keep the original basket’s costs and apply two customer discounts:

| Basket line | Matrix sales | Customer discount | Net parts sales | Gross profit |
| --- | --- | --- | --- | --- |
| Eight $8 parts | $128 | $0 | $128 | $64 |
| Three $60 parts | $315 | $15 | $300 | $120 |
| One $240 part | $336 | $36 | $300 | $60 |
| **Total** | **$779** | **$51** | **$728** | **$244** |

The $51 discount is 6.55% of the original sales. It removes 17.29% of the original $295 gross profit. The new margin is **33.52%**, not 37.87% minus 6.55 percentage points.

Record the actual discount dollars and the reason. If a discount covers the whole repair, use a consistent, documented way to assign the parts share. Do not charge the entire discount to parts one month and labor the next.

Write who can approve exceptions and where they are recorded. Review repeated exceptions before changing every band. They may point to a cost error, an unsuitable rule, or a service priced separately from your normal parts work.

## Separate supplier changes from pricing exceptions

Suppose the last part actually costs $260 rather than the $240 used for the quote. If the final sales stay at $728, basket cost rises to $504. Gross profit falls to $224 and margin to **30.77%**.

You can now explain the full difference:

-   Starting matrix gross profit: $295.
-   Customer discounts: minus $51.
-   Cost increase on the sold part: minus $20.
-   Gross profit using final sales and costs: $224.

Do not count that $20 again as a separate expense in the same comparison. It is already in the $504 cost.

Date each matrix version and save the cost used for each quote. Recheck costs when a supplier changes price or you substitute a part. Test current replacement costs separately when reviewing new estimates. A supplier increase does not mean every part needs the same percentage price change.

Set prices independently for your shop. Use your own costs, work mix, and results rather than agreeing on prices with other shops.

## Keep returns and cores out of the wrong column

A customer refund, a supplier credit, and a core refund are different events. Give each its own record and link it to the original part.

For this worksheet, a recoverable supplier core deposit stays outside the pricing cost. Record the amount paid, return deadline, return proof, and credit received. An open deposit is not automatically a loss. A denied credit is not automatically a new customer charge.

If a $50 core becomes unrecoverable and the shop bears it, that is a $50 exposure to review. Ask your accountant where it belongs before changing reported gross profit. Do not count the original deposit and the denied recovery as two separate losses.

Track customer core charges and refunds separately too. Do not assume a supplier refund settles what you owe a customer.

For an unsold $40 part returned for a $34 supplier credit, the unrecovered purchase amount is $6. Add a separate $6 return freight charge and the shop has $12 to account for. Here, the credit is for the part alone. Freight has not already reduced that credit or been counted elsewhere. There is no parts sale to use as a margin denominator for that return alone.

## Record the result of your test

Use the [matrix testing worksheet](https://usebrinlo.com/downloads/blog/parts-markup-matrix/worksheet.md) to record the rule you are checking, then run the basket and boundary tests. Keep its completed example separate from your own figures. Resolve missing costs and return items before treating a comparison as final.

Record a review date and compare the rule with completed invoices. Keep the matrix result, final sell price, and exception reason distinct. A mathematically consistent matrix still needs a shop-specific margin target and customer acceptance checks.

Brinlo supports [manually entered parts costs and selling prices on estimates](https://usebrinlo.com/features/estimates/). It does not apply an automatic pricing matrix or order parts. Use your checked rule to choose the price, then enter it with the repair.

Review the result in the [shop profit-margin calculation](https://usebrinlo.com/blog/auto-repair-shop-profit-margin/). For the labor side of the same invoices, calculate the [effective labor rate](https://usebrinlo.com/blog/effective-labor-rate/) separately.

From estimate to invoice

## Keep the repair in one place.

Write estimates, get customer approval, track jobs, and send invoices in Brinlo.

[See how it works](https://usebrinlo.com/#how-it-works)

## Related articles

[![](https://usebrinlo.com/art/blog/run-auto-repair-shop.webp)

Shop operations

### How to run an auto repair shop day to day

Run your shop day to day with a clear job list, approval and parts checks, customer updates, handoffs, and a checklist for opening, pickup, and closing.

Read article

](https://usebrinlo.com/blog/run-auto-repair-shop/)[![](https://usebrinlo.com/art/blog/auto-repair-shop-profit-margin.webp)

Pricing and shop numbers

### Auto repair shop profit margin: calculate your own

Calculate your auto repair shop profit margin with a worked example and worksheet. Separate parts markup, owner pay, operating profit, taxes, and cash.

Read article

](https://usebrinlo.com/blog/auto-repair-shop-profit-margin/)[![](https://usebrinlo.com/art/blog/effective-labor-rate.webp)

Pricing and shop numbers

### Effective labor rate: formula and worked calculation

Calculate effective labor rate from net labor sales and sold hours. Check discounts, package prices, credits, and weighted totals with a worked shop worksheet.

Read article

](https://usebrinlo.com/blog/effective-labor-rate/)
