Renewals are the quiet backbone of agency income: domains, hosting, SSL, plugin licenses, maintenance. They are predictable, recurring and small enough to be overlooked. That is exactly why money leaks here. A renewal the agency pays but forgets to invoice is a direct loss, and a renewal the client forgets to pay is an outage.
Where agencies lose money
- Paying a renewal from the agency's card and never invoicing it
- Invoicing late, after the client has forgotten what the charge is for
- Under-billing because renewal prices rose and the invoice template did not
- Giving away "free" hosting and domains with no plan to cover the cost
- Plugin and software licenses that renew silently in the agency's account
- No record of which clients are covered by which plan
Four ways to bill for renewals
1. Pass-through. You invoice the exact cost of each renewal. It is transparent, but it creates a small invoice each time and gives you nothing for the admin work.
2. Pass-through plus handling fee. The cost plus a fixed fee for managing renewals. Clients usually accept it when it is explained as the cost of "we make sure it never lapses".
3. Annual bundle. A single yearly invoice covering domains, hosting and SSL. Fewer invoices, predictable revenue, and easier to explain.
4. Monthly maintenance plan. Domains, hosting, updates, backups and monitoring in one recurring fee. This is the most profitable and lowest-friction model, because renewals disappear into the plan.
Most agencies end up with options 3 or 4 for active clients, and option 1 or 2 for one-off projects.
Timing matters
Send the invoice early enough to get paid before the deadline, but not so early that it is forgotten. A workable schedule:
| When | What |
|---|---|
| 60 days before | Internal check: price, owner, payment method |
| 45 to 30 days before | Send invoice or renewal notice |
| 14 days before | Reminder, and escalation if unpaid |
| 7 days before | Final reminder, renew manually if client confirmed |
| After renewal | Receipt and confirmation of the new expiry date |
If you track expiry dates centrally, this schedule can be driven by your alerts. See how to track domain expiration dates for multiple clients.
Make the invoice self-explanatory
Clients are more willing to pay what they understand. A good renewal line item names the asset, the period and the benefit:
- "Domain example.com, renewal 12 Nov 2026 to 12 Nov 2027"
- "Hosting plan, annual, includes daily backups"
- "SSL certificate management, annual"
Avoid vague entries such as "annual fees".
Handle price changes honestly
Registrars and hosting providers raise prices. Tell clients ahead of time, preferably in your contract: renewal prices may change with the provider's price. That protects margin and avoids disputes.
Be careful with marking up. A clear handling fee is easier to defend than a hidden markup that a client can discover on the registrar's website.
Decide who pays if the client does not
Agree this in writing before it happens:
- Do you front the cost and recover it later, or wait for payment?
- How many days before expiry do you stop waiting?
- Does the domain or site get suspended, or does the agency absorb the cost?
- Who is responsible for the consequences of a lapse?
Ownership affects all of this. If the domain is not in your control, you cannot protect it. See who should own the client's domain.
Keep a renewal register
For every client, record:
- Each renewable asset (domain, hosting, SSL, license)
- Renewal date, cost to you and amount billed to the client
- Who pays, and the billing model (pass-through, bundle, plan)
- The last invoice and whether it was paid
Once you can see cost versus billed for every asset, gaps become obvious: renewals with no invoice, clients on outdated prices, assets nobody pays for.
A simple monthly routine
- List all renewals due in the next 60 days.
- Check which have been invoiced.
- Send missing invoices.
- Chase unpaid ones.
- Review any asset with cost higher than billed.
Pair it with the domain renewal checklist.
How to bill clients for domain renewals without chasing
Send the invoice when you still have 30 days, not when the registrar has 3. Clients pay on their own cycle. A Friday expiry plus a net-14 invoice is how names lapse while everyone was "about to pay".
State the registrar price, your markup, and the date you will renew if they pay. If they do not pay, say whether you will let it expire. Ambiguity is what produces the angry call.
Bundle hosting, the domain and the certificate on one invoice when they fall in the same month. Three small invoices get ignored. One renewal invoice gets paid.
Keep a deposit or a card on file only if the contract allows you to charge it. Surprising a client with a charge is worse than a late reminder.
Mark the invoice paid in the same place as the expiry date. A paid invoice in the accounting tool and a red row in the tracker means the next person will invoice them twice, or not at all.
This is recurring revenue only if the reminder exists. The checklist is the script. The bill is step four, not step one.
Field notes on getting paid before the date
Send the renewal invoice from the same address that sends the reminder, so the client sees one thread. A bill from accounting and a warning from a project manager read like two optional emails.
Put the expiry date in the invoice memo. "Domain example.com, renew by 2 November" is harder to ignore than "hosting services".
If a client is habitually late, renew first when the contract allows, then invoice. Losing the name to protect a net-14 term is a bad trade. If the contract does not allow you to front the fee, say so early enough that they can pay a deposit.
Do not hide markup inside a round number you cannot explain. Clients compare with the registrar's public price. A clear fee for "we watch it and renew it" survives that comparison. A mysterious total does not.
Reconcile monthly. Every domain you renewed should match an invoice or a note that it was included in the care plan. Gaps are either lost revenue or a name you renewed and forgot to record.
FAQ
Should agencies mark up domain and hosting renewals?
A modest, transparent handling fee is common and easy to justify. Hidden large markups tend to cause trust problems.
How far in advance should I invoice a renewal?
Thirty to forty-five days is typical, with reminders at 14 and 7 days.
What if a client doesn't pay for a renewal?
Follow the process in your contract, warn them in writing about consequences, and do not let a lapse happen by accident.
*Duvento tracks every renewal date, owner and cost across domains, SSL, hosting and licenses, so nothing renews unbilled. Try it.*