Scope: How quotes are built in PortaPro, the two quote kinds, the steps for each, where the wizard opens from, drafts, revisions, and the org settings that shape quote validity. This is the authoritative article for quote *creation*; see the Quotes & Invoices README for the surrounding lifecycle (sending, payments, invoicing) and `weekend-event-rental-workflow.md` for the event-specific walkthrough. Two companion articles cover things the wizard can do that a quote document normally cannot: `quote-to-service-plan.md` (the Site Plan map, and what activation turns a quote into) and `quote-options-good-better-best.md` (offering two or three priced options on one quote).
---
QW-1: One Wizard, Two Kinds of Quote
PortaPro has one quote wizard. It serves two kinds of quote, and the kind is the first thing you choose:
| Kind | Use it for | How it prices |
|---|---|---|
| Recurring service | Ongoing or long-term service, construction sites, schools, permanent placements | A rate per billing cycle (28-day, monthly, or weekly), billed each cycle until cancelled |
| One-time or event | A fixed job or a dated window, weddings, festivals, short rentals, a single pump-out or tank cleaning | One total for the job, priced off the rental duration and the line rates |
The two kinds exist because the pricing models are genuinely different, not as a UI preference. A recurring quote quotes "$185 per 28-day cycle, ongoing." A one-off quote quotes "$740 for Nov 14–17." Forcing recurring service through a single document-level duration produces prorated numbers like $471.43 that are correct arithmetic and wrong to send a customer.
The kind is chosen once, inside the wizard, and is fixed for that quote. To change it, start a new quote.
---
QW-2: Opening the Wizard
Every quote entry point in PortaPro is a single New Quote button (or Add Quote / Send Quote, depending on the screen). There is no menu asking recurring-vs-one-off before the wizard opens, the wizard's own first screen asks that.
You can start a quote from:
When you start from a customer, deal, or lead, that customer is already known: after you pick the kind, the wizard skips the Customer step and drops you straight onto the first real question. A quote started from a deal is linked to that deal automatically.
Shape: the wizard opens as a full-height panel that slides in from the right side of the screen. Everything happens inside that one panel, including picking products, nothing opens a second window on top of it.
---
QW-3: Recurring Service Quote, the Steps
| Step | What it asks |
|---|---|
| 1. Customer | Who the quote is for |
| 2. Site | Which of the customer's street addresses the units go to |
| 3. Units & Rates | What is placed there and the rate per cycle for each |
| 4. Site Plan | Optional, drop pins on a map showing where units go |
| 5. Term | When service starts, and whether it's ongoing or a rough window |
| 6. Review | Deposit, notes, and the totals |
Units & Rates. Each line is a unit type, a quantity, a rate period, a rate, and a service frequency. The rate period is the same vocabulary as your Rate Card, Per Month, Per 28-Day Cycle, Per Week, Flat (one-time), or Per Trip / Per Pull, so an accepted quote lands on the Rate Card exactly as quoted. Rates are entered in their own denomination (a $150/month unit is typed as 150, whatever the quote's cycle); the line shows what that works out to per cycle. Flat lines are charged once, not per cycle; per-trip lines take an estimated pulls per cycle for the quote's estimate (actual billing counts completed pulls). Each line also has a Taxable checkbox.
The billing cycle still applies to the whole quote, 28-day (13 cycles a year, the industry standard), monthly (12), or weekly (52), as the cadence the estimate is denominated in. The service frequency list matches the Service Plan editor exactly: Weekly, Bi-Weekly (EOW), 2x Week (Tue & Fri), 3x Week (M,W,F), Specific days… (pick weekdays on a chip row), Monthly, Twice Monthly, Daily, and On Call.
The Unit Calculator, the same tool as the Jobs & Dispatch Tools menu, is always one click away from the calculator icon in the wizard header. For a recurring quote, Apply Estimate writes the calculated standard and ADA counts straight onto your unit lines (matching your catalog's products by name); if you already have lines, it asks before replacing quantities.
Site Plan. Drop a pin for each placement spot and assign unit counts to it. These are *proposed* placements, they render on the quote PDF as a map and on the customer's accept page, where the customer can drag them to adjust. Nothing is placed in your inventory until the quote is accepted. If the site already has live placements, they appear as small gray markers for context (with a legend), they are read-only and never part of the proposal. Placing fewer units than you quoted is silent and normal; placing *more* than you quoted is flagged, because one of the two is wrong. What activation does with these pins is covered in `quote-to-service-plan.md`.
Term. Two options:
---
QW-4: One-Time / Event Quote, the Steps
| Step | What it asks |
|---|---|
| 1. Customer | Who the quote is for |
| 2. Items & Pricing | Products and services, their rates, and any delivery fee |
| 3. Schedule | The rental window and arrival times |
| 4. Review | Deposit, notes, and the totals |
Items & Pricing. Click Add products & services to open the picker (see QW-5). Each line that comes back can have its quantity, rate, and billing basis adjusted inline. Customer- and site-specific rates apply automatically and can be overridden per line.
Delivery & additional fees appear on this step *after* you have added at least one line, there is nothing to charge delivery on before that. The amount pre-fills from your company default and the customer's own delivery rate or waiver (see `delivery-fees.md`).
Schedule. One calendar picks the whole rental window: click the first day, click the last day, and the duration fills in. A Keep for (days) stepper next to it does the same thing from the other direction, type or step the number of days and the calendar range moves to match. They are two views of one number, so they can never disagree. The pickup date is the day after the last rental day.
Charge by nights bills hotel-style, one fewer unit than the calendar span. The step shows what it will actually bill: a 7-day rental reads "7 days · 6 nights", and with the toggle on it reads "Bills 6 nights (7 calendar days)".
---
QW-5: The Product & Service Picker
The picker takes over the whole wizard panel, it is a step *inside* the quote, not a separate window. Three tabs:
Exiting the picker:
A quote can contain only services, with no equipment at all. A $250 tank cleaning with no units is a valid quote, add the service, click Done, and continue.
---
QW-5b: Offering Options (Good / Better / Best)
Above the line list on Units & Rates (recurring) or Items & Pricing (one-off)
is an options bar. It starts as a single dashed affordance: Offer Good / Better /
Best options. Most quotes stay single-option and nothing about them changes.
Turn it on and you get segment tabs, two or three options, each with its own set of
lines, its own name and description, and an optional recommended flag. Adding an
option seeds it with a copy of the option you were on, so building "Better" is
upgrading "Good" rather than retyping it. You cannot have exactly one option; that
is just a normal quote.
Before the customer chooses, the quote's headline number in your lists and KPIs is
the recommended option (or the first one), never the sum of all of them.
Choosing an option collapses the quote to it. Full detail, including what the
customer sees and why converting an unchosen quote is blocked, is in
`quote-options-good-better-best.md`.
---
QW-6: Saving, Leaving, and Sending
The wizard saves drafts. It does not send. The final button is Save draft (or Save revision when revising). Sending happens from the quote itself, where the send options live, email, resend, and the public accept link.
When you do send, the email field is prefilled with the customer's Sales recipients, the contacts you've marked as receiving quotes. Edit it for a one-off, or use Manage recipients beside the field to change it permanently. See Email Recipients.
After you save, PortaPro opens the saved quote so review-and-send is one step away.
Leaving early. Closing the wizard with unsaved work, the X, Escape, or clicking outside, prompts you with three choices: Continue editing, Save as draft, or Discard. If the quote is too incomplete to save (no customer, no priced lines), the Save option is hidden rather than offered and then failing. An untouched wizard closes without prompting.
Drafts are ordinary quotes with a Draft status, they appear in your quote list, carry a quote number, and can be opened, edited, or deleted like any other quote. Older drafts saved under the previous system still resume from the Drafts list; resuming one creates a real quote when you save.
---
QW-7: Editing and Revising a Quote
Editing a quote edits that quote in place. There is no clone-a-copy step and no second quote left behind.
Everything attached to the quote, line items, proposed pins, surcharges, tax, and the deposit, is rebuilt from what you saved, so a revision can add, remove, or reprice anything.
---
QW-8: Review, Deposits, Terms, Notes, and Validity
The Review step of both kinds carries the customer-facing text and the deposit.
Terms & Conditions are editable per quote, seeded from your default in the notes & terms library (Settings → Financials → Quotes → Default terms, or Financials → Notes (under the ⋯ menu's More sections)). The Insert Note / Insert Term pickers drop any saved snippet into the field. A quote saved with empty terms simply shows no terms, nothing is hard-coded anymore (older quotes carried an uneditable "Payment due within 7 days of acceptance." that no one had written).
Valid until overrides the org validity window for this one quote; leave it blank to use the setting.
Deposits appear only when deposits are enabled for your company (Settings → Financials → Deposits & Delivery, when the master switch is off, deposit fields are hidden system-wide). The percentage seeds from your company default, and a customer's own deposit policy overrides it. You can set a percentage of the total or a fixed amount, and give it a due date. The deposit is recalculated against the final, tax-inclusive total when the quote is saved, so a percentage deposit stays correct after tax is applied.
---
QW-9: Quote Settings
Where: Settings → Financials → Quotes, five cards:
Quote numbering. Prefix, digit padding, and the next number in the sequence, with a live preview (e.g. `Q2026-0042`). The year is added automatically. Setting the next number below an existing quote's is safe, numbering self-heals past what's already used.
Quote validity. Quotes expire (on/off): when on, every new quote gets a Valid Until date and can no longer be accepted after it passes; when off, quotes never expire. New quotes are valid for any number of days from 1 to 365. Automatically remind customers before a quote expires sends one reminder email per quote (same PDF, plus an "expires soon" note and the accept link) at 8:00 AM UTC.
Acceptance. What happens the moment a customer accepts:
Default terms. The terms every new quote starts with (editable per quote before sending). This edits your starred default in the notes & terms library; "Manage all notes & terms" opens the full library under Financials → Notes (under the ⋯ menu's More sections).
Appearance. Quote PDFs share the invoice accent color and footer message, edit them under the Invoices tab.
---
QW-10: What the Customer Sees
A sent quote gives the customer a link to a public page, no login, no PortaPro account. There they can review the full itemization, accept, or decline.
For a recurring quote with a site plan, the accept page shows an interactive map of your proposed pins. The customer can drag a pin to correct the placement, and the positions they leave are the positions recorded when they accept, so the pins your crew gets are the ones the customer actually agreed to. For quotes without proposed pins, the page falls back to a static site-plan image where one applies.
What acceptance does. Acceptance records the customer's signed yes and notifies your office. Unless you've turned on auto-activation (QW-9), that's *all* it does for a recurring quote, the quote shows an amber Approved · Activate badge, and the Activate Service dialog is where you confirm the real billing start date before the Rate Card rows, site pins, and delivery job are created. Nothing bills until you activate, so a quote a customer approves "for the paperwork" weeks before delivery can't slip into a billing cycle early. One-time quotes follow your acceptance setting: immediate invoice + pay page, or wait for the office to convert.
The PDF the customer receives never carries a DRAFT watermark, even on the first send.
---
QW-11: Troubleshooting
"The wizard asks me what kind of quote this is, but I already picked from a menu."
That double question was removed. If you still see a menu offering "One-off / event" and "Recurring service" before the wizard opens, you are on a cached page, refresh.
"I only want to quote a service, but the Add button is greyed out."
The greyed-out button is Add N Units to Quote, which needs staged equipment. For a services-only quote use Done instead, your services are already added.
"I set a return date but the duration didn't change" (or vice versa).
They are now one control. Pick the window on the calendar or set the day count on the stepper; the other follows. If you opened an older quote that only stored a return date, the wizard fills the duration in for you.
"My customer says the quote expired but we don't work that way."
Turn expiration off in Settings → Financials → Quotes. Existing sent quotes keep the date they were created with.
"I revised a sent quote, does the customer need a new link?"
No. Revising keeps the same quote number and the same public link.
---
