Pricing, Discounts & Payment Terms Playbook
How to assemble, price, discount, and get paid for a job โ so every quote is consistent, defensible, and lands in the bank. Operational playbook โ derived from Business model + Decisions log (settled) + Brand strategy.
TL;DR โ Daniel's three questions
- Payment options? SA: 50% deposit to book, balance Net 7โ14, ZAR, card/EFT via Paystack (Yoco for in-person). INTL: 50% upfront, invoice in USD/GBP, milestones or escrow offered as a feature to first-timers, paid via Wise/Payoneer (~2%). See ยง4.
- Discounts for early clients? Exactly one "founding client" slot per package, and only ever traded โ in writing, before the price drops โ for a named case study + before/after metrics rights. It is the cheapest CAC we have. No other discounting. See ยง3.
- What should the targets be? R25โ35k/mo net by month 12 at ~11โ17 h/wk (floor ~R20k, peak months R45โ55k; recurring floor R9โ14k/mo by Q4). Steer by deal flow ร the hours ceiling, not price-per-job โ and push toward the top by raising the INTL Repaint anchor, not by adding volume. See ยง5.
The published ladder (recap only โ detail lives in Business model)
Prices are fixed published scope, never hourly. INTL price is the invoice currency; ZAR shown at spot R16.33/$ but plan and realize at an R16.0/$ buffer. The internal shadow rate R900/hr is a sanity check only โ never quoted to a client.
| # | Package | SA | INTL | One-line scope boundary |
|---|---|---|---|---|
| 0 | Signal Audit | R3,500 | $250 / ยฃ185 | Paid discovery; credited to a build booked โค30 days |
| A | Launch | R18,000 | $1,750 / ยฃ1,300 | New โค5-page site, 1 revision |
| B | Repaint (HERO) | R28,000 | $2,750 / ยฃ2,040 | Existing site/app rebuilt on modern stack, โค10 pages, 1 revision, 2โ3 wk |
| C | Storefront | R55,000 | $4,500 / ยฃ3,340 | E-comm โค50 SKUs โ "occasional big fish," not monthly |
| D | Chat Agent | R15,000 + R1,800/mo | $2,000 / ยฃ1,485 + $150/mo | ONE agent, ONE channel, ONE integration. SA = "WhatsApp Receptionist" (600-convo cap + ~R3/convo overage; busy tier R3,500/mo). INTL web-chat variant ~R1,500/mo / $150/mo |
| E | Voice Agent (DEFERRED Q3) | R22,000 + R2,500/mo | $2,800 / ยฃ2,080 + $250/mo | Sold only after metering substrate + โฅ2 paying leads |
| F | Automation Sprint | R38,000 | $3,000 / ยฃ2,230 | Fixed 4โ6 wk, defined workflow set |
| G | Care Plan | Basic R900/mo ยท Std R1,500/mo | $60/ยฃ45 ยท $95/ยฃ70 | Best-effort, no hard SLA |
| H | Wrap (on-request) | R14,000 + R1,200/mo | $900 / ยฃ670 + $150/mo | Existing web app โ native, never from scratch |
This doc is about assembling and delivering a quote, not re-teaching the ladder. The ladder, scope boundaries, and unit economics are settled in Business model; change them there, not here.
1. The quoting process
A quote is assembled, not invented each time:
Quote = base package + optional delivery stages + recurring line + add-ons.
- Start from written scope. Ideally the output of a Signal Audit (or a free 2-min look โ offered as the ladder, never ambushing each other โ see Brand strategy). Scope on paper first is the single best defence against creep.
- Pick ONE base package off the ladder that matches the trigger/ICP. Don't blend packages โ if it's bigger than the box, it's the next package up, not a bent version of this one.
- Add optional delivery stages if the build ships in phases โ see Delivery ladder. Each stage is its own fixed line.
- Attach the recurring line (Care Plan and/or Chat) as a separate monthly figure, billed on its own rail โ see Recurring & Care Plans. Never fold the retainer into the build price.
- Add add-ons (extra pages, extra revision round, rush, broadcast/marketing messages) as itemised lines โ see Services & add-ons.
- Sanity-check against the shadow rate. Estimate all-in hours (build + revisions + discovery/SOW/invoicing/handoff + support) ร R900. If the fixed price implies below ~R700/hr effective, narrow the scope or move up a package โ do not silently eat it. (The ~R700/hr floor is Proposed โ not yet in DECISIONS.md.)
- Currency. INTL: invoice at the published INTL price in the client's currency; convert to ZAR at R16.0/$ only for your own planning math.
- Respect the concurrency cap. One active build + a waitlist. If a build is live, quote a start date after it, never a parallel promise.
- Apply a founding discount only if a named-reference trade is agreed in writing (ยง3).
- Write it into the SOW skeleton (ยง7) with the correct terms block (ยง4).
2. Change orders
Scope creep is the #1 documented failure mode (reverts productized offers to bespoke within ~90 days; ~$7,800โ15,600/yr lost). The discipline:
- Anything off the published scope = a change order, billed at R900/hr SA ยท $110/hr INTL. This is the only hourly number a client ever sees.
- Quote it in writing and get sign-off BEFORE any work starts. No verbal "sure, I'll add that."
- "Upsell to the next package, never bend the current one." A request that's really a bigger job โ re-quote as the higher package, not as unbilled goodwill.
- Through an agency partner, scope changes route back to Daniel for a written re-quote โ the agency owns the client but not the scope line.
- Proposed minimum billing: change orders billed in a 1-hour minimum, then 30-min increments โ not yet in DECISIONS.md.
3. Founding-client / early discounts
The reference engine calls for one discounted "founding client" per package, traded explicitly for a named case study + before/after metrics rights. This is the cheapest customer acquisition we have โ the discount is the entire marketing spend for that reference.
Policy:
| Rule | Detail |
|---|---|
| Slots | One per package, maximum. Once a package has its founding reference, the slot is closed. |
| The trade (non-negotiable) | Discount applies only in exchange for a named case study + before/after metrics rights, agreed in writing before the price drops. No signed rights โ no discount. "The discount buys a reference, never a signature." |
| Priority | Fill the biggest proof gap first: arm's-length references (both current cases โ Berlein, Aerias โ are friendlies) and the first INTL reference (the Signal Audit is the low-stakes trust-bridge for manufacturing this). |
| Max discount (Proposed) | 25โ30% off the published price as the default (this deliberately lands near the agency-wholesale depth โ e.g. a founding Repaint โ R19,600โ21,000). Extend to ~40% only for a marquee arm's-length INTL reference. This band is Proposed โ not yet in DECISIONS.md. |
Distinguish from ad-hoc discounting โ which we avoid:
- Never discount to close a hesitant buyer. That trains the market to negotiate and damages the anchor. If price is the objection, drop to a smaller package (Launch, or a Signal Audit first), don't cut the price of this one. (Proposed as a standing rule โ not yet in DECISIONS.md.)
- Risk-reversal is soft promises only โ fixed price honoured, you own everything, no lock-in โ never money-back (Brand strategy #10). A discount is not a substitute for confidence.
4. Payment terms & rails
SA clients
| Currency | ZAR |
| Deposit | 50% to book the slot and start |
| Balance | Net 7โ14 from handoff |
| Rails | Paystack (card/EFT, and recurring billing) ยท Yoco for in-person/quick card |
| Recurring | Monthly on Paystack, separate from the build invoice |
INTL clients
| Currency | Invoice in USD/GBP; plan/realize at R16.0/$ |
| Upfront | 50% upfront |
| Structure | Offer milestones or platform escrow as a FEATURE to first-time INTL clients โ it disarms the "remote solo" pattern-match a burned UK/US buyer sees. Frame it as their safety, not your concession. |
| Rails | Wise / Payoneer (~2%); Upwork takes 15% when the deal comes through the platform (plus ~2% on withdrawal) โ factor both into the R16.0/$ realized math |
Proposed default rail ordering: Paystack primary for SA (Yoco for in-person), Wise primary for INTL. Rails themselves are grounded in the source docs; the "primary default" ordering is Proposed โ not yet in DECISIONS.md.
Terms block โ SA (paste into the SOW)
Fixed price: R[TOTAL] for the scope above. 50% deposit (R[HALF]) books your slot and starts the work; the balance is due within 7 days of handoff. Priced in ZAR, paid by card or EFT. The price is fixed for this scope โ anything outside it is quoted in writing before any work starts (R900/hr). On final payment you own all the code and accounts; it's month-to-month after that, cancel any time, no lock-in.
Terms block โ INTL (paste into the SOW)
Fixed price: $[TOTAL] for the scope above. To keep a first project low-risk we work in milestones (or platform escrow if you prefer): 50% to start, 50% on handoff, and you approve each stage before it's billed. Invoiced in USD/GBP. The price is fixed for this scope โ anything outside it is quoted in writing first ($110/hr). On final payment you own all the code and accounts; it's month-to-month after that, cancel any time, no lock-in.
5. Targets โ what to steer by
Honest band (net, by month 12, at ~11โ17 h/wk):
| Band | Net/mo | Note |
|---|---|---|
| Floor | ~R20k | reachable ~month 6; recurring alone covers ~half of it |
| Steady | R30โ35k | the sustainable landing zone (~R35k at ~11 h/wk) |
| Peak months | R45โ55k | intermittent, via the price lever โ not a baseline |
| Recurring floor | R9โ14k/mo by Q4 | the ballast against project lumpiness |
Quarter-by-quarter (from Roadmap):
| Quarter | Net revenue target |
|---|---|
| Q1 (m1โ3) | R8โ18k/mo by exit |
| Q2 (m4โ6) | R15โ25k/mo |
| Q3 (m7โ9) | R22โ32k/mo |
| Q4 (m10โ12) | R25โ35k/mo (peak months R45โ55k); recurring base R9โ14k/mo |
The one operating truth that governs pricing:
The binding constraint is qualified deal flow ร the ~20 h/wk ceiling โ NOT price-per-job. Volume is hours-capped, so you cannot grow by taking more builds. You push toward the top of the band by raising the INTL Repaint anchor from $2,750 โ $3,500โ4,500 once arm's-length references exist (settled in Decisions log). A price lever, not a volume lever.
When to reprice (pre-agreed triggers from the KPI checkpoints):
- M3 โ if measured all-in Repaint hours exceed ~40h, the fixed price underprices the work โ raise SA Repaint to R32โ35k / INTL to $3,500, or narrow scope to โค6 pages.
- M6 โ if retainer support runs >2.5 h/mo/client, recurring is underpriced/over-scoped โ reprice Care to R1,200 Basic / R1,800 Std and cap scope harder.
- M12 โ if stuck at R15โ20k the ceiling is deal flow (raise INTL anchors, deepen the niche); if above R35k but hours >18 h/wk, stop taking projects, raise prices, convert excess to recurring โ protect the day job over growth.
6. Agency wholesale (Bree Media House / ICP-C)
Dual-rate, settled in Decisions log:
| Model | Rate | When |
|---|---|---|
| Wholesale | All build packages at retail โ 25โ30% (Repaint โ R20,000โ21,000 / ~$1,950), plus bespoke day rate R7,000 / $430 | Agency resells under their own brand |
| Finder's fee | 10% of invoice value | Daniel keeps the client relationship |
- Always keep the hosting/retainer layer โ it is the anti-capture moat, the one thing the agency can't cheaply replace.
- The 25โ30% figure is an unverified estimate (research grounds only the ~10% referral norm) โ validate it with partner #1 (Bree Media House) before treating it as fixed.
- Agency scope changes route back to Daniel for a written re-quote (ยง2).
- โ No hospitality leads through this channel, ever โ hospitality decline is stated in every agency-partner brief.
7. Quoting checklist
Before a quote goes out:
- Scope is written down (Signal Audit output or explicit free-look notes)
- One base package chosen โ not a blend
- Delivery stages, recurring, and add-ons are separate itemised lines
- Recurring is a monthly figure on its own rail, not folded into the build
- Shadow-rate sanity check done โ effective rate โฅ ~R700/hr, else rescope/upsell
- INTL: invoiced in client currency; my planning math at R16.0/$; channel take (Upwork 15%, ~2% rail) accounted for
- Concurrency cap respected โ start date reflects the waitlist if a build is live
- Founding discount only with signed case-study + metrics rights
- Correct terms block (SA vs INTL) pasted, with deposit % and change-order rate stated
- No hospitality. No AI hype, no tech-stack talk in the client-facing copy
- Risk-reversal is soft promises only โ no money-back language
8. Quote / SOW skeleton
danielslater.dev โ Statement of Work
Client: [name / business]
Prepared: [date] Valid for: 14 days
Prepared by: Daniel Slater ยท Cape Town
WHAT YOU GET (fixed scope)
Base package: [Package name] R/$ [price]
Delivery stages: [stage 1 / stage 2, if phased] R/$ [price]
Add-ons: [extra pages / extra revision / rush] R/$ [each]
--------------------------------------------------------------------
One-off total: R/$ [TOTAL]
Recurring (billed monthly, separate):
[Care Plan tier / Chat Agent retainer] R/$ [/mo]
NOT INCLUDED (change-order territory, R900/hr ยท $110/hr, quoted first)
- [anything the client might assume is in but isn't]
TIMELINE
Start: [date โ after current build if a slot is queued]
Delivery: [X weeks], [N] revision round(s) included
PAYMENT [paste the SA or INTL terms block from ยง4]
OWNERSHIP & CONTINUITY
You own all code and accounts on final payment.
Month-to-month after handoff. No lock-in.
Open decisions (โ DECISIONS.md)
Flagged Proposed in this doc โ Daniel to ratify or amend; the log disposes:
- Founding-client discount band โ 25โ30% default (extend to ~40% for a marquee arm's-length INTL reference), one slot per package, released only against a written case-study + metrics-rights trade. (The concept is in the reference engine; the specific band is new.)
- No ad-hoc discounting rule โ discounts buy a named reference, never close a hesitant signature; drop to a smaller package instead of cutting price.
- Shadow-rate sanity floor โ reject or rescope any quote whose fixed price implies below ~R700/hr effective.
- Change-order minimum billing โ 1-hour minimum, then 30-minute increments.
- Default deposit-rail ordering โ Paystack primary (Yoco in-person) SA; Wise primary INTL. (Rails are grounded; the default ordering is the new bit.)