What your development agency contract should cover

By Weapp · Updated

A development agency contract should cover fifteen points: a clear delivery definition, acceptance criteria, a payment plan tied to milestones, liability and penalties for delays, termination terms, and rights to code, design, and data. The contract should also secure access to the source code if the agency goes bankrupt, for example through escrow or ongoing handover.

A good contract isn’t noticed when everything runs smoothly – it’s noticed when the project grinds. That’s when it decides who pays for the delay, who owns the code, and how you part ways without the product taking damage. Here are the fifteen points that should be included, written for you as a client without your own in-house lawyer.

Delivery and payment (points 1-5)

  1. Delivery definition. Write down what should be delivered in functional terms: which flows, which platforms, which environment. Reference an appendix with a requirements list or user stories if you can – “an app” is not a delivery definition.
  2. Acceptance criteria and acceptance period. Define how you’ll determine a delivery is approved: who tests it, against what criteria, and how much time you have. Without an acceptance period, “done” becomes a matter of opinion.
  3. Payment plan tied to milestones. Pay against approved partial deliveries rather than calendar months. That keeps incentives right: the agency gets paid when something works, not when time has passed.
  4. Change management. New requests always come up. Regulate how they’re priced, approved, and documented before they’re built – otherwise every addition becomes a potential dispute over what was “included.”
  5. Staffing and key people. Name key roles and regulate how replacements are handled. You’re partly buying specific people’s expertise, not just a logo.

Liability, penalties, and exit (points 6-10)

  1. Division of responsibility. List what you as the client are responsible for: decisions, content, test data, access to your systems. Many delays trace back to the client’s obligations never being written down.
  2. Penalties for delay. A reasonable penalty gives the agency a reason to prioritize you. Tie it to delays the agency actually controls, and keep the level proportional to the contract’s value.
  3. Limitation of liability and insurance. The agency will want to limit its liability, often to the contract’s value. That’s normal – but check that liability insurance exists and what it covers.
  4. Termination and exit. Regulate the notice period, what’s delivered at termination, and what the exit is allowed to cost. A good contract makes parting ways undramatic.
  5. Dispute resolution. Decide in advance how disagreements are handled: negotiation, mediation, court, or arbitration. Arbitration is fast but can get expensive for smaller companies.

Rights to code, design, and data (points 11-15)

  1. Ownership of code and design. The main rule under Swedish law is that copyright stays with whoever created the work unless otherwise agreed. Write in that all rights transfer to you upon payment.
  2. Open source and third-party licenses. Modern development builds on open source. Require the agency to disclose which licenses are used and confirm that nothing blocks your commercial use.
  3. Data and personal data. If the agency processes personal data on your behalf, a data processing agreement is required under GDPR. Also regulate where data is stored and how it’s returned at the end.
  4. Protection in bankruptcy. Secure ongoing, actual access to the source code – your own copy of the repository, your own accounts with the cloud provider – or agree on source code escrow. If the agency goes bankrupt, an agreed ownership without access to the code is cold comfort.
  5. Documentation and handover. Agree that documentation, architecture description, and operational instructions are included in the delivery, so another vendor can take over without starting from scratch.

Scenario: the payment plan that saved the project

Say you order a customer portal for SEK 900,000. Instead of three fixed invoices, you split the sum into six milestones of SEK 150,000 each, each with defined acceptance criteria. At milestone three, you discover that login doesn’t work as agreed. Because payment is tied to approval, the invoice is paused until the issue is fixed – and the discussion is about the criteria you wrote down, not whose memory of the conversation is right.

That’s the difference between a contract sitting in a folder and a contract that steers the project.

How to use the checklist

Go through the points before you sign, and ask the agency to explain any point it wants to strike. A serious vendor doesn’t get nervous about clear contracts – quite the opposite. At Weapp we always go through delivery definition, ownership, and exit before a project starts, since an unclear contract is a poor start to a long collaboration. Want a second opinion on a contract draft or want to talk through an upcoming project? Get in touch.

Frequently asked questions

Do I need a lawyer to write a contract with a development agency?

Not always. For smaller projects, the agency's standard contract combined with a careful review of delivery, payment, ownership, and exit terms is often enough. For larger commitments, long contract terms, or business-critical systems, a few hours with a lawyer is cheap insurance.

Who owns the code if the contract doesn't say anything?

Under Swedish copyright law, the default is that rights stay with whoever created the work – meaning the agency – even if you've paid for the work. Always write in that rights to the code and design transfer to you, at the latest upon final payment.

What's a reasonable payment plan for a development project?

A common model is a smaller upfront fee followed by payments tied to approved milestones, with a final portion at delivery acceptance. Avoid large upfront payments, but also avoid being months behind on payment – both distort the incentives.

What happens to my product if the agency goes bankrupt?

If you have ongoing access to the source code, accounts, and environments, another vendor can take over relatively quickly. Without it, the code can get stuck in the bankruptcy estate. Require your own copy of the code and your own accounts with cloud providers from the start.

Can I just use the agency's standard contract as-is?

A standard contract is a reasonable starting point, but it's written from the vendor's perspective. Check in particular the ownership of code and design, liability limits, termination terms, and what happens to data and documentation at the end before you sign.