Skip to content
AppSeed
All articles

What to check when software is handed over, so you are not left without the keys

A checklist for the handover of software: source code, rights, accounts and access, domain, data, documentation, payments and verification before the final invoice.

Denis Ferda6 min read

Article contents · 8 sections
  1. 01Source code
  2. 02Rights to the software
  3. 03Accounts and access
  4. 04Domain
  5. 05Data in a usable format
  6. 06Documentation
  7. 07Who pays for what after handover
  8. 08How to verify it before the final payment

The software is finished, everything is running and the final invoice is waiting. Even so, you can end up in a situation where you cannot change anything without the original supplier. You do not have the code, you cannot get to the server and the domain is on someone else's account. There does not have to be any bad intent behind it. It is enough that nobody agreed on it in advance.

Here is a checklist. Go through it ideally before you sign the contract, at the latest before the final payment. After that your position in negotiating a fix is much weaker.

Source code

Without the code, nobody but its author can change the software.

Checklist4 items

  • You have the complete source code, not just the finished built application.
  • The code is in a repository on your company's account, or you will receive it in a way that lets you set up such a repository.
  • Configuration, deployment scripts and a description of the database are included.
  • You know which third-party libraries and services the software uses and on what terms.

You do not necessarily need to see every change during development. We, for example, do not promise ongoing access to the repository. What matters is that at handover you receive everything and can check it yourself.

Rights to the software

Having the code in your hands does not yet mean having the right to do what you need with it. Under Czech law, economic copyright generally cannot be transferred, so rights to software are usually settled by a licence, often an exclusive one. Do not settle for a general sentence; have the contract describe explicitly what you may do.

Checklist4 items

  • The contract states the right to use and modify the software.
  • You can have it modified by someone other than the original supplier.
  • It is clear whether the licence is exclusive, how long it lasts and to what extent.
  • It is clear what applies to third-party libraries and components the supplier used.

This article is not legal advice. Have a lawyer assess the wording of the contract.

Accounts and access

Every service the software runs on should be on your company's account, not on a developer's private account.

Checklist5 items

  • Hosting, database, email delivery and other services are in your company's name, or will be transferred to it.
  • You have administrator access and have tried it yourself.
  • Two-factor authentication is tied to someone at your company, not to the supplier's phone.
  • You received passwords and keys by a secure route and changed them after the handover.
  • The supplier's access is cancelled after the handover, or limited to what you agreed.

Domain

Checklist3 items

  • Your company is the holder of the domain, not the supplier or one of its employees.
  • You have access to the registrar and to the DNS settings.
  • You know when the domain is renewed and whose email the notices go to.

Data in a usable format

Data is often the most valuable thing you have in the system. An export nobody can read does not help you.

Checklist6 items

  • You can export all the data, not just part of it.
  • The format is a common one, for example CSV or JSON, with a description of what each field means.
  • Uploaded files and attachments are included, not only the database.
  • You know where the backups are, how often they are made and who has access to them.
  • Restoring from a backup has actually been tested.
  • It is agreed what the supplier will do with the copies of the data it keeps after the end.

Documentation

Documentation is not mainly for you, but for whoever comes after the supplier. A good test is whether someone who has never seen the project can find their way around it.

Checklist4 items

  • It describes how to run, deploy and update the software.
  • It describes the main parts of the system and what they connect to.
  • It says what happens when something stops working and what to do then.
  • It includes a list of all services and accounts, with their cost.

Who pays for what after handover

Monthly running costs tend to be an afterthought until the first invoice or outage arrives. Go through each item and answer the question next to it.

ItemQuestion
Hosting and databaseWho is billed, and what does it cost per month?
DomainWho renews it, and who keeps an eye on it?
Paid services and licencesDo they run on your card or on the supplier's card?
Bug fixesWhat is included and for how long?
Security updatesWho does them and who pays for them?
Changes and modificationsWho makes them and how are they priced?

Take special care with payments that run through the supplier. If the supplier stops paying them, the service stops working for you.

How to verify it before the final payment

A promise in an email is not enough. You can try this yourself, or with the help of anyone technically capable.

  1. Put the checklist into the contract.

    Make the handover part of acceptance and a condition of the final payment, not a favour at the end.

  2. Have someone else build the software.

    Following the documentation provided, on a clean computer. If that does not work, the handover is not finished.

  3. Log in everywhere yourself.

    Go through the list of services and log in to each with your own account.

  4. Try the export and the restore.

    Export the data and restore a backup into a test environment, not into live operation.

  5. Make a small change.

    For example, edit a single text, deployed by someone following the documentation.

  6. Pay the last part only afterwards.

    As long as the payment does not depend on the handover, you have nothing to negotiate with.

If a supplier reacts irritably to these questions, that is useful information before you sign. A good supplier will walk you through it, because it saves them arguments later.

On the Custom software page we describe how we have it set up. You get the code, access, documentation and data at handover and if you leave.

Working on something similar?

Four quick questions and we will sort out the rest together.

Describe what you needMore about Custom software