If you've spent any time managing projects in Autotask, you already know the billing setup can get messy fast. Fixed-fee projects, time-and-materials work, change orders, mixed billing models — and on top of that, a separate Contract entity to manage for each project. It's one of the more common sources of MSP help desk chaos that bleeds into your back-office operations.
In this post I'm going to walk through a cleaner approach to Autotask project billing — one that removes the need for a separate Fixed-Fee Contract in most cases, keeps your Chart of Accounts clean, and gives you the flexibility to handle T&M and change orders inside the same project without restructuring everything. This is MSP workflow automation applied to your billing process, not just your help desk.
Why Autotask Project Billing Gets Complicated
Most MSP projects are fixed-price. A forklift network upgrade, a server migration, a new client onboarding — you quote a flat fee, the client approves it, and you execute. Simple enough in theory. In Autotask, the traditional setup looks like this:
- Labor — $1,000
- Parts — $2,500
When you run the Won Opportunity wizard, Autotask creates a Project with Project Charges for Labor and Parts. You then need to head off time billing, so you create a Fixed Fee Contract and associate it with the Project. The entity chain ends up looking like this:
Opportunity "Network Upgrade" → Project "Network Upgrade" → Contract "Network Upgrade"
Now you have to decide: do the billable charges live in the Project Charges or the Contract? You'll end up either deleting the Project Charges or leaving an empty Fixed Fee Contract. Neither is clean. And the moment you hit a change order or a sudden T&M need, the whole setup gets awkward fast — which is a classic MSP help desk bottleneck that shows up in your billing admin instead of your ticket queue.
The Better Way: Use Work Types to Drive Billing
Here's where the magic of Autotask Work Types completely changes the picture. In this approach, your Work Types dictate the billing model — and you won't need to create a separate Contract at all. You'll also be able to support multiple billing types inside the same Project without restructuring anything.
Start by setting up these two Work Types:
- Project Fixed-Price Work — set to use the Role Rate and be Non-Billable
- Hourly — set to use the Role Rate and be Billable
Then make sure you have these Products set up for quoting:
- Project Labor
- Project Parts
How to Quote a Fixed-Price Project
When you're putting together a fixed-price quote, set Project Labor to a Qty of 1, with a cost of "estimated hours × internal labor rate" and a price of "total fixed-fee labor." Do the same structure for Project Parts. The cost and price will change per quote, but the Qty stays at 1.
A few important config details:
- Link Project Labor to an Autotask Material Billing Code that matches your Cost of Sales (COS) in your Chart of Accounts
- Link Project Parts to an Autotask Material Billing Code that matches your COGS
- Depending on your locality, set Project Labor and Project Parts as taxable or non-taxable accordingly
- If you want to simplify the quote even further, use a single "Project Fee" product and combine your labor and parts calculations into one line item
When you run the Win Opportunity wizard, Autotask creates a Project with two Project Charges that map cleanly to your Chart of Accounts. No separate Fixed-Fee Contract needed.
Set Every Task to the Right Work Type
Next, make sure every Task in the Project has the Work Type set to Project Fixed-Price Work. This is where Ticket and Task Categories become really powerful — you can set the default Work Type at the category level so it applies automatically, rather than having to set it manually on every task. That's Autotask workflow automation doing the tedious work for you.
What does this give you? When a tech logs time against a project task, it records as Non-Billable "Project Fixed-Price Work" in your reports. Your Project Charges handle the billing. No Contract entity to manage, no confusion about where the billable amount lives.
Milestone Billing, Change Orders, and Mixed T&M - All in One Project
This is where this approach really pulls ahead. Because billing is driven by Work Types at the task level, you have full flexibility inside a single project without creating new contracts or restructuring anything.
Milestone billing: Split your Project Fee into multiple Project Charges — say, three charges at one-third of the total each. Each milestone triggers its own invoice. Clean, simple, no extra entities.
Change orders with T&M billing: Create a new Project Phase called "Change Order — [Description]," add the tasks needed under that phase, and set the Work Type on those tasks to Hourly. Time logged against those tasks will generate normal hourly billing, while all other tasks in the project remain non-billable. The Project Charges handle the fixed-fee portion, the Hourly Work Type handles the T&M portion — all inside one project.
This is the kind of MSP help desk efficiency thinking that applies just as well to your project billing as it does to your ticket workflows. The less context-switching and manual admin your team has to do, the more time they have for actual work.
The One Caveat Worth Knowing
This approach does remove the ability to automatically tie milestone billing to Project Phase completion — a feature that only exists when using a Fixed-Fee Contract. For most MSPs running standard projects, this is rarely needed. But if you're running larger, more complex projects where automatic phase-completion billing is important, a Fixed-Fee Contract may still be the right tool. Use this approach as your default, and reach for the Contract model only when the complexity genuinely requires it.
How This Connects to Broader MSP Workflow Automation
Simplifying your Autotask project billing setup is one piece of a larger picture: reducing the administrative overhead that slows MSPs down. Every hour your team spends untangling billing entities, chasing down misrouted charges, or manually correcting Work Type assignments is an hour not spent on clients.
The same principle applies to your help desk. When MSP workflow automation handles ticket triage, dispatch, and escalations automatically, your team stops firefighting and starts executing. Giant Rocketship plugs directly into Autotask to do exactly that — automating the ticket lifecycle so your techs and project managers can focus on the work that actually matters.
Related reading to keep building out your Autotask setup:
- Getting the Most out of Autotask Roles and Work Types
- Autotask Workflow Rules: Best Practices
- How to Define a Business Process Before Building Workflow Rules
- From Reactive to Predictable: The MSP Operations Transformation
Want to see how Giant Rocketship automates the rest of your Autotask workflow? Schedule a demo or start a free 30-day trial — no long-term contracts, money-back guarantee.
Share via: