Rocketship Blog › Giant Rocketship | Autotask

The Autotask Billing Mistake Your MSP Is Probably Making (And How to Fix It Before Invoice Day)

Written by Dustin Puryear | Oct 29, 2026, 7:28:50 PM

Most MSPs discover billing errors the worst possible way: when a client calls to dispute an invoice. By then, you've already damaged the relationship, potentially waived revenue to keep the peace, and spent an hour reconstructing what went wrong. The frustrating part is that Autotask has a built-in reversal workflow most help desks never use, because they don't know which type of error they're actually dealing with.

Here's what you need to know before invoice day hits.

The Two Types of Billing Errors (and Why Order Matters)

Autotask distinguishes between errors at different stages of the billing pipeline, and fixing the wrong stage first makes everything worse.

According to Autotask's billing mistake documentation, billing items move through three distinct stages under the default "Manually Approve & Post" setting:

  1. Approve & Post page - where a financial approver finalizes each transaction
  2. Items to Invoice page - where you assemble the actual invoice
  3. Invoice History page - where completed invoices live

Each stage requires a different reversal action:

  • Invoice already generated: Void the invoice. Items return to the Items to Invoice page.
  • Error is pre-invoice (at the posting stage): Unpost the transaction or the entire invoice so items move back to Approve & Post.
  • Labor entry problem: Create a credit transaction that partially or fully cancels the original entry without unwinding the whole invoice.

The mistake I see MSPs make is voiding an entire invoice when only one labor line is wrong. That forces you to re-approve and re-post every item, not just the bad one. If the error is on a labor entry and the invoice is already out, use the credit transaction route. It's surgical; voiding is a chainsaw.

"Manually Approve & Post": Safety Net or Bottleneck?

This default Autotask setting is either the most valuable control point in your billing process or the reason your invoices are late every month. The difference comes down to whether someone is actually doing anything with it.

When "Manually Approve & Post" is enabled, a financial approver must review and approve each billing transaction before it moves forward. This is your last line of defense against bad rates, wrong contract associations, and unbillable time that accidentally got flagged billable.

How to tell if it's working for you:

  • Your financial approver reviews the queue on a consistent schedule (weekly or before billing runs)
  • Someone owns the Approve & Post page and has clear authority to hold or reject items
  • Approval takes a few hours, not days

How to tell if it's become a bottleneck:

  • Items pile up for weeks before anyone looks at them
  • Invoices get generated from the queue in bulk without real review
  • "Approval" means clicking through everything as fast as possible

If no one owns this step, you don't have a safety net. You have the illusion of one. Either assign a real owner with time blocked for billing review, or audit what's accumulating in that queue right now.

Why Hourly Rates Look Wrong (It's Rarely the Rate)

When a tech's time entry bills at an unexpected rate, the instinct is to go fix the rate table. Usually, that's the wrong place to look.

Autotask's rate determination documentation identifies four factors that determine what rate actually applies to a time entry:

  1. Billable vs. non-billable status - Non-billable work types always calculate at $0, regardless of any contract settings
  2. The role selected on the labor entry - Each role carries its own billing rate; the wrong role means the wrong rate
  3. The billing contract - Contract role rates override default role rates; a time entry not associated with the right contract falls back to defaults
  4. Work type rate adjustments - Work types can apply rate adjustments on top of contract rates, which compound in some contract types like block hour

The practical implication: if a senior engineer's time entry is billing at a junior rate, check the role field on that entry before touching the contract. If the rate is zero when it shouldn't be, check whether the work type is flagged non-billable. If the rate is way off on a block hour contract, remember that block hour multipliers and work type adjustments compound each other.

There's also a fifth silent factor worth knowing about: time rounding and offsets. Autotask tracks two separate values for many time entries: the elapsed time that shows on the timesheet and the billable time after rounding and offset adjustments are applied. A technician can enter a negative offset to reduce billable time (say, for learning curve on an unfamiliar task) or a positive offset to bill for expected work rather than actual time. If these offsets aren't visible to your billing approver, rates can look wrong when the real problem is hours.

The Four Things That Silently Break Your Contract Rates

Building on the rate factors above, here are the specific scenarios that catch MSPs off guard most often:

  • Role mismatch on tickets: Techs select a role when logging time, and that role determines the contract rate applied. If someone logs time as "Dispatcher" instead of "Senior Engineer," the wrong rate tier applies automatically.
  • Unassigned or wrong contract: If a ticket isn't associated with the client's active contract, Autotask applies the default role rate, not the contracted rate. This is common when new clients are set up and contracts aren't linked correctly to ticket queues.
  • Non-billable work types on billable work: If someone selects a work type that's configured as non-billable (internal meetings, training), that time entry bills at $0 regardless of role or contract.
  • Offset abuse: Offsets are legitimate tools, but they're also easy to misuse. A technician who consistently applies large negative offsets may be doing the client a favor your MSP never agreed to. Your approver needs to be watching for unusual offset values.

None of these show up as error messages in Autotask. They show up as surprises on the invoice.

The Pre-Invoice-Day Audit: What to Check and Where

Running this audit the day before billing close catches most errors before they reach the client. It takes about 30-45 minutes if your data is reasonably clean.

On the Approve & Post queue:

  • Look for time entries with $0 billing rates that should have a value (wrong work type or non-billable flag)
  • Check role assignments on high-value entries
  • Flag any entries with large offsets for a second look
  • Verify contract associations on any new clients added in the past 30 days

On the Items to Invoice page:

  • Confirm billing dates align with your expected billing period. The First Billing Date and Final Billing Date fields on contracts control when recurring items generate; if these are off, you may be billing early, late, or creating gaps in service coverage
  • Look for duplicate line items, which usually appear when time entries were posted twice after an unpost/repost cycle

Using Autotask's financial reports:

The Financial Reports tab on the Organization page gives you a quick view of contract profitability, billable vs. non-billable hours, and revenue by contract. Run "Profit by Contract" for any client where you've had pricing changes or new work types added in the current period. An unusual dip in profitability for a normally stable contract almost always points to a rate error that hasn't surfaced yet.

The quick sanity checks:

  1. Compare total billable hours this period against last period for each major client. Variance above 20% warrants a review.
  2. Pull the "Hours worked by resource" report and look for techs logging significant non-billable time on client accounts. Either the work type is wrong, or you're eating more time than you realized.
  3. Check any tickets closed in the last week of the billing period. Rush closures often have incomplete or sloppy time entries.

Stop Letting Errors Compound

The pattern I see at MSPs that struggle with billing accuracy isn't a lack of Autotask features. It's that no one owns the billing pipeline at each stage. The Approve & Post queue gets treated as a rubber stamp. Role and contract settings get set up once and never audited. Offsets go unreviewed.

Autotask gives you the tools to catch and reverse billing errors at every stage. The credit transaction workflow for labor entries is particularly underused, since it lets you correct a posted error without unwinding an entire invoice. But those tools only work if someone is watching the queue and knows what to look for.

Block 30 minutes before your next billing run and run through the checklist above. The first time you catch a rate error before it becomes a client dispute, you'll make it a permanent habit.

Accurate invoices start with tickets worked by the right tech, under the right contract. Rocketship automatically triages and dispatches Autotask tickets based on skills and availability, which cuts down on the misassigned work and rushed end-of-period closures that lead to role and rate errors on your invoices. Need a hand? Our Autotask Consulting team can help, or grab the free Autotask Data Clean-Up Kit. You can also schedule a demo of Rocketship.