Quote, estimate or invoice: what is the difference?

Quote, estimate, invoice. Three documents that carry roughly the same information and mean entirely different things. Using the wrong one is how people end up committed to a price they did not mean to commit to, or waiting on money against a document that never asked for any.

A note before the legal parts: this is general information, not legal advice. Contract law is provincial, the details vary, and a lawyer looking at your actual agreement will tell you things a general article cannot.

What is the difference between the three?

An estimate is an informed guess. It says: based on what I know now, this job will probably cost around this much. It is not a commitment, and everyone involved understands that the final number can move. You send one when you genuinely cannot know the scope yet, because the work depends on what you find once you start.

A quote is a fixed price. It says: this work, for this money. A quote prices a scope, and the scope is the important half. Change the scope and the price is no longer the price, which is why a quote that describes the work vaguely is a quote you will regret.

An invoice is a request for payment for work already done or goods already delivered. It is the only one of the three that asks for money now. It is also the only one with real tax significance, which is why the CRA has specific requirements for what goes on it and none at all for the other two. Those requirements are covered in GST and HST on invoices.

The practical distinction is commitment. An estimate commits you to nothing. A quote commits you to a price once it is accepted. An invoice says the commitment has been met and now you would like paying.

Is a quote legally binding in Canada?

The short answer is that a quote can become binding, and the moment it does is acceptance.

On its own, a quote is generally an offer. An offer sitting in someone’s inbox binds nobody. When the client accepts it, the usual elements of a contract are in place and you have an agreement at that price. Acceptance does not have to be a signature. A reply saying “yes, go ahead” will usually do it, and so, in many cases, will conduct that only makes sense as acceptance, such as letting you start the work.

That is the general principle and it is genuinely how most of these disputes resolve. Two things complicate it.

Expiry. A quote with no expiry date is a price you have offered indefinitely. Materials move, your rates move, your availability moves. Put a validity period on every quote, “valid for 30 days” or similar, and the problem disappears. This is the single most useful line to add to a quote template.

Consumer work is treated differently. Provincial consumer protection legislation gives individuals buying for personal use protections that businesses buying from businesses do not get, and several provinces limit how far a final bill may exceed a written estimate for that kind of work. Ontario has such a rule, and its consumer protection legislation was rewritten recently, so the current text is what matters rather than anything written about the old Act. If your clients are individuals rather than businesses, check your own province’s current rules before relying on any of this.

For business to business work, which is most freelancing, the general contract position above is the one that applies.

When should you send an estimate instead?

When you honestly do not know. That is the whole test.

Estimates suit work where the scope reveals itself as you go. Diagnosing a problem before you can say how long fixing it takes. A renovation where nobody knows what is behind the wall. Research where the answer determines the amount of work.

The mistake is using an estimate as a soft quote, because you want to name a number without being held to it. Clients read estimates as prices whatever the document says. If you know the scope, quote it. You will be trusted more for a firm number than for a hedged one, and you will not have the conversation where the final bill is forty percent above the “estimate” and the client feels misled.

The other mistake is the reverse: quoting work you have not scoped, because quoting feels more professional. That is how you end up doing three weeks of work for one week of money.

If you must estimate, estimate a range rather than a point, and say what would move it to each end. “Between 4,000 and 6,000 dollars, at the lower end if the existing data is clean” tells the client something real. A bare “about 5,000” tells them 5,000.

What happens when the job changes after a quote is accepted?

This is where quotes actually go wrong, and it is almost never a legal problem. It is a documentation problem.

The accepted quote priced a scope. Work outside that scope was never priced, so it is not covered by the agreement and it is not free. That is the position in principle. In practice, if you do the extra work first and mention the money afterwards, you are asking someone to approve a cost they have already received, which is the weakest possible moment to ask.

So the rule is simple and it is about sequence, not paperwork volume:

Price the change before you do the work. A short message is enough. “That extra section is not in the original scope. It adds about six hours, which is 900 dollars. Shall I go ahead?” Get a yes in writing. That is a variation to the agreement and now it is priced.

Keep the original quote intact. Do not quietly rewrite it. The record of what was agreed first, plus the record of what changed, is what makes the final invoice explicable six months later.

Say no to unpriced scope creep. Not aggressively. “Happy to do that, it is outside what we agreed so let me send a quick price” is a complete sentence and it protects the relationship better than resentment does.

If the change is small and you would rather absorb it, absorb it deliberately and say so. “That is outside the scope but it is quick, so no charge this time” banks goodwill and still establishes that the boundary exists. Absorbing things silently teaches clients there is no boundary at all.

How should the three documents flow into each other?

In order, without retyping anything.

The quote describes the work and its price. When it is accepted, that same scope and those same line items become the invoice, because they describe the same job. Retyping them is not only tedious, it is where the numbers stop matching, and a final invoice that does not match the accepted quote is an invitation to a query.

This is one of the places where software earns its keep. In Ledger an accepted quote becomes an invoice with the client and the line items already in place, so the document you send at the end is provably the document that was agreed at the start. Whatever you use, that continuity is the thing to look for.

Keep the quotes you lost, too. The pattern in what does not get accepted is worth more than it looks: which kinds of work, at which prices, from which sorts of client. That is a pricing signal, and it arrives free.

The short version

Estimate when you do not know, and say what would move the number. Quote when you do, describe the scope precisely, and put an expiry on it. Treat an accepted quote as an agreement, because in general that is what it is. Price every change before doing the work, in writing. And let the accepted quote turn into the invoice rather than typing the whole thing again.

None of this is legal advice, and if a specific agreement matters enough, it is worth an hour with somebody qualified to read it.