Duplicate payment in IT and professional services

How duplicate payment happens in IT and professional services contracts, and the controls that catch it before the invoice is paid twice. Read the full guide.

Twitter LinkedIn WhatsApp
Ask AI: ChatGPT Claude Gemini Grok
Duplicate payment in IT and professional services

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. In IT and professional services, duplicate payment is one of the sharpest forms of it: the same unit of work, described two different ways on two different documents, clears AP twice because nothing in the process compares the documents to each other.

This page covers the specific contract mechanics that produce duplicate payment in this category: milestone and time-and-materials overlap, change order reissuance, and expense pass-through billed under two headings. It does not cover the general duplicate-payment definition, only how it plays out here.

Executive Summary

IT and professional services invoices duplicate payment more easily than almost any other category because the deliverable is intangible and the billing structure is rarely a single, consistent unit. A freight invoice bills a shipment; a maintenance invoice bills a work order. A professional services invoice bills a milestone, a block of hours, a retainer, and a set of pass-through expenses, often on the same engagement, sometimes on the same week.

The mechanism is structural, not accidental. A statement of work defines milestones with fixed fees. A separate time-and-materials schedule covers change requests.

When a change request is later folded into a renegotiated milestone, the vendor's own billing system does not automatically know the hours were absorbed, and the original T&M invoice can still go out. Three-way matching against a purchase order catches a second invoice for the identical PO line; it does not catch two invoices, each valid on its own document, describing overlapping work under different cost structures.

What changes it is comparing the SOW's milestone definitions against the T&M logs at the line-item level, not just matching invoice totals to a PO. That comparison is contract work, not AP work, which is why it is usually the first thing missed.

1. What does duplicate payment look like in an IT and professional services contract?

Duplicate payment in this category is rarely the identical invoice paid twice. It is two different invoices, a fixed-fee milestone invoice and a time-and-materials invoice, each valid as a standalone document, that bill overlapping work under different cost structures. Because the amounts and invoice numbers differ, standard duplicate-payment checks that match invoice number and amount do not flag it.

A statement of work usually defines two billing tracks: fixed milestones for the scoped deliverables, and a T&M rate schedule for anything outside scope. Both tracks bill against the same underlying engagement and often the same consultants.

When a milestone slips or gets renegotiated, work that was originally scoped as fixed-fee sometimes gets re-billed as T&M hours to recover margin on the vendor's side, or the reverse: T&M hours already invoiced get folded into a later milestone payment to close out the engagement cleanly. Either direction leaves both invoices technically issued and technically payable in isolation.

AP systems built to catch duplicate payment compare invoice number, PO number, and amount. None of those fields match between a milestone invoice and a T&M invoice, so the standard control has nothing to trigger on. The only way to catch it is to hold the SOW's deliverable list next to the T&M timesheet detail and check for the same task described twice.

2. Why does milestone and time-and-materials billing overlap in the first place?

Milestone and T&M billing overlap because a typical SOW describes scope in prose, not in a structured task list a billing system can check against. When scope changes mid-engagement, the amendment updates the fee, but nothing forces the vendor's T&M log to remove hours that now sit inside the revised milestone.

The SOW itself is the contract mechanism at fault, not the vendor's intent. A typical SOW lists deliverables in narrative form: "Phase 2 includes migration of the reporting environment and associated testing." That sentence has no line-item boundary a billing clerk can check hours against.

When the client requests a scope change mid-engagement, the amendment usually restates the fee and the new deliverable, but the underlying task breakdown that consultants log time against on the vendor's side is rarely updated in the same document. The consultant keeps logging hours to the original task code.

The result is a timing gap: the fixed-fee amendment covers the work going forward, but the T&M log still shows hours against the same task for weeks after the amendment date. Every hour logged in that gap is billable twice on paper, once under the new milestone fee and once under the surviving T&M code, even though only one of the two invoices should be paid.

3. How does a change order reissue billing for work already paid?

