Skip to main content

Using the Parts Price Matrix

This shows you how to create/manage Price Matrix in EasyTruckShop to automate steady part markups while staying flexible when needed.

Written by Derek Batishev
Updated over a week ago

What Is a Price Matrix?

A Price Matrix is a rule-based pricing tool that automatically calculates your sales price based on the purchase cost of a part.

You define markup percentages for different price ranges — and EasyTruckShop does the math for you.

For example:

  • $0–$1.5 → 145% markup

  • $1.51–$3 → 100% markup

  • $3–$5 → 85% markup

  • $5.01-$10 → 80% markup

So on and so forth

This keeps your part pricing consistent and scalable across your business.


How to Set Up a Price Matrix

  1. Go to Settings (click your name in the top-right corner)

  2. Click Part Settings

  3. Select the Price Matrix tab

  4. Click Add Matrix

  5. Name your matrix (e.g., "Fleet Customers" or "High Volume")

  6. Add markup rules by setting a Min, Max, and Markup %

  7. Click Save to finish


How a Matrix Applies to Parts

Once your matrix is created:

  • The system will auto-calculate the sales price based on the purchase cost and your matrix rules

  • You can assign different matrices to customers or service types for flexible pricing


What Is the Cost Floor?

Sometimes, you get a deal on a part (like a bulk discount), and the regular matrix would underprice it.

That's where Cost Floor comes in.

Example:

  • Normally you pay $75 per part

  • Today you got a deal and paid $50

  • You still want to base your markup on $75 to maintain profit

In this case, set $75 as the Cost Floor, and EasyTruckShop will calculate markup based on that instead of the actual $50

This helps protect your margins and keeps your pricing consistent even when costs fluctuate.


How WAC and the Price Matrix Work Together

Understanding the connection between WAC and your Price Matrix is key to knowing why your part prices are what they are:

WAC = your cost. This is the weighted average of what you paid for all units of a part.

Price Matrix = your markup rule. It takes the WAC and applies a percentage markup based on the price range.

Sale Price = the result. This is what shows on the invoice.

Example: Your part has a WAC of $10.00. Your matrix says parts between $5–$15 get an 80% markup. ETS calculates: $10.00 × 1.80 = $18.00 sale price.

If your WAC changes (because you received a new PO at a higher price), the sale price recalculates automatically on the next use.


Lock Sales Price Option

If you want full control over pricing for a specific part (no matrix), just toggle Lock Sales Price when editing the part.

This bypasses matrix rules completely.


How to Assign a Matrix to a Specific Customer

You can assign different matrices to different customers — for example, a "Fleet" matrix with lower markups for high-volume accounts.

  1. Open the customer's profile.

  2. Click Edit.

  3. Find the Price Matrix dropdown under the pricing or billing section.

  4. Select the matrix you want to apply to that customer.

  5. Save the customer profile.

When that customer has a work order or part sale, ETS will use their assigned matrix instead of the default.


Summary

  • Price Matrix = automatic markup rules for cleaner, faster pricing

  • Cost Floor = optional override to protect margins on discounted purchases

  • Use this combo to keep your parts profitable without manual calculations


Troubleshooting: Parts Not Pricing Correctly?

If parts aren't getting the right sale price, work through this checklist:

  • Is a Price Matrix still active? Go to Settings → Part Settings → Price Matrix and confirm your matrix exists. A deleted matrix causes silent pricing failures.

  • Is the part set to Lock Sales Price? If toggled on, the matrix is bypassed.

  • Is a Cost Floor overriding WAC? The floor takes priority if it's higher than the actual cost.

  • Is the right matrix assigned to the customer? Check the customer profile.

⚠️ Important: If your Finalize button stops working after deleting a Price Matrix, recreating the matrix and re-assigning it will resolve the issue.

Did this answer your question?