← All articles

Article

Checking Contractor Hours Against the SOW Before You Pay

To verify contractor hours against a SOW, an AP reviewer pulls the exact rates, deliverables, and hour or fee ceilings from the signed statement of work and checks each invoice line against those terms - not just against the total on the purchase order or the vendor's word. A hands-on check like this, done consistently, is what catches a rate charged at the wrong tier, hours billed past a cap, or a task nobody approved, before the money goes out the door.

Most guidance on this topic assumes a formal contracting-officer process built for federal or enterprise procurement. Most services firms don't have that. What they have is an AP manager, a stack of contractor invoices, and a SOW folder that may or may not be up to date. Here is what a practical version of that check looks like.

What does checking hours against the SOW actually mean?

A statement of work (SOW) is the document that actually governs what a contractor is allowed to bill: the roles, the rates for each role, the deliverables or hours in scope, and usually a ceiling - a not-to-exceed amount or a maximum number of hours. Checking hours against the SOW means confirming that what's on the invoice - who worked, how many hours, at what rate, on what task - fits inside those terms.

This is a different check than matching the invoice to a purchase order. A PO usually just confirms a total dollar amount was authorized. It doesn't tell you whether the person who logged 40 hours this month is billed at the senior rate or the rate their SOW actually specifies, or whether this task was even part of the original scope. The match most AP teams run stops at the PO. The SOW is where the actual terms live, and it's where the money quietly leaks if nobody checks it.

What should you compare line by line on a T&M invoice?

On a time-and-materials (T&M) invoice, treat the SOW as the answer key and go line by line. The table below covers the checks that catch the most common problems.

Invoice lineSOW term to check it againstWhere it typically goes wrong
Rate per roleThe rate card or named rate for that specific roleA mid-level person billed at the senior rate, or a rate that quietly increased without an amendment
Hours billedThe approved hours for the period, or hours remaining under the ceilingHours rounded up, hours that push the engagement past its not-to-exceed cap
Task or deliverableThe scope description in the SOWWork billed that was never in scope, or billed against a deliverable that was already paid for
Expense pass-throughsWhether the SOW allows billable expenses, and at what markupExpenses billed with no markup cap specified, or expenses for work outside the engagement
Period coveredThe invoice period against the SOW's active date rangeInvoices for work billed after a SOW expired or before it started

None of this requires special software to start doing. It requires having the current SOW open next to the invoice, which is the step that gets skipped when the same document has been amended twice and nobody's sure which version is live.

Which hour mismatches are easy to miss?

Some mismatches jump out immediately - an invoice total that's obviously higher than usual, for instance. Others hide in plain sight because the invoice looks normal at a glance:

  • Blended-rate creep. A team of three contractors bills a blended rate that quietly shifts toward the senior rate over time, without anyone changing roles.
  • Rounded hours. Every entry rounds up to the nearest half hour or full hour. On its own, a few minutes doesn't matter. Across a year of weekly invoices, it adds up.
  • Retroactive rate changes. A new rate shows up on this month's invoice, applied to hours worked last month, without a signed change order.
  • Ceiling overruns nobody flagged. The SOW caps the engagement at 500 hours. Nobody was tracking cumulative hours, so invoice six quietly pushes the total past the cap.
  • Subcontractor pass-through hours. The prime contractor bills hours for a subcontractor who was never named in the original SOW.

These aren't hypothetical edge cases. Billing-related fraud sits inside the broader category of asset misappropriation, which showed up in 89% of occupational fraud cases with a median loss of $120,000, according to the Association of Certified Fraud Examiners' 2024 Report to the Nations. Not every mismatch is fraud - most are billing errors or sloppy timesheets - but the review that catches an honest mistake is the same review that catches a dishonest one.

What does a hands-on hour-verification routine look like?

A workable routine doesn't need to be elaborate. It needs to happen the same way every time:

  1. Pull the current SOW, not the folder's oldest version. Confirm you're looking at the latest signed amendment before you check anything.
  2. Line up the invoice against the rate card. Check every named role and rate, not just the total.
  3. Check cumulative hours against the ceiling, not just this invoice's hours. A single invoice can look fine and still push the engagement over its cap.
  4. Sample the detail, don't just trust the summary. If the contractor provides a timesheet or activity log, spot-check a few entries against the task descriptions on the SOW.
  5. Log every discrepancy, even small ones. A rate that's off by a few dollars this month is worth a note - it's often the first sign of a pattern, not a one-off.