A change order that revises scope without formally closing the prior work order leaves the original PO open. The vendor invoices the change order against a new PO line, and the original PO line, still open with unbilled balance, gets invoiced separately at close-out. Both invoices reference real work, but part of it is the same work.

Professional services engagements often run on an open PO with a not-to-exceed ceiling rather than a single fixed PO per deliverable. A change order increases the ceiling and adds a new line rather than replacing the old one.

If the original work order is never formally marked complete, its remaining authorized balance stays open. At project close-out, some vendors invoice the full remaining balance on the original line as a final catch-up, regardless of whether the change order already covered part of that scope.

Three-way matching checks the invoice against the PO and the receipt; it does not check whether a second, still-open PO line describes work already billed and paid under a different line. Closing out each work order formally, with a final invoice and an explicit remaining-balance-of-zero confirmation, removes the open line that makes this possible.

4. Which invoice elements make this category harder to reconcile than others?

Three elements compound the risk: retainer credits that offset future invoices instead of the current one, consultant expense pass-throughs invoiced separately from labor, and subcontractor labor re-billed at the prime vendor's markup. Each moves the true cost of a task away from the invoice line where the client would expect to find it.

These three elements share a common trait: the labor invoice alone never shows the whole picture, so an approver looking only at the labor line has no way to see the overlap sitting on a companion schedule.

A. Retainer offsets

Some professional services contracts use a monthly retainer that draws down against a pool of hours, with unused hours credited forward. If the credit calculation runs a month behind the invoice cycle, a client can pay the full retainer fee for a month while also being billed T&M for hours that should have drawn from an unapplied prior credit.

B. Pass-through expenses

Travel and expense reimbursement is frequently invoiced on a separate schedule from labor, sometimes by a different back-office function at the vendor. Expenses tied to a specific engagement task can appear on both the labor invoice, bundled by an account manager trying to close the period, and the standalone expense invoice.

C. Subcontractor pass-through

A subcontractor's hours can be billed by the prime vendor as part of the primary T&M invoice, then billed again on a separate subcontractor reconciliation invoice at the prime's markup rate. Each invoice references a different document trail, so neither approver sees the other.

  • Retainer draw-down timing: Unused hours credited a cycle late create an invoice that double-charges the gap.
  • Separate expense invoicing: Travel and expenses billed apart from labor can be bundled into both schedules for the same trip.
  • Subcontractor markup layering: A subcontractor's hours can appear on the prime's T&M invoice and, separately, on a subcontractor pass-through reconciliation.

5. When does a disputed invoice get paid twice instead of once?

A disputed invoice held for correction, then resubmitted, gets paid twice when the original was never formally voided in the AP system, only set aside. If the vendor issues a corrected invoice with a new invoice number, and the original is later cleared from an aging report without cross-reference, both can be paid.

Disputes over professional services invoices usually concern rate application or scope, not the existence of the work, so the invoice is held rather than rejected outright. Holding an invoice is an AP workflow state; it does not remove the vendor's original invoice from their own receivables aging.

When the vendor issues a corrected invoice to resolve the dispute, that invoice carries a new number. If the original invoice was parked rather than formally voided, a later AP cleanup pass, run by someone without the dispute history, can release the original for payment alongside the corrected one.

The control here is procedural, not a matching rule: every disputed invoice needs an explicit void or credit memo referencing the original invoice number before a corrected invoice is entered, so no invoice number in the system stands both disputed and payable at once.

6. How do you stop duplicate payment in IT and professional services contracts?

Stopping it requires comparing the SOW's task list against T&M logs at the line-item level, formally closing each work order before invoicing the next, voiding disputed invoices rather than parking them, and reconciling expense and subcontractor pass-throughs against the primary labor invoice before either is paid. None of these steps run on their own; each has to be built into how the engagement's documents are checked against each other, invoice by invoice, before payment.

None of these controls run automatically inside a standard three-way match, because three-way matching was built for goods received against a PO, not for a service engagement billed across multiple concurrent schedules.

