ENGAGEMENT

SoW

Statement of Work

A signed contract that names a deliverable, a price, and a deadline, and legally binds the vendor to all three.

Last reviewed: byKevin Riedl wiki ↗

A Statement of Work is the document that turns a verbal agreement into a contract. It lists the deliverable in concrete terms (“feature X live on production, passing acceptance criteria A, B, C”), the price, the deadline, and the conditions for sign-off.

In Austrian and German law the corresponding instrument is the Werkvertrag, which is stronger than the English-language SoW: the vendor is legally bound to deliver the work, not just to provide effort, and the customer can withhold payment until the work is accepted. A Time & Material contract under the same legal framework is a Dienstvertrag, which only obliges effort. Wavect’s fixed-price engagements are Werkvertrag contracts.

Worked example of why the acceptance criteria carry the whole contract: an SoW that says “build the reporting feature, the feature should work well” is unenforceable, because “work well” is an opinion. An SoW that says “endpoint /reports returns the monthly figures for input range R within 200ms under load L, matching values in spec S” is testable, and “done” is no longer a negotiation. The most common founder mistake is signing a vaguely worded SoW to save time at the start, then spending six months arguing about whether a half-working feature counts as delivered. A vendor who resists writing precise acceptance criteria is protecting their right to have that argument later.

The SoW is also the document that prevents scope creep: anything not in it is by definition out of scope and gets handled with a change request. Note the layering, an MSA (Master Services Agreement) covers the legal frame (IP, liability, jurisdiction) once, and many SoWs live under it over time. The honest trade-off is that a tight SoW takes real work to write and feels slow up front, which is exactly the work a paid discovery-phase exists to do. Related: Fractional CTO Austria explains the Werkvertrag model in practice.

When this matters in a software project. The moment money changes hands. The SoW is where “what you are buying” stops being a conversation and becomes enforceable, so it is the single document that decides whether a dispute later is settled by the contract or by who shouts loudest.

What founders usually get wrong. They sign a vaguely worded SoW to start faster, then spend months arguing whether a half-working feature counts as delivered. The acceptance criteria carry the whole contract; “should work well” is an opinion, not a deliverable.

How Wavect handles it. We write acceptance criteria precise enough to be testable before anyone signs, and we run a paid discovery first so the scope is real. Our guide to choosing a software agency and the fixed price vs time and materials guide walk the contract decision in plain English.

// FAQ

FAQs

An MSA (Master Services Agreement) covers the legal frame: IP, liability, payment terms, jurisdiction. An SoW lives under it and names the specific deliverable, price, and deadline. You sign the MSA once and many SoWs over time. Mixing the two into one document is a red flag.
Vague acceptance criteria. ‘The feature should work well’ is not enforceable; ’endpoint X returns Y for input Z within 200ms under load A’ is. If a vendor resists writing precise acceptance criteria, they are protecting their right to argue about ‘done’ later.
Under AT/DE law, yes. A Werkvertrag legally binds the vendor to deliver the work, not just to provide effort, and the customer can withhold payment until the work is accepted. An English-language ‘SoW’ without that legal grounding is closer to a strongly-worded promise.