Skill Tracer
Skills › Knowledge Work Plugins › proposal-builder › pricing_method.md

pricing_method.md

125 lines · small-business/skills/proposal-builder/reference/pricing_method.md at 2574e29

Open on GitHub
1# Pricing Method
2
3Price from what this owner has actually charged. Not from a general estimate, not from an industry average, and never from a plausible-sounding number.
4
5The owner can sanity-check a price in ten seconds if they can see what it was based on. They cannot check a number that appeared from nowhere, so they rebuild the whole thing by hand — which is the work this skill was supposed to remove.
6
7---
8

Pricing Method

Price from what this owner has actually charged. Not from a general estimate, not from an industry average, and never from a plausible-sounding number.

The owner can sanity-check a price in ten seconds if they can see what it was based on. They cannot check a number that appeared from nowhere, so they rebuild the whole thing by hand — which is the work this skill was supposed to remove.


Raw lines 1 to 8
9## The method
11**1. Find comparable jobs.**
13Pull past invoices and proposals for similar work:
15- The connected ledger's invoices with line detail (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books) — what was actually billed, which is what makes them comparable
16- A payments connector's charge history by customer (PayPal, Square, or Stripe) when no ledger is connected — totals only, so the line arithmetic has to come from the owner
17- Past proposals in Drive or M365
18- An uploaded price list or rate card
19- Anything the owner pastes in
21A good comparable matches on type of work, rough scale, and customer type. Two or three is plenty. One is thin but usable if it is close.
23**2. Build from the comparable, adjust for difference.**
25State the arithmetic:
27```
28Comparable: Fairmount Commercial, Mar 2026 — 4 rooftop units, same scope.
29 USD 14,200 total, USD 3,550 per unit.
31This job: 5 units, one on a lower roof with harder access.
32 5 x USD 3,550 = USD 17,750
33 + USD 900 access allowance for the lower roof unit
34 = USD 18,650
35```
37The owner reads that and either agrees or adjusts one number. That is the whole point.
39**3. Check it against the rate card, if one exists.**
41If the derived price is more than about 15% away from the rate card, say so and explain which you used and why. A silent discrepancy is how a shop ends up with two different prices in the market.
43---

The method

1. Find comparable jobs.

Pull past invoices and proposals for similar work:

  • The connected ledger's invoices with line detail (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books) — what was actually billed, which is what makes them comparable
  • A payments connector's charge history by customer (PayPal, Square, or Stripe) when no ledger is connected — totals only, so the line arithmetic has to come from the owner
  • Past proposals in Drive or M365
  • An uploaded price list or rate card
  • Anything the owner pastes in

A good comparable matches on type of work, rough scale, and customer type. Two or three is plenty. One is thin but usable if it is close.

2. Build from the comparable, adjust for difference.

State the arithmetic:

Comparable: Fairmount Commercial, Mar 2026 — 4 rooftop units, same scope.
            USD 14,200 total, USD 3,550 per unit.

This job:   5 units, one on a lower roof with harder access.
            5 x USD 3,550 = USD 17,750
            + USD 900 access allowance for the lower roof unit
            = USD 18,650

The owner reads that and either agrees or adjusts one number. That is the whole point.

3. Check it against the rate card, if one exists.

If the derived price is more than about 15% away from the rate card, say so and explain which you used and why. A silent discrepancy is how a shop ends up with two different prices in the market.


Raw lines 9 to 44
45## When there is no comparable
47Do not invent one. Leave a placeholder, be specific about what is needed, and build the rest of the proposal around it:
49```
50Line 3 — Controls integration: $______
52I have no comparable for controls work in your history and no rate card entry.
53Everything else is priced and ready. Give me a number for this line and the
54proposal is done.
55```
57That is a five-second ask. A fabricated USD 4,200 is a number the owner has to notice, distrust, and replace — and might not catch.
59---

When there is no comparable

Do not invent one. Leave a placeholder, be specific about what is needed, and build the rest of the proposal around it:

Line 3 — Controls integration:  $______

I have no comparable for controls work in your history and no rate card entry.
Everything else is priced and ready. Give me a number for this line and the
proposal is done.

That is a five-second ask. A fabricated USD 4,200 is a number the owner has to notice, distrust, and replace — and might not catch.


