Software Acceptance Testing in Contracts: What to Agree
Short answer: A software acceptance testing clause in a contract should define test cases before development starts, a fixed testing window, severity levels for defects and the thresholds that allow you to reject delivery. Watch for deemed acceptance, where silence or going live counts as sign-off, and tie the final payment and the start of any warranty period to written acceptance.
The email arrives near the end of every software project: “We’re done, please sign off.” Many clients spend an afternoon clicking through the site, spot a few small things and reply “looks good”. Depending on the contract, they have just triggered the final invoice, started the warranty clock and weakened their position on every defect they didn’t mention.
Acceptance is the most important date in a development contract. Treat it like one.
What acceptance usually triggers
Contracts vary, but acceptance typically sets off several things at once:
| Criterion | Before acceptance | After acceptance |
|---|---|---|
| Final payment | withheld | due |
| Who has to prove a defect | agency shows it delivered to spec | you show the defect |
| Warranty or defect-fixing period | not started | running |
| Known defects not listed | can still be raised | may be waived |
| Your negotiating position | strong | weak |
Simplified. Check your own contract; the governing law and wording decide the details.
That last row is what matters commercially. Before sign-off, the agency wants something from you. After it, you want something from them.
Define acceptance before anyone writes code
The commonest mistake is writing test cases after development, by clicking around the finished product. That tests what was built, not what was ordered. Acceptance criteria belong in the contract or statement of work.
Test cases don’t need to be elaborate. “User submits the contact form with valid details. Expected: confirmation page appears; email reaches sales@ within one minute.” That’s enough. Write one for each important function, plus a handful for non-functional requirements such as page load time or browser support.
Defect severity levels and rejection thresholds
Nobody delivers bug-free software, and contracts that pretend otherwise lead to arguments. What you need is an agreed way to sort defects and a rule for when you may refuse sign-off. One workable scheme:
| Level | Definition | Example | Effect on acceptance |
|---|---|---|---|
| 1, critical | Core function fails, no workaround | Checkout fails, login impossible | Acceptance refused |
| 2, major | Function impaired, workaround is awkward | Product filter returns wrong results | Refusal above an agreed count |
| 3, minor | Cosmetic, no impact on use | Spacing between two elements is off | Accepted with a fix deadline |
Then fix the thresholds in writing, for instance zero level-1 defects and no more than three at level 2. That avoids the classic end-of-project standoff in which both sides read the same bug list completely differently.
Deemed acceptance: when silence means yes
Many agency contracts include a deemed acceptance clause. Typical triggers are failing to respond within a set number of days after delivery, or using the software in live operation. Neither is unreasonable in principle, since agencies need protection against clients who never sign off. The risk is a window too short to test properly.
Check three things in any such clause: how long the window is, what exactly starts it (a written notice of completion, not a casual message), and whether a single specific defect report is enough to stop it.
If your agency is in Germany, a statutory version applies even when the contract is silent. Under section 640 of the German Civil Code, in force in its current form since 1 January 2018, work counts as accepted if the contractor sets a reasonable deadline after completion and you don’t refuse acceptance within it while naming at least one defect. Writing “we’re not happy yet” doesn’t stop it. The same section says you can’t refuse acceptance over insignificant defects, and that if you accept despite knowing of a defect, you lose most remedies for it unless you reserve them at acceptance. Consumers get extra protection; businesses don’t.
A clean acceptance process
- Criteria in the contractTest cases, severity levels and thresholds agreed before development starts.
- Delivery to stagingAgency confirms completion in writing and provides a test environment with test data.
- Testing windowAgreed period, for example two weeks. Defects logged and classified in a shared tracker.
- Acceptance meetingWalk through the test cases together. Outcome: accept, accept with listed defects, or reject with a defect list.
- Certificate and fixesSigned acceptance certificate, deadlines for listed defects, then go-live.
Plan the testing window honestly. People who test alongside their normal job get through less in two weeks than anyone expects. Block the time in calendars before the agency announces completion.
What goes in the acceptance certificate
- Project, contract date, version or build number tested
- Date, location, attendees from both sides
- Test cases run and their results
- Outcome: accepted, accepted with reservations, or rejected
- Every known defect with its severity and an explicit reservation of rights
- Deadline for fixing reserved defects
- Any retention of payment agreed until fixes are done
- Signatures from both sides
Sample wording for the reservation: “Acceptance is given subject to the defects listed in Annex 1, which the agency will fix by [date]. The client reserves all rights in respect of those defects.”
Warranty periods and what the law implies
Acceptance usually starts a warranty or defect-correction period. Agree its length explicitly. Where the contract says nothing, the background law steps in, and it differs by country. For England, Wales and Northern Ireland, the Supply of Goods and Services Act 1982 implies into business service contracts a term that the supplier will act with reasonable care and skill. US courts decide case by case whether a software deal is treated as a sale of goods or as services, which affects the warranties that apply. Under German law, whether the limitation period for defects in custom software starts at acceptance, and how long it lasts, depends on a classification lawyers still dispute. Don’t rely on defaults. Write the period down.
Acceptance in agile projects
Agile teams ship working software at the end of every sprint, which sits awkwardly with one big acceptance at the end. Staged acceptance per release or milestone, followed by a final acceptance before go-live, usually fits better. Make sure sprint reviews don’t count as formal acceptance unless you both intend that. For a sense of how a studio ties releases to testing, see software development at OnlineBuilders.
After sign-off
Acceptance ends the project, not the work. Updates, security patches and small changes start on day one; our guide to the website maintenance contract covers what to agree. This is also the moment to make sure you hold the source code, credentials and documentation, as explained in who owns the source code.
Still negotiating the contract? Fixed price vs time and materials explains how the pricing model interacts with acceptance.
Your next step: write a two-sentence test case for each of the five most important functions in your project and send them to the agency before it finishes building.
Questions people ask
Does going live count as acceptance?
Many contracts say so explicitly, and even where they don't, using the software in production for a while without complaint can be treated as acceptance. Agree that acceptance must be given in writing and log open issues before launch.
How long should the acceptance testing window be?
Long enough to run every agreed test case with real people. For a mid-sized website, two weeks is a sensible starting point. Book the testers' time before the agency announces completion, not after.
What is deemed acceptance?
A clause under which the software counts as accepted if you don't reject it within a set period, or if you start using it live. German law has a statutory version: under section 640(2) of the German Civil Code, silence after a reasonable deadline means acceptance unless you name at least one defect.
Can I accept in stages?
Only if the contract provides for it. Staged acceptance per milestone catches problems earlier, but remember that warranty periods for each stage may start running from its own sign-off.