The short answer
A fixed quote has one approved total — the customer signs that exact amount. A dynamic quote starts with a base total and lets the customer choose from approved options. In both cases, the CRM should calculate or verify the final total on the server, not trust any price sent from the browser. This protects the business record.
What this article covers
What is a fixed quote — and when it works best
A fixed quote is the simplest type. The customer receives one total and signs that exact total. There are no optional extras, no variable amounts and no choices to make.
This works well for clear, defined jobs where the scope is already known. Examples include a website migration for an agreed fixed price, a repair package with a set cost, or a service setup with no variables.
For a fixed quote, the server verification is straightforward. The approved total is stored when admin creates the quote. When the customer signs, the server checks that the submitted total exactly matches the approved total. If it does not match, the system stops and flags it.
This is the most reliable type of quote to automate because there is one correct answer: the approved amount. Anything else is wrong.
What is a dynamic quote — and how add-ons work safely
A dynamic quote is more flexible. It starts with a base price and lets the customer choose from approved optional add-ons. For example, a website project might have a base package price, with options to add SEO setup, extra pages, a booking form, a review widget or a support package.
Dynamic quotes are useful because customers can choose what fits their budget and needs. They can keep the project simple or add more features before signing.
The risk is that the final total is not fixed until the customer makes their selections. A business cannot simply trust the total that the browser sends, because that number could be changed before submission.
The safe approach: store the approved base price and each option's approved price and ID in the backend. When the customer signs, the quote page sends only the selected option IDs — not the prices. The CRM looks up the approved prices for those option IDs and calculates the final total itself. The invoice is created from that server-calculated amount, not from any browser field.
Want a practical quote and workflow system for your business?
Your IT & Tech Mates builds AI automation for small business — including secure quote systems, signed workflows, staged invoices and connected email follow-up. Use Quick Help to describe your current process and we will tell you what is realistic.
Using minimum and maximum totals to protect the business
For a dynamic quote, it helps to define a minimum total and a maximum total when the quote is created. The minimum is the base package alone. The maximum is the base package plus every possible approved option.
When the customer signs, the server calculates the total from the selected options and checks that it falls within that approved range. If the calculated total is below the minimum or above the maximum, something has gone wrong — and the system should stop before creating a record.
This gives admin confidence that the accepted amount is always within a sensible and pre-approved band. It also helps catch edge cases where an option combination produces an unexpected result.
A practical example — website migration with add-ons
A website migration quote might have a base price of $3,299. The customer can choose to add:
- SEO setup — approved option ID: OPT001 — approved price: $350
- Booking form integration — approved option ID: OPT002 — approved price: $450
- Review widget — approved option ID: OPT003 — approved price: $180
- 3-month support package — approved option ID: OPT004 — approved price: $290
The quote page shows the customer the base price and each option with its price. As they tick options, the displayed total updates. When they sign, the page sends the base quote ID and the selected option IDs to the server.
The server looks up the base price ($3,299) and each selected option's approved price. It calculates the total. It checks the total is within the min-max range. Then it creates the CRM quote and first invoice from that server-calculated amount.
The customer never had the opportunity to submit a wrong price. The business has a clean, trusted record. For projects of this type, staged invoices then make each payment step clear and traceable.
Questions about fixed and dynamic quotes
When should I use a fixed quote?
Use a fixed quote when the scope and total price are already confirmed and there are no optional extras the customer can choose from.
When should I use a dynamic quote?
Use a dynamic quote when the customer can choose from approved optional add-ons. The base price is set, but the final total depends on what the customer selects.
Who calculates the final total in a dynamic quote?
The CRM should calculate the final total on the server using approved option IDs and prices — not trust any number sent from the browser. This protects against price changes.
How do I protect against unknown option IDs?
The server should only accept option IDs that were pre-approved by admin. Any option ID that does not appear in the approved list should be rejected before any record is created.
Can a fixed quote still have payment stages?
Yes. A fixed quote with a confirmed total can still use staged invoices — for example 40% deposit, 40% progress and 20% final. The total is fixed, but the payment timing is staged.
Ready to connect your quote and invoice workflow?
Use Quick Help to describe your current quoting process. We will give you an honest picture of what a connected system would look like — including what it connects to and what it would cost to build.