Skip to content

Quote a deal and get it accepted

All plansPortfolio Manager or above

A deal on the Pipeline can carry a quote: a list of priced lines in the deal’s currency. Onplana renders the quote as a document, sends it to your client through the same private link it uses for any shared document, records who accepted it and when, and, when you win the deal, turns the accepted lines into the project’s budget and billing terms. Nothing is typed twice, so the value on the board, the quote the client saw and the terms the project bills on cannot disagree.

Open the deal and choose Edit quote lines in the Quote section. Each line has a kind, and the kind decides what the line means:

Kind Quantity times amount What it becomes when you win
Time Hours or days times a rate, optionally for a named person Time and materials, with the hours as the estimate
Fixed fee One amount A fixed fee, priced on the quoted hours
Retainer A number of periods times a fee per period, with included hours A retainer
Milestone One amount, labelled by the milestone One item in the milestone schedule
Expense A quantity times an estimate Part of the budget, rebilled at cost
Resale Units times a sell price, per period or once A recurring revenue line on the project

A time line for a named person starts at that person’s billable rate for this client, which is the rate the project will bill (see set client and project rates). You can overwrite it; the quote keeps what you typed.

A resale line is a licence, subscription or piece of equipment you buy in and sell on. Its Units are how many, its Sell price each is what the client pays for one unit for one period, and How often says whether it bills monthly, quarterly, yearly, weekly or once. If you manage rate cards, you can also enter the Supplier cost each, your buy price for one unit. It is kept for the margin report and never appears on the quote the client receives. Colleagues who cannot see rate cards do not see the field, and a save by them keeps the cost you entered.

While a deal has lines, its value is the total of the lines and its billing terms are the ones the lines imply (a fixed fee line makes it a fixed fee, a retainer line a retainer, and so on). Both are shown read-only on the deal. Clear the lines to type them by hand again. A resale line counts toward the value at its sell price for one period, as the quote shows it.

Choose Send to client in the Quote section, confirm the recipient email (it starts as the deal’s contact), and send. Onplana:

  1. Renders the quote as a document in your organisation’s Quotes folder, with the firm, the client and contact, the date, the lines, the total, and the billing terms in plain words. Re-rendering keeps the same document and files the previous text in its version history.
  2. Freezes that text and emails the recipient a private link. Before anything is shown they confirm their email with a one-time code, exactly like any shared document.

The Quote section shows when the quote was sent, whether the link was opened, and how many times.

When your app is set to a language other than English, the send form asks which to write the quote in: that language, or English. It starts on the deal’s language, or on your app language for a deal that has none yet, and Render quote uses the same. The whole document follows the choice, including the headings, the table, the billing terms and the acceptance paragraph, and amounts are written the way that language writes them. The deal remembers the choice, so Render again and later sends keep it until you pick another. Changing it renders the quote again before it goes out.

The language is part of the frozen text, so what a client accepts is the quote in the language they were sent. An Arabic quote reads right to left on the client’s page. The email that carries the link is written in the same language, subject included; the names in it (your firm, the deal, the client) stay exactly as you wrote them.

On the quote page the client types their full name and clicks Accept. Onplana records the name, the email they confirmed, the time, and a fingerprint of the exact text they saw. The deal owner is notified in the app, and a deal.quote_accepted webhook fires for your integrations.

Acceptance does not move the deal’s stage. The deal shows an accepted banner and the Win button, and winning stays your explicit act. If you change the lines and send again after an acceptance, the deal shows that an earlier version was accepted until the new one is.

Choose Win and create project. With lines on the deal, the new project gets:

  • Budget: the quote total.
  • Billing terms: derived from the lines, through the same rules as a hand-set model (see choose a billing model). Milestone lines become the schedule, unlinked; link each one to a project milestone on the project as usual.
  • Recurring revenue: each resale line becomes a line in the project’s recurring revenue, starting on the project’s first day, at units times the sell price and, when you recorded one, units times the supplier cost. A line billed once becomes a one-off line. A resale line does not change the billing model.
  • Budget source: recorded as coming from an accepted quote when the client had accepted it, so the Finance tab and the margin report know where the figure came from.

Client rate overrides copy onto the project as before.

The MCP tools list_quote_lines, set_quote_lines and send_quote do the same three things, resale lines included. They show and accept a supplier cost only for an agent acting for someone who manages rate cards. A resale line sent back with its id and no cost keeps the stored cost; only a null clears it. send_quote writes the quote in the language stored on the deal (English when nobody has chosen one) and reports it as language. There is deliberately no tool that accepts a quote: that is the client’s act, on the page.