Raw lines 45 to 60
61## What must never be invented
63| Never invent | Why |
64|---|---|
65| A labor rate | It is the owner's core economics |
66| A material cost | It moves constantly and varies by supplier |
67| A lead time | It is a promise to the customer |
68| A quantity from a photo | Estimated square footage is the classic way a job goes underwater |
69| A subcontractor's price | Not the owner's number to give |
70| A discount | Discounting is always the owner's call |
72---

What must never be invented

Never inventWhy
A labor rateIt is the owner's core economics
A material costIt moves constantly and varies by supplier
A lead timeIt is a promise to the customer
A quantity from a photoEstimated square footage is the classic way a job goes underwater
A subcontractor's priceNot the owner's number to give
A discountDiscounting is always the owner's call

Raw lines 61 to 73
74## Structuring the price
76**Break it into lines the customer understands.** A single number invites a single objection. Four lines invite a conversation about scope, which is a better conversation.
78But do not itemize down to fasteners. Lines should map to things the customer recognizes as decisions:
80```
81Good:
82 Equipment — 5 rooftop units, installed USD 14,800
83 Electrical and controls USD 2,100
84 Roof access allowance, lower unit USD 900
85 Permit and inspection USD 850
86 --------
87 Total USD 18,650
89Bad:
90 Materials USD 11,240
91 Labor USD 7,410
92```
94The good version lets a customer cut the access allowance or supply their own permit. The bad version lets them only say "too expensive."
96---

Structuring the price

Break it into lines the customer understands. A single number invites a single objection. Four lines invite a conversation about scope, which is a better conversation.

But do not itemize down to fasteners. Lines should map to things the customer recognizes as decisions:

Good:
  Equipment — 5 rooftop units, installed          USD 14,800
  Electrical and controls                          USD 2,100
  Roof access allowance, lower unit                  USD 900
  Permit and inspection                              USD 850
                                                  --------
  Total                                            USD 18,650

Bad:
  Materials                                       USD 11,240
  Labor                                            USD 7,410

The good version lets a customer cut the access allowance or supply their own permit. The bad version lets them only say "too expensive."


Raw lines 74 to 97
98## Options, when they help
100Two or three tiers work well when the customer's budget is unclear. More than three is paralysis.
102Anchor with the recommended option, and say which it is and why in one line. An unlabeled menu makes the customer do the owner's job.
104Never present an option the owner would not actually want to do. A cheap tier that produces a bad outcome damages them when the customer picks it.
106---

Options, when they help

Two or three tiers work well when the customer's budget is unclear. More than three is paralysis.

Anchor with the recommended option, and say which it is and why in one line. An unlabeled menu makes the customer do the owner's job.

Never present an option the owner would not actually want to do. A cheap tier that produces a bad outcome damages them when the customer picks it.


Raw lines 98 to 107
108## Terms
110Pull the owner's standard terms from past proposals rather than inventing them. If none exist, use conservative defaults and flag them for confirmation:
112- Deposit: 30% to 50% for material-heavy work, less for pure labor
113- Payment: net 15 or net 30, matched to what their invoices already say
114- Validity: 30 days, or shorter when material prices are moving
115- Change orders: written approval before work proceeds
117**Flag terms weaker than their usual.** If their standard is 50% deposit and this proposal says 25%, that is worth saying out loud before it goes to the customer.
119---

Terms

Pull the owner's standard terms from past proposals rather than inventing them. If none exist, use conservative defaults and flag them for confirmation:

  • Deposit: 30% to 50% for material-heavy work, less for pure labor
  • Payment: net 15 or net 30, matched to what their invoices already say
  • Validity: 30 days, or shorter when material prices are moving
  • Change orders: written approval before work proceeds

Flag terms weaker than their usual. If their standard is 50% deposit and this proposal says 25%, that is worth saying out loud before it goes to the customer.


Raw lines 108 to 120
121## Recording the outcome
123After a proposal is sent, record what happened — won, lost, or no response — with the final price and the reason if known.
125Won proposals become tomorrow's comparables. Lost ones are just as valuable: knowing that USD 18,650 lost the Ridgeline job to a competitor at USD 16,000 is the only way the next quote gets sharper. Nothing else in the plugin captures that, and owners almost never track it themselves.

Recording the outcome

After a proposal is sent, record what happened — won, lost, or no response — with the final price and the reason if known.

Won proposals become tomorrow's comparables. Lost ones are just as valuable: knowing that USD 18,650 lost the Ridgeline job to a competitor at USD 16,000 is the only way the next quote gets sharper. Nothing else in the plugin captures that, and owners almost never track it themselves.

Raw lines 121 to 125