IT Services Proposal Template
This is the template for a defined IT project — a migration, a network refresh, an implementation — not an ongoing managed services retainer. Project proposals live or die on two sections most people rush: the exclusions and the acceptance criteria. Here are all nine, with a worked fixed-fee breakdown.
Copy it, cut what does not apply, and send it. If you want the structure pre-built with pricing tables and e-signature, ProposalBuild does that on the free plan. For the strategy behind each part, see our IT services proposal software page.
The nine sections
Client name, project name, your company, the date, and an expiry date. The expiry is the part most people skip — a proposal without one stays 'under review' until the budget quietly moves elsewhere.
Two or three sentences describing the outcome the client asked for, using their vocabulary. 'Move email and files to Microsoft 365 so the new office can work from anywhere' — not 'tenant migration and identity federation'. State the business reason first; the technical work is a means to it.
Bullet every deliverable in concrete nouns: number of mailboxes migrated, GB of data, number of sites, which firewall model, which switches. "Network upgrade" is not a deliverable. "Replace two aging switches, install one firewall, migrate 40 mailboxes" is.
The most valuable section in the document. Third-party licence costs, new hardware beyond what is listed, end-user training beyond one session, out-of-hours cutover, ongoing support after handover — name whatever you are not doing. Every scope dispute traces back to an assumption the proposal never contradicted.
How you will do it and why it fits their constraints — the migration method, the cutover window, the rollback plan. Two or three short paragraphs. A named rollback plan is what separates a professional from someone who will panic if the cutover fails at midnight.
Phases with dates, and — critically — what you need from them by when: admin credentials, a maintenance window, a point of contact on cutover night. "Credentials provided by 12 March" in the proposal is the thing you point at when the schedule slips because they were slow.
The price, broken into phases. See the worked example below. Separate your labour from pass-through hardware and licence costs so the client can see what is your fee and what is a vendor bill you are simply relaying.
The conditions your price depends on: existing internet can handle the cutover, one maintenance window is enough, current backups are restorable. If an assumption breaks, this section is why the number changes — stated up front, not sprung later.
Define "done" in testable terms: all mailboxes migrated with mail flow verified, users able to log in with MFA, one week of post-cutover support included. Acceptance criteria are what let you invoice the final milestone without an argument about whether the job is really finished.
A worked fixed-fee breakdown
Clients do not reject a number; they reject a number they cannot explain to whoever signs off. A single “Migration: $12,000” line gives them nothing to defend. The same total, itemised by phase — with your labour kept separate from pass-through licence costs — is a document they can forward internally.
Here is a Microsoft 365 migration for a 40-user office, priced at a $150/hour rate. The numbers illustrate the shape of the breakdown; your rate and hours will differ.
| Phase | Hours | Total |
|---|---|---|
| Discovery, planning & migration design | 10 | $1,500 |
| Tenant setup & security baseline (MFA, policies) | 12 | $1,800 |
| Mailbox & data migration — 40 users | 24 | $3,600 |
| Cutover & DNS switch (out-of-hours) | 8 | $1,200 |
| Testing, user validation & one training session | 10 | $1,500 |
| One week post-cutover support | 6 | $900 |
| Labour subtotal | 70 | $10,500 |
| Licences (M365, pass-through, first year) | — | $2,400 |
| Project total | — | $12,900 |
Two things worth stealing from that table. The licence line is a pass-through, labelled as such — clients get twitchy when a vendor bill is quietly marked up inside a labour rate, so show it plainly. And the post-cutover support week is a priced line, not a freebie. Anything you give away for free gets treated as free next time.
Fixed fee or time-and-materials?
Fixed fee, like the table above, is right when the scope is knowable — a migration with a fixed user count and a clear finish line. The client gets a number they can approve, and you keep the upside if you work efficiently. The risk is all on you if you have scoped it badly, which is why the assumptions section matters so much.
Time-and-materials fits genuinely uncertain work — an undocumented network you have to reverse-engineer, or a cleanup where nobody knows what you will find. Quote a day rate and a not-to-exceed cap so the client is not signing a blank cheque. When you are unsure which to use, a fixed-fee discovery phase followed by a fixed-fee build — priced only after discovery — gives both sides certainty without either party gambling.
Acceptance criteria get you paid
The final invoice on a project is where the money gets stuck, and it gets stuck on the word “done”. If the proposal never defined done, the client can keep the milestone open indefinitely with one more “small thing”. Section 09 fixes that: mail flow verified, users logging in with MFA, one week of support delivered — a checklist you can point at. When every item is ticked, the project is accepted and the final payment is due. Write it before you start, not when you are chasing the invoice.
Turn the project into a retainer
A one-off project is the cheapest customer acquisition an MSP will ever get — you are already inside their environment and they already trust you. The natural next step in the sign-off conversation is ongoing support. When you are ready to make that offer, the managed services proposal template turns this engagement into recurring revenue. Browse the rest in the proposal templates hub.