If you want a sense of how much this kind of leakage adds up over a year once you start tracking it, how to measure AP leakage at a services firm walks through the math.

When should you hold payment instead of approving on trust?

Approving on trust is the default when a vendor has a good track record and the invoice looks routine. That default should break in a few specific situations:

  • The invoice pushes cumulative hours past the SOW ceiling with no signed change order on file.
  • A rate changed and there's no amendment or written approval documenting it.
  • This is a new vendor's first or second invoice. There's no pattern yet to compare against.
  • The task or deliverable isn't described anywhere in the SOW, and nobody on your side can point to who approved it verbally.
  • The math doesn't reconcile - hours times rate doesn't equal the line total, or the invoice total doesn't match the sum of its lines.

Holding payment for a day or two while someone confirms the discrepancy is a normal part of the job, not a vendor-relationship risk. A short, clause-citing question - "this invoice shows 42 hours against a SOW cap of 500, and we're tracking 510 cumulative - can you confirm?" - resolves faster than most vendors expect, and it puts the burden of proof where it belongs.

When does checking hours by hand stop scaling?

This routine works well at low volume. It gets harder to sustain as a firm grows, more contractors bill T&M, and the person doing the checking is also closing the books, chasing approvals, and handling everything else on the AP desk. In practice, the hand-checking approach tends to strain somewhere in the range of a couple hundred invoices a month - past that point, thorough line-by-line review starts losing to the clock, and mismatches slip through simply because there isn't time to catch them.

That's a hiring-economics question as much as a process one. Robert Half's 2026 salary guide puts the national base salary range for an accounts payable specialist at $51,750 to $63,250. Add benefits - BLS data puts benefit costs at 29.7% on top of wages and salaries for private industry workers as of March 2025 - and the fully loaded cost of that hire runs meaningfully higher than the base number alone suggests.

The honest answer isn't always "buy software" and it isn't always "hire someone." Sometimes the volume genuinely calls for another person on the team. But before that next hire, it's worth asking whether the routine itself is the bottleneck, or whether the checking could be absorbed - agreement-aware AP software can run the SOW-to-invoice comparison automatically, flagging the rate mismatch or the ceiling overrun for a person to review, rather than requiring someone to do it line by line on every invoice. The goal is absorbing the work before the next hire, not replacing the person who currently does it - someone still has to approve every payment, agreement-aware tooling or not.

FAQ: verifying contractor hours before payment

Can I approve a contractor invoice without checking it against the SOW? You can, but it removes the one check that catches rate mismatches, scope creep, and ceiling overruns - none of which a purchase order match will catch, since a PO typically only confirms an authorized total, not the rate, role, or scope terms underneath it.

What's the difference between checking hours against a PO and against a SOW? A PO confirms a dollar amount was authorized. A SOW spells out the actual terms - rates by role, scope, hour or fee ceilings - that determine whether a specific invoice line is valid. An invoice can match its PO total and still violate the SOW underneath it.

How do I catch a rate-card violation on a T&M invoice? Compare every named role and rate on the invoice against the SOW's rate card line by line, not just the invoice total. Rate violations most often hide in blended-team invoices where the mix of roles shifts gradually toward higher rates.

What should I do if a contractor's hours exceed the SOW ceiling? Hold the invoice and ask for a signed change order or amendment before paying the portion above the cap. Paying past a ceiling without documentation makes it harder to dispute a similar overage later.

How many invoices can one AP reviewer realistically check by hand each month? There's no fixed number, but thorough line-by-line SOW checks tend to get harder to sustain once volume climbs into the hundreds of invoices a month, especially when the reviewer is also handling approvals, disputes, and month-end close.

Does checking hours against the SOW replace the need for an AP person? No. The review still needs a person to approve payment and make judgment calls on ambiguous cases. Software that runs the comparison automatically absorbs the repetitive line-by-line work; it doesn't remove the approval step.