t:ToolNivoFREE ONLINE TOOLSFile to PDF

INVOICE GUIDES

Web Developer Invoices: Deliverables, Hosting and Maintenance

A web developer invoice can become confusing when a website build, a hosting charge and ongoing support are presented as one undated fee. The client needs to know whether they are paying for a completed stage, work outside scope or a future service period.

Reconcile the project record first, then use the ToolNivo Invoice Generator to create the document. The invoice editor does not monitor a website, verify deployments or calculate a project’s lifetime balance.

Bill the agreed trigger, not an assumed launch event

Read the project’s billing schedule and identify the stage now being charged. “Development complete on staging,” “approved integration” and “production launch” are not necessarily the same trigger. Use the actual milestone wording and a short project reference so the client can match the invoice to the agreement.

Do not describe a website as accepted or live unless that is true. If missing client content delays the project, resolve the billing treatment using the agreement instead of quietly relabeling the milestone. A screenshot can support a discussion, but it does not replace the project’s acceptance process.

Separate development from service subscriptions

A one-time build row should not conceal several months of hosting or maintenance. Label recurring service periods with a beginning and end. Clarify whether hosting is a pass-through provider charge, a managed service you sell, or included in another package.

A provider invoice paid by the client directly should not also appear as your reimbursable cost. If you bought an approved license, identify the relevant service and period, and keep the supporting record separately. Avoid claims that the invoice renews a subscription automatically; ToolNivo does not manage recurring billing.

Worked example: a stage and approved additions

These fictional EUR amounts demonstrate document construction, not recommended development prices. Tax and discounts are excluded.

ItemQuantityRateAmount
Project WEB-19: integration stage11,100.001,100.00
Approved accessibility fixes outside original scope3.572.00252.00
Managed hosting, stated monthly period124.0024.00

The invoice subtotal is 1,376.00. If a separate earlier stage was invoiced for 600.00, that does not mean this invoice’s balance is 776.00. Earlier stage invoices belong in the project register. Only payments actually allocated to this document belong in its Amount Paid field.

Keep a stage register to prevent duplicate billing

Maintain a small external table with milestone, agreed amount, invoice number, issue date and payment status. Before billing the next stage, compare the planned amounts with invoices already issued. This is particularly useful when change requests are approved between stages.

The invoice record-keeping guide covers a simple external register. If you bill the entire project cumulatively instead of issuing separate stage amounts, make that approach explicit and reconcile prior payments carefully. Do not switch between cumulative and incremental billing without explaining the numbers.

Make maintenance scope specific

A maintenance line can name the service period and the relevant plan, with included tasks described in the agreement. A separate hourly support charge should indicate what made it additional. Otherwise a client may reasonably ask why the same work appears in both the plan and a support row.

For an allowance-based arrangement, compare recorded usage with the agreed allowance before calculating an overage. The retainer guide distinguishes an included service package from a prepaid pool of hours. Avoid claiming uptime, completed backups or a security review on the invoice unless your records support that specific statement.

Keep access credentials out of billing notes

The invoice can reference a repository delivery or handover checklist, but should not contain administrator passwords, API keys or private recovery codes. Send access information through the agreed secure handover method. A finance PDF can be forwarded to people who do not need system access.

After entering the charges, check long project labels and service dates in the exported PDF. Save the document, send it yourself and update your register. The generator provides PDF and print output; it does not transfer domains, execute deployments, collect payment or remind the client about an upcoming hosting renewal.

Frequently asked questions

Should hosting and website development be separate rows?

Usually they are easier to understand separately because their scope and service periods differ. Follow the actual agreement, including any hosting already bundled into the build.

Can I subtract every earlier payment from a new stage invoice?

No. First determine which invoice each payment belongs to. Deducting an amount already allocated to a prior stage can understate the current balance.

Can the tool create maintenance invoices automatically each month?

No. Enter each document manually and maintain schedules and payment records outside the tool.

Continue with a related guide

Explore all invoice guides by topic