The practical sequence is to pull the SOW's deliverable and task list, the T&M detail by task code, the PO history including every change order line, and the expense and subcontractor invoices for the same period, then check for the same task appearing on more than one billing track in the same window.

This is contract-to-invoice reconciliation, the work a periodic diagnostic performs across a defined lookback period rather than something built into everyday AP processing. A forward control, once the rules from that reconciliation are known, can flag the same overlap on the next invoice before it is paid rather than after.

For the wider pattern this sits inside, start with the margin drift guide.

7. Frequently Asked Questions (People Also Ask)

Is duplicate payment in professional services fraud or just a process gap?

It is almost always a process gap rather than fraud. Milestone and T&M billing tracks are managed separately, sometimes by different people at the vendor, and neither track is designed to check itself against the other. The overlap comes from how the contract structures billing, not from intent to overcharge.

Can our ERP be configured to catch this automatically?

Most ERP three-way matching compares invoice, PO, and receipt fields like number and amount. It cannot compare a SOW's narrative deliverable description against T&M timesheet detail, because that comparison requires reading unstructured contract text, not matching structured fields.

Who inside the vendor's organization usually creates this overlap?

The overlap is not caused by one role. An account manager updating a milestone fee, a consultant still logging hours to an old task code, and a billing clerk issuing an invoice from a template can each act correctly in isolation while producing an overlapping invoice together.

Does a purchase order with a not-to-exceed cap prevent this?

A not-to-exceed cap limits total spend on a PO line but does not by itself prevent two invoices from billing the same underlying task. If the original PO line stays open after a change order adds a new line, both can still be invoiced within their own caps.

What document should we ask the vendor for to check this ourselves?

Ask for the SOW's deliverable and task list, the T&M log broken out by task code, and the full PO history including every change order line. Comparing those three documents against each other, line by line, is what surfaces the overlap.

How far back should we look for this kind of overlap?

Look across the full life of the engagement, from the original SOW date through the most recent invoice, since the overlap often forms at a scope change or close-out that can occur well after the engagement started.

Does this only happen on large, multi-year engagements?

The mechanism depends on having both a milestone track and a T&M track on the same engagement, plus at least one scope change or close-out event. That structure can exist on a short engagement as easily as a long one; engagement length is not what causes the overlap.

What is the difference between this and a simple duplicate invoice number?

A duplicate invoice number is caught by matching the invoice number field itself. The overlap described here involves two invoices with different numbers, different amounts, and different documents, so number-and-amount matching has nothing to compare.

Executive Summary

IT and professional services invoices duplicate payment more easily than almost any other category because the deliverable is intangible and the billing structure is rarely a single, consistent unit. A freight invoice bills a shipment; a maintenance invoice bills a work order. A professional services invoice bills a milestone, a block of hours, a retainer, and a set of pass-through expenses, often on the same engagement, sometimes on the same week. The mechanism is structural, not accidental. A statement of work defines milestones with fixed fees. A separate [time-and-materials schedule](/guides/labor-rate-deviations-against-master-service-agreements) covers change requests. When a change request is later folded into a renegotiated milestone, the vendor's own billing system does not automatically know the hours were absorbed, and the original T&M invoice can still go out. Three-way matching against a purchase order catches a second invoice for the identical PO line; it does not catch two invoices, each valid on its own document, describing overlapping work under different cost structures. What changes it is comparing the SOW's milestone definitions against the T&M logs at the line-item level, not just matching invoice totals to a PO. That comparison is contract work, not AP work, which is why it is usually the first thing missed.

1. What does duplicate payment look like in an IT and professional services contract?

