Here is the template. No email address, no signup, no thanks-for-subscribing page.
Download the Excel template (.xlsx) — the readiness column is already a working formula, and there is a readiness percentage per client beside the table.
Prefer plain text? Download the CSV and open it in Google Sheets, Numbers, or import it into Notion.
Both come with six example rows so the shape is obvious. Delete them and start with your worst client.
Everything below explains why the columns are what they are, and where a spreadsheet stops being enough.
What should a handover template actually record?
Enough that somebody who has never met you could get back into every account without asking you a single question. That's the whole test, and most handover documents fail it because they record what exists rather than how to recover it.
Eleven columns cover it:
| Column | Why it's there |
|---|---|
| Client | One row per asset, not per client. A client with five accounts has five rows. |
| Asset | Domain, hosting, DNS, email, SaaS, analytics, repository. |
| Provider | Namecheap, Vercel, Cloudflare, Google Workspace. The company you would ring. |
| Owner email | The address the account belongs to. This is the column that decides everything. |
| Ownership | Client owned, needs transfer, or freelancer managed. Intent isn't ownership. |
| Login method | Password, Google sign-in, SSO. Determines whether a reset is even possible. |
| Renews | The date. Blank means you don't know, which is worth knowing. |
| Cost | Useful when the client asks what their stack costs, which they eventually do. |
| Where the password lives | A pointer, never the password itself. |
| Ready? | Calculated. See below. |
| Notes | The context you'll have forgotten in a year. |
Why is the owner email the most important column?
Because every provider on earth resolves a lost account the same way: they send a reset link to the address on the account. Not to whoever paid, and not to whoever is legally entitled to it. To that address.
That means the answer to "can my client recover this without me?" is almost always decided by one field. A domain registered under admin@theirbusiness.com is recoverable by them on a Sunday afternoon. The same domain under me@myagency.com is recoverable by them only if I answer the phone.
Fill this column first. If you fill in nothing else this month, fill in this one.
How do I know a client is actually ready?
Three conditions have to hold at once, and the template calculates it for you in the Ready? column:
=IF(AND(E2="client owned", D2<>"", F2<>""), "yes", "no")
An asset is ready when it's owned by the client, the owning address is written down, and the way in is written down. Miss any one and the answer is no, because any one of them missing is enough to strand somebody.
For a readiness percentage per client, add this anywhere in the sheet and change the name:
=COUNTIFS(A:A,"Northline Cafe",J:J,"yes") / COUNTIF(A:A,"Northline Cafe")
A client at 100% can be handed over this afternoon. A client at 40% is a project. The number is more useful than the list, because it turns a wall of rows into something you can rank.
What should never go in this template?
Passwords. Not in a hidden column, not in a note, not "temporarily".
A file with live credentials in it gets forwarded and left in inboxes that outlive the relationship. It also goes stale the moment anyone rotates anything, so it becomes a document that's both dangerous and wrong. Record where the credential lives, in a note like "client 1Password vault" or "reset via admin@theirbusiness.com", and let the password manager do the job it already does.
The same rule applies to anything you hand a client. A handover document containing passwords is a liability you have transferred into somebody else's email.
When does a spreadsheet stop working?
Later than people expect, and it fails in three specific ways rather than all at once.
It doesn't remind you. A renewal date in column G is only useful on the day you happen to open the file. Every expired domain I have had to rescue was recorded correctly in a document that nobody opened that month. This is the first failure and the most expensive one.
You can't hand it to a client. The sheet has every client in it, so sharing it means sharing all of them with each of them. What a client actually needs is one page about themselves, and producing that by hand for each client is the kind of task that gets postponed forever.
It stops being scannable. Eight clients at five or six assets each is fifty rows, and fifty rows is where "which of my clients has a gap?" changes from a glance into a filtering exercise. The data is still correct. It's just no longer answering the question you have.
Until then the spreadsheet is genuinely fine, and it's better than what most freelancers have, which is nothing written down at all. Start there. If it breaks, it will break in one of those three ways, and by then you'll know exactly which one matters to you.
What should I do this week?
Open the template and fill in one row: the domain of the client you would least like to lose. Owner email, ownership, and how you sign in.
If that row says no, you have found something worth an hour of your time. Most people find it on the first row.
Everkey is the version of this that reminds you before a renewal and produces a one-page recovery document for each client. It stores no passwords either, for the same reason.