ENGG-404 · Lesson 3 of 12 · 24 min
Contract law I: formation and terms
Almost everything an engineering firm does is governed by a contract. The agreement with the client sets the scope, fee, schedule and standard of care. Agreements with subconsultants pass parts of that work down the chain. Purchase orders buy software and equipment. Employment contracts hire staff. Non-disclosure agreements protect ideas. Construction contracts, which engineers often draft and administer for owners, govern the contractor's work. A contract is simply a promise, or set of promises, that the law will enforce. This lesson covers how contracts are formed and what their terms mean; lesson 4 covers performance, breach and remedies.
In the common law provinces, contract law is mostly judge-made, with statutes covering specific areas such as the sale of goods, consumer protection and prompt payment for construction. In Quebec, the Civil Code of Québec sets out the general law of obligations and the specific rules for contracts of enterprise or for services, which include most engineering engagements. The broad principles below apply in both traditions, though the details and vocabulary differ.
The elements of a binding contract
A contract is formed when parties with capacity reach an agreement on sufficiently certain terms, intend to create legal relations and exchange something of value. Each element matters to engineers.
- Offer: a clear proposal to be bound on specific terms, communicated to the other party. A fee proposal that sets out scope, price and terms can be an offer; an advertisement or an invitation to bid usually is not.
- Acceptance: an unqualified agreement to the offer's terms, communicated in the way the offer requires or in a reasonable way. Silence is not usually acceptance, but conduct can be: starting work on the basis of a proposal often shows acceptance.
- Consideration: each side must give something of value, such as money, services or a promise. A promise to do something you are already obliged to do is not new consideration. Civil law systems use the related concept of cause or object instead.
- Intention to create legal relations: in commercial dealings this is presumed, so firms that want a document to be non-binding must say so clearly.
- Capacity and authority: the parties must have legal capacity, and individuals signing for organizations must have authority to bind them. Municipalities and public agencies can contract only within their statutory powers and approval procedures, which matters a great deal when the client is a public body.
- Certainty and legality: the essential terms must be certain enough to enforce, and the purpose must be lawful.
Offer, counter-offer and the battle of the forms
At common law, an acceptance must mirror the offer. A reply that changes a term, or adds a new one, is not an acceptance but a counter-offer, which rejects the original offer and puts a new one on the table. The original offer is then gone: the offeror cannot later accept it. This mirror image rule is simple to state and easy to fall foul of when proposals and purchase orders fly back and forth with different standard terms printed on the back.
Suppose Northbridge sends the Rural Municipality of Clearwater a proposal for the bridge design: a $420,000 fee, a 26-week schedule, and liability capped at the fee. The municipality replies with a letter accepting the proposal but requiring a 22-week schedule and unlimited liability. The program below compares the two documents term by term.
# Compare an offer with a reply, term by term (mirror image rule).
offer = {
"scope": "Detailed design of the pedestrian bridge",
"fee": 420000,
"schedule_weeks": 26,
"liability_cap": "fee",
"governing_law": "home jurisdiction",
}
reply = {
"scope": "Detailed design of the pedestrian bridge",
"fee": 420000,
"schedule_weeks": 22,
"liability_cap": "unlimited",
"governing_law": "home jurisdiction",
}
changed = [k for k in offer if reply.get(k) != offer[k]]
added = [k for k in reply if k not in offer]
for k in changed:
print(f"Changed term: {k:15} offer={offer[k]!r:12} reply={reply[k]!r}")
for k in added:
print(f"New term: {k}")
if changed or added:
print("Result: the reply is a counter-offer, not an acceptance")
else:
print("Result: the reply mirrors the offer and accepts it")Changed term: schedule_weeks offer=26 reply=22 Changed term: liability_cap offer='fee' reply='unlimited' Result: the reply is a counter-offer, not an acceptance
Because the reply changed two terms, it is a counter-offer. If Northbridge simply starts work without objecting, a court may find that it accepted the counter-offer by conduct, and the unlimited liability term would bind it. This is often called the last shot doctrine: the last set of terms sent before performance tends to win. The safe course is to respond in writing, resolve the differences and sign a single agreement before starting.
Canadian courts generally apply the traditional analysis, though they look at the whole course of dealing to decide what the parties actually agreed. The battle of the forms remains a real risk in purchase orders for materials and equipment as well as in professional services.
Letters of intent and starting before signing
Engineering work often starts before the formal contract is signed, because schedules are tight and approvals are slow. The parties may use a letter of intent, a notice to proceed or an email authorizing limited work. Whether such a document is binding depends on its wording and on the parties' conduct. If it sets out the essential terms and shows an intention to be bound, it may itself be a contract. If it says it is not binding, or leaves essential terms to be agreed, it may not be, and an engineer who has done work in reliance on it may be left with a claim only for the reasonable value of that work, under the doctrine of quantum meruit or unjust enrichment.
Good practice is to limit any early authorization to a defined scope and dollar amount, to state which terms govern in the meantime (for example, the terms of the proposal), and to state what happens if the formal agreement is never signed. Never assume that a client's enthusiasm is a contract.
Formalities and electronic signatures
Most contracts need no particular form: an oral agreement or an exchange of emails can be binding. Some contracts must be in writing to be enforced, notably contracts for interests in land in many provinces, and public bodies often have bylaws or policies that require written, authorized contracts. Electronic signatures are generally valid under provincial electronic commerce legislation, with some exceptions such as certain land transfers and wills. Engineering regulators have separate rules for authenticating engineering documents with seals and digital signatures, covered in lesson 11.
Express terms and implied terms
The terms of a contract are the promises it contains. Express terms are those the parties stated, in writing or orally. Implied terms are added by law or by the courts. Some are implied by statute, such as the sale of goods legislation's implied conditions that goods are of merchantable quality and fit for a disclosed purpose. Some are implied by custom in a trade. Some are implied to give business efficacy to the contract, where a term is so obvious that the parties must have intended it.
The most important implied term for engineers is the standard of care. Unless the contract says otherwise, a professional engineer impliedly promises to perform services with the skill, care and diligence that a reasonably competent engineer in the same field would exercise in similar circumstances. That is a promise of reasonable care, not of a perfect result. Engineers should resist contract wording that raises this standard, such as promises to use the highest standard of care, to guarantee that the design is fit for its purpose, or to warrant compliance with all laws, because those promises may go beyond what professional liability insurance covers. Lesson 7 returns to this.
Canadian law also imposes general duties on contracting parties. In Bhasin v. Hrynew (2014), the Supreme Court of Canada recognized a general organizing principle of good faith in contractual performance and a duty of honest performance: parties must not lie to or knowingly mislead each other about matters directly linked to the contract. In C.M. Callow Inc. v. Zollinger (2020), the Court held that this duty can be breached by half-truths and active deception even about the exercise of a termination right. In Wastech Services Ltd. v. Greater Vancouver Sewerage and Drainage District (2021), it confirmed that discretionary powers in a contract must be exercised reasonably and in line with the purposes for which they were granted.
How courts interpret contracts
When parties disagree about what a contract means, courts try to find their objective intention: what a reasonable person, knowing the background facts the parties knew, would understand the words to mean. In Sattva Capital Corp. v. Creston Moly Corp. (2014), the Supreme Court of Canada held that contracts are interpreted as a whole, giving the words their ordinary meaning in light of the surrounding circumstances known to both parties when they contracted. Those circumstances can inform the meaning of the words but cannot override them. Standard form contracts used widely, such as CCDC documents, are interpreted more consistently, with less weight on the circumstances of the particular parties.
Several rules of interpretation recur in engineering disputes.
- The contract is read as a whole, and courts prefer an interpretation that gives effect to every clause over one that makes a clause meaningless.
- Specific terms usually prevail over general ones, and handwritten or typed changes over printed standard terms.
- Ambiguity is often resolved against the party that drafted the clause, a rule known as contra proferentem. Owners who write their own supplementary conditions bear this risk.
- Most construction contracts include an order of precedence clause, ranking the documents, for example the agreement, then the supplementary conditions, then the general conditions, then the specifications, then the drawings. Engineers who prepare contract documents should check that the documents do not contradict each other, because the order of precedence is a fallback, not a design tool.
| Clause | What it does | Watch for |
|---|---|---|
| Scope of services | Defines what the engineer will and will not do | Vague phrases such as "all services necessary" |
| Standard of care | Sets the level of skill and care promised | Words such as "highest", "guarantee" or "fit for purpose" |
| Fee and payment | Sets the price and when it is paid | Pay-when-paid terms and no allowance for changes |
| Limitation of liability | Caps or excludes certain losses | No cap, or a cap below insurance limits |
| Indemnity | Shifts losses from third-party claims | Duties to defend or indemnify for the client's own fault |
| Termination | Lets a party end the contract | Termination for convenience without payment for work done |
| Entire agreement | Excludes earlier promises and negotiations | Important promises left in emails, not the contract |
| Governing law and disputes | Picks the law and the forum | An unfamiliar jurisdiction or mandatory arbitration |
Entire agreement, exclusion and limitation clauses
An entire agreement clause states that the written contract contains all the terms and replaces earlier negotiations. It protects both parties against claims based on things said during negotiations, but it also means that a promise the client made by email, such as access to a site by a certain date, will not bind them unless it is written into the contract.
Exclusion and limitation clauses limit or exclude a party's liability. They are common and generally enforced between sophisticated commercial parties. In Tercon Contractors Ltd. v. British Columbia (2010), the Supreme Court of Canada set out a three-step test: does the clause, properly interpreted, apply to the circumstances; if so, was it unconscionable when the contract was made; and even if not, should the court refuse to enforce it because of an overriding public policy, such as conduct that is criminal or recklessly dangerous. Lesson 5 returns to Tercon in the tendering context.
Contracts that fail
A contract can be formed and still fail, in whole or in part, because of a defect in how it was made. Misrepresentation, a false statement of fact that induced the contract, can allow the innocent party to rescind it and, if the statement was negligent or fraudulent, to claim damages. Mistake can void a contract where both parties shared a fundamental mistaken assumption, though courts rarely accept the argument. Duress and undue influence are rare in commercial engineering. Illegality, such as a contract to provide engineering services by an unlicensed firm, can make the contract unenforceable by the party in breach of the law.
For engineers, the most common problem is not a defective contract but a missing one: work started on the basis of a phone call, or a change in scope agreed in a site meeting and never written down. Most fee disputes come down to what was agreed and whether anyone can prove it.
Worked problem
Is there a contract for the extra work?
Midway through design, the municipality's project manager asks Maya Okafor at a meeting to add a lighting design to the bridge. Maya says Northbridge can do it for about $18,000, and the project manager says, "Great, go ahead." Nothing is written down. The client services agreement requires changes to be authorized in writing by the municipal administrator. After the work is done, the municipality refuses to pay.
Show solution
- There was an offer and acceptance at the meeting, with a price and scope, so a contract for the extra work might have formed orally.
- But the agreement requires written authorization by the administrator, and the project manager may not have had authority to approve changes. Municipalities can only contract through their authorized processes.
- Northbridge may argue waiver (the client's conduct waived the written-change requirement) or claim the reasonable value of the work under unjust enrichment. These arguments sometimes succeed, but they are uncertain and expensive.
- The lesson for practice is to confirm every change in writing, signed by someone with authority, before doing the work.
Answer: The claim is uncertain. A one-page change authorization signed before starting would have avoided the dispute.
Common mistakes
MistakeA reply that accepts but changes one small term still creates a contract on the original terms.
InsteadAt common law, any change makes the reply a counter-offer.
MistakeA letter of intent is never binding.
InsteadIt can be binding if it contains the essential terms and shows an intention to be bound.
MistakeThe engineer promises a perfect design.
InsteadThe implied promise is reasonable skill and care, not a perfect result.
MistakePromises made by email during negotiations will be part of the contract.
InsteadAn entire agreement clause usually excludes them unless they are written in.
MistakeAnyone at the client's office can approve extra work.
InsteadOnly a person with authority can bind the client, especially a public body.
Summary and key terms
- A contract needs offer, acceptance, consideration, intention, capacity, certainty and legality.
- At common law, a changed acceptance is a counter-offer; the last terms before performance often govern.
- Work started under a letter of intent should be limited and governed by stated terms.
- The standard of care is implied unless changed; avoid promises of guarantees or fitness for purpose.
- Bhasin, Callow and Wastech impose honesty and reasonable exercise of discretion.
- Courts interpret contracts objectively, as a whole; ambiguity may be construed against the drafter.
- Most fee disputes come from missing or unwritten changes.
- Offer
- A clear proposal to be bound on specific terms.
- Acceptance
- Unqualified agreement to the terms of an offer.
- Counter-offer
- A reply that changes the terms of an offer, rejecting it and making a new offer.
- Consideration
- Something of value given by each party in exchange for the other's promise.
- Standard of care
- The skill and care a reasonably competent professional would exercise in similar circumstances.
- Contra proferentem
- The rule that ambiguous terms are interpreted against the party that drafted them.
- Entire agreement clause
- A clause stating that the written contract contains all the terms.
- Quantum meruit
- Payment of the reasonable value of work done where there is no enforceable price.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Is a request for proposals usually an offer?
Show answer
No; it is usually an invitation to make offers.
Change the reply in the program so only the schedule differs. Is it an acceptance?
Show answer
No; any changed term makes it a counter-offer.
Why is a fitness for purpose promise dangerous for an engineer?
Show answer
It promises a result rather than reasonable care, and may fall outside professional liability insurance.
What does an order of precedence clause do?
Show answer
It ranks contract documents so that a higher-ranked document governs when they conflict.
Name two ways a contract can fail after it is formed.
Show answer
Examples: misrepresentation, shared fundamental mistake, illegality or duress.
What should Northbridge have done before the lighting work?
Show answer
Obtained a written change authorization signed by someone with authority.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.