Duplicate payment in this category is rarely the identical invoice paid twice. It is two different invoices, a fixed-fee milestone invoice and a time-and-materials invoice, each valid as a standalone document, that bill overlapping work under different cost structures. Because the amounts and invoice numbers differ, standard duplicate-payment checks that match invoice number and amount do not flag it. A statement of work usually defines two billing tracks: fixed milestones for the scoped deliverables, and a T&M rate schedule for anything outside scope. Both tracks bill against the same underlying engagement and often the same consultants. When a milestone slips or gets renegotiated, work that was originally scoped as fixed-fee sometimes gets re-billed as T&M hours to recover margin on the vendor's side, or the reverse: T&M hours already invoiced get folded into a later milestone payment to close out the engagement cleanly. Either direction leaves both invoices technically issued and technically payable in isolation. AP systems built to catch duplicate payment compare invoice number, PO number, and amount. None of those fields match between a milestone invoice and a T&M invoice, so the standard control has nothing to trigger on. The only way to catch it is to hold the SOW's deliverable list next to the T&M timesheet detail and check for the same task described twice.

2. Why does milestone and time-and-materials billing overlap in the first place?

Milestone and T&M billing overlap because a typical SOW describes scope in prose, not in a structured task list a billing system can check against. When scope changes mid-engagement, the amendment updates the fee, but nothing forces the vendor's T&M log to remove hours that now sit inside the revised milestone. The SOW itself is the contract mechanism at fault, not the vendor's intent. A typical SOW lists deliverables in narrative form: "Phase 2 includes migration of the reporting environment and associated testing." That sentence has no line-item boundary a billing clerk can check hours against. When the client requests a scope change mid-engagement, the amendment usually restates the fee and the new deliverable, but the underlying task breakdown that consultants log time against on the vendor's side is rarely updated in the same document. The consultant keeps logging hours to the original task code. The result is a timing gap: the fixed-fee amendment covers the work going forward, but the T&M log still shows hours against the same task for weeks after the amendment date. Every hour logged in that gap is billable twice on paper, once under the new milestone fee and once under the surviving T&M code, even though only one of the two invoices should be paid.

3. How does a change order reissue billing for work already paid?

A change order that revises scope without formally closing the prior work order leaves the original PO open. The vendor invoices the change order against a new PO line, and the original PO line, still open with unbilled balance, gets invoiced separately at close-out. Both invoices reference real work, but part of it is the same work. Professional services engagements often run on an open PO with a not-to-exceed ceiling rather than a single fixed PO per deliverable. [A change order increases the ceiling](/guides/scope-drift-on-maintenance-work-orders) and adds a new line rather than replacing the old one. If the original work order is never formally marked complete, its remaining authorized balance stays open. At project close-out, some vendors invoice the full remaining balance on the original line as a final catch-up, regardless of whether the change order already covered part of that scope. Three-way matching checks the invoice against the PO and the receipt; it does not check whether a second, still-open PO line describes work already billed and paid under a different line. Closing out each work order formally, with a final invoice and an explicit remaining-balance-of-zero confirmation, removes the open line that makes this possible.

4. Which invoice elements make this category harder to reconcile than others?

Three elements compound the risk: retainer credits that offset future invoices instead of the current one, consultant expense pass-throughs invoiced separately from labor, and subcontractor labor re-billed at the prime vendor's markup. Each moves the true cost of a task away from the invoice line where the client would expect to find it. These three elements share a common trait: the labor invoice alone never shows the whole picture, so an approver looking only at the labor line has no way to see the overlap sitting on a companion schedule. ### A. Retainer offsets Some professional services contracts use a monthly retainer that draws down against a pool of hours, with [unused hours credited forward](/guides/unapplied-volume-rebates-in-staffing-agreements). If the credit calculation runs a month behind the invoice cycle, a client can pay the full retainer fee for a month while also being billed T&M for hours that should have drawn from an unapplied prior credit. ### B. Pass-through expenses Travel and expense reimbursement is frequently invoiced on a separate schedule from labor, sometimes by a different back-office function at the vendor. Expenses tied to a specific engagement task can appear on both the labor invoice, bundled by an account manager trying to close the period, and the standalone expense invoice. ### C. Subcontractor pass-through A subcontractor's hours can be billed by the prime vendor as part of the primary T&M invoice, then billed again on a separate subcontractor reconciliation invoice at the prime's markup rate. Each invoice references a different document trail, so neither approver sees the other. - Retainer draw-down timing: Unused hours credited a cycle late create an invoice that double-charges the gap. - Separate expense invoicing: Travel and expenses billed apart from labor can be bundled into both schedules for the same trip. - Subcontractor markup layering: A subcontractor's hours can appear on the prime's T&M invoice and, separately, on a subcontractor pass-through reconciliation.

5. When does a disputed invoice get paid twice instead of once?

A disputed invoice held for correction, then resubmitted, gets paid twice when the original was never formally voided in the AP system, only set aside. If the vendor issues a corrected invoice with a new invoice number, and the original is later cleared from an aging report without cross-reference, both can be paid. Disputes over professional services invoices usually concern rate application or scope, not the existence of the work, so the invoice is held rather than rejected outright. Holding an invoice is an AP workflow state; it does not remove the vendor's original invoice from their own receivables aging. When the vendor issues a corrected invoice to resolve the dispute, that invoice carries a new number. If the original invoice was parked rather than formally voided, a later AP cleanup pass, run by someone without the dispute history, can release the original for payment alongside the corrected one. The control here is procedural, not a matching rule: every disputed invoice needs an explicit void or credit memo referencing the original invoice number before a corrected invoice is entered, so no invoice number in the system stands both disputed and payable at once.

6. How do you stop duplicate payment in IT and professional services contracts?

Stopping it requires comparing the SOW's task list against T&M logs at the line-item level, formally closing each work order before invoicing the next, voiding disputed invoices rather than parking them, and reconciling expense and subcontractor pass-throughs against the primary labor invoice before either is paid. None of these steps run on their own; each has to be built into how the engagement's documents are checked against each other, invoice by invoice, before payment. None of these controls run automatically inside a standard three-way match, because three-way matching was built for goods received against a PO, not for a service engagement billed across multiple concurrent schedules. The practical sequence is to pull the SOW's deliverable and task list, the T&M detail by task code, the PO history including every change order line, and the expense and subcontractor invoices for the same period, then check for the same task appearing on more than one billing track in the same window. This is [contract-to-invoice reconciliation](/answers/how-do-you-audit-it-and-professional-services-invoices), the work a periodic diagnostic performs across a defined lookback period rather than something built into everyday AP processing. A forward control, once the rules from that reconciliation are known, can flag the same overlap on the next invoice before it is paid rather than after. For the wider pattern this sits inside, start with the [margin drift](/guides/indirect-spend-audit-categories) guide.

Questions & Answers

Is duplicate payment in professional services fraud or just a process gap?

It is almost always a process gap rather than fraud. Milestone and T&M billing tracks are managed separately, sometimes by different people at the vendor, and neither track is designed to check itself against the other. The overlap comes from how the contract structures billing, not from intent to overcharge.

Can our ERP be configured to catch this automatically?

Most ERP three-way matching compares invoice, PO, and receipt fields like number and amount. It cannot compare a SOW's narrative deliverable description against T&M timesheet detail, because that comparison requires reading unstructured contract text, not matching structured fields.

Who inside the vendor's organization usually creates this overlap?

The overlap is not caused by one role. An account manager updating a milestone fee, a consultant still logging hours to an old task code, and a billing clerk issuing an invoice from a template can each act correctly in isolation while producing an overlapping invoice together.

Does a purchase order with a not-to-exceed cap prevent this?

A not-to-exceed cap limits total spend on a PO line but does not by itself prevent two invoices from billing the same underlying task. If the original PO line stays open after a change order adds a new line, both can still be invoiced within their own caps.

What document should we ask the vendor for to check this ourselves?

Ask for the SOW's deliverable and task list, the T&M log broken out by task code, and the full PO history including every change order line. Comparing those three documents against each other, line by line, is what surfaces the overlap.

Margin Drift Resources