A client engagement needs a specialist you do not have on the bench. A structural engineer for two weeks. A senior SAP consultant for a phase you underscoped. A translator, a testing lab, a niche security auditor. You bring in a subcontractor, the work gets delivered, the client is happy.
Five weeks later, the subcontractor’s invoice arrives. It goes to accounts payable, gets coded to a general expense head, and gets paid. Nobody checks whether it was ever billed to the client. Nobody checks whether the amount matched the purchase order. By the time anyone runs a profitability report on that engagement, the cost sits in one system and the revenue sits in another, and the two never meet.
That gap is where subcontractor margin goes to die. This guide covers how to book the cost so it stays attached to the project, how to recover it correctly under the three commercial models firms use in practice, what the tax rules in India, the UAE, and the United States say about passing costs through, and the reporting distortion that makes a lot of services firms look bigger than they are.
What Counts As A Subcontractor Cost On A Client Project
A subcontractor cost is any payment your firm makes to an external party for work that forms part of a specific client deliverable. It is a direct project cost, not overhead. The test is simple: if the engagement did not exist, would you have incurred this cost? If the answer is no, it belongs to the project.
That distinction matters more than it sounds. Your accounting software is set up to classify spend by nature (professional fees, contract labor, travel). Your project system needs it classified by destination (which engagement, which phase, which client). The same invoice needs both. Most firms only capture one, and it is almost always the accounting view, which is why the project view has to be rebuilt by hand every quarter.
Typical subcontractor costs in professional services include:
- Independent consultants and contract staff placed on a client engagement
- Specialist subconsultants (structural, MEP, geotechnical, environmental)
- Testing, certification, survey and lab work commissioned for a client
- Freelance design, development, translation and production work
- Local partner firms delivering a scope you sold but do not staff
- Third-party software or licenses procured specifically for a client project
What does not belong here: your own recruitment agency fees, your internal tooling subscriptions, general legal retainers. Those are overhead, and mixing them into project cost inflates delivery cost and hides where margin is leaking.
The Three Ways Firms Recover Subcontractor Cost
There are only three commercial structures, and the one your contract specifies determines everything downstream: how the cost is coded, how it appears on the client invoice, how much tax is charged, and whether the recovery counts as revenue at all.
| Model | What the client sees | Your margin comes from | Where it is common |
| Pass-through at cost | The subcontractor amount, at actual, shown as a separate line | Your own fee only, not the sub | Architecture and engineering, government work, agencies handling media spend |
| Cost plus markup | The subcontractor amount plus a stated percentage | The markup, plus your own fee | IT consulting, staffing, agency subcontracting |
| Absorbed into the fee | Nothing. One fee covers the whole scope | The gap between what you charged and what delivery cost | Fixed-price consulting, managed services, productized work |
Pass-Through At Cost
You pay the subcontractor, you bill the client exactly what you paid, and you show it separately on the invoice. Your compensation for finding, contracting and managing that subcontractor is assumed to be inside your own professional fee.
This is the default in a lot of A/E and public-sector contracting, and clients tend to expect it unless a markup has been disclosed and agreed. The operational risk is that firms treat “at cost” as “low effort” and stop tracking it properly, which is exactly when unbilled subcontractor invoices start accumulating.
Cost Plus Markup
You add a stated percentage to the subcontractor amount. The markup is compensation for a real set of costs: sourcing, contracting, quality review, coordination, carrying the payment for 30 to 60 days before the client pays you, and accepting liability for someone else’s output.
Markup percentages are negotiated, not standardized, and they vary widely by sector and by how much of your reputation is riding on the subcontractor’s work. Whatever number you land on, write it into the master services agreement and apply it consistently. Discovering it project by project is how account managers end up quoting different numbers to different clients.
Absorbed Into The Fee
The client bought an outcome for a fixed price and does not see a subcontractor line at all. Your margin is whatever is left after delivery. This is the highest-risk model, because subcontractor cost overruns hit your margin directly and there is no mechanism to pass them on. It is also the model where real-time cost-against-budget visibility matters most, and where firms without it tend to find out about the overrun at year-end.
Markup Is Not Margin, And The Gap Is Expensive
This trips up more services firms than any other single number in this article.
Markup is calculated on cost. Margin is calculated on price. They are different denominators, so the same transaction produces two different percentages.
The conversion is:
Markup = Margin ÷ (1 minus Margin)
If you want a 30% margin on subcontracted work, you need a 42.9% markup, not a 30% one. Apply a 30% markup thinking it delivers a 30% margin, and you land at 23.1%. On a single INR 40,00,000 subcontract, that is roughly INR 2,76,000 of margin you priced away before the work started.
Worked through:
- Subcontractor cost: 100
- Markup at 30%: price becomes 130. Margin = 30 ÷ 130 = 23.1%
- Markup at 42.9%: price becomes 142.9. Margin = 42.9 ÷ 142.9 = 30.0%
Set your rate card in whichever unit your finance team reports in, then convert once and document both numbers. Firms that keep a rate card in margin terms and let project managers quote in markup terms will bleed a few points on every subcontracted engagement without anyone noticing.
Gross Versus Net Revenue: Why Your Growth Number May Be Fiction
Here is the reporting problem that distorts a lot of service firms with heavy subcontractor volume.
Under Ind AS 115 and its international equivalent, IFRS 15, when more than one party is involved in delivering to a customer, you have to determine whether you are acting as a principal or an agent for each distinct good or service. A principal controls the service before it transfers to the customer and recognizes revenue gross. An agent arranges for another party to provide the service and recognizes only the net amount it retains.
BDO’s technical analysis of the standard notes that this assessment happens at the level of each distinct service, not the contract, so a single engagement can leave you a principal for some scope and an agent for other scope. The indicators point to control: whether you are primarily responsible for fulfillment, whether you carry the risk, and whether you have discretion in setting the price.
The practical consequence: an INR 1,00,00,000 subcontract billed to the client with a 10% markup produces a INR 1,10,00,000 client invoice. If you are an agent on that scope, your revenue from the transaction is INR 10,00,000, not INR 1,10,00,000.
Firms that report total billings as revenue overstate performance badly, and the distortion compounds into every derived metric:
- Revenue per consultant looks inflated because pass-through volume sits in the numerator and only your own headcount sits in the denominator
- Growth rate tracks subcontractor volume rather than your own capability
- Margin percentage collapses, because a large, near-zero-margin number is dragging the average down
- Valuation conversations go badly when a buyer separates fee revenue from pass-through revenue and the number halves
Segment the two in your reporting from day one. Fee revenue and pass-through revenue are different businesses with different economics, and you want to see each one clearly. If your firm has crossed the point where nobody can answer which clients are profitable without a week of spreadsheet work, this is usually one of the reasons.
Book The Cost Against The Project, Not Against The Month
The single highest-leverage change most firms can make is moving subcontractor cost capture from the accounting calendar to the project record.
The chain that works looks like this:
- Contract before work starts: Scope, rate, deliverable, payment terms and whether your firm may pass the cost through with or without markup. Verbal arrangements become disputes at invoice time.
- Raise a purchase order tied to the project: The PO is the commitment. The moment it is issued, that money is spoken for, even though no invoice exists yet. Firms that only track invoiced cost are always looking at a stale number.
- Book the subcontractor invoice as a project expense, not a general payable: It carries the project code, the vendor, the billing period and a billable flag.
- Three-way match: Purchase order against subcontractor invoice against the work delivered. This is what stops front-loaded billing and scope drift on the subcontractor’s side.
- Bill it in the same cycle you booked it: Every cycle a billable cost sits unbilled is a cycle you have financed a third party out of working capital.
- Review committed and actual cost weekly: Not monthly. A subcontracted phase can run 30% over in three weeks.
Step 2 is the one most firms skip. Committed cost (issued but not yet invoiced) is the difference between a project budget you can act on and a historical record you can only apologize for.
Step 5 is the one that costs the most. SPI Research’s 2026 Professional Services Maturity Benchmark puts revenue leakage at 4.5%, a five-year low but still real money, against billable utilization that fell to 66.4% in 2025, the lowest in the survey’s history and below the 70% floor SPI treats as healthy. When utilization is that tight, every cost you fail to recover comes straight out of an already thin margin. The same benchmark puts project margins at 37.7%, a five-year high, which tells you the firms getting cost recovery right are pulling away from the ones that are not.
Tax Treatment: Where Pass-Through Stops Being Simple
“We just pass it through at cost” is a commercial statement. It is not a tax position. The two diverge more often than most services firms realize.
India: GST And The Pure Agent Test
Firms often assume a cost recharged at actuals sits outside the value of supply. Under GST, that exclusion only applies if you meet the pure agent conditions in Rule 33 of the CGST Rules, and all of them have to hold:
- You made the payment to the third party on the recipient’s authorization
- The payment is shown separately on the invoice you issue
- The supplies you procured as a pure agent are in addition to the services you supply on your own account
That third condition is the one that usually fails for subcontracted delivery. If you have subcontracted part of the scope you sold, the subcontractor’s work is not additional to your supply; it is your supply. You are supplying it, using a third party to deliver it. GST applies to the full invoice value, markup or no markup.
Rule 33 works cleanly for true third-party statutory and administrative costs paid on a client’s authorization, such as registry fees or duties paid on their behalf. It rarely works for subcontracted professional work. Get a view from your tax advisor on how your specific contracts are drafted, because the conclusion turns on the contractual relationship, not on how the line is labeled on the invoice.
India: TDS Under Section 393
Withholding applies to what you pay the subcontractor, independently of how you recover it from the client.
From 1 April 2026, the Income-tax Act, 2025 replaced the 1961 Act, and non-salary TDS provisions that used to sit across dozens of sections are consolidated into Section 393. Rates and thresholds carried over largely unchanged, but section references, challan payment codes, and return forms did not.
For subcontractor payments the two entries that matter are the contractor provisions (formerly Section 194C, 1% for an individual or HUF payee and 2% for others, triggered at INR 30,000 for a single payment or INR 1,00,000 aggregate in the tax year) and the professional and technical services provisions (formerly Section 194J, 10% for professional fees and 2% for technical services, at a INR 50,000 threshold). Classification between the two is a live audit risk. Getting it wrong on a specialist consultant’s invoice is a common way to trigger disallowance.
Two practical points. Non-salary quarterly returns are now filed on Form 140 rather than Form 26Q, and continuing to quote 1961 Act sections on post-April-2026 transactions causes validation failures at the processing end. Confirm current rates and codes with your tax advisor before your first filing cycle under the new framework, because the transition has produced a fair amount of practical churn.
UAE: Disbursement Versus Reimbursement
The Federal Tax Authority draws the same principal-agent line in Public Clarification VATP013.
A disbursement is a payment you made on your client’s behalf as their agent. The supplier’s invoice is in the client’s name; they are legally liable for it; you recovered the exact amount; and there is no markup. Disbursements sit outside the scope of VAT.
A reimbursement is recovery of a cost you incurred as principal. The supplier invoiced you, you were legally obliged to pay, and you are now recharging it as part of your own supply. Reimbursements fall within scope and carry VAT at the rate applying to your main supply.
Subcontracted delivery is almost always a reimbursement. The subcontractor invoices your firm, you pay them, you recharge the client. Charge 5% VAT on the recharge and recover the input tax on the original invoice. Treating it as a disbursement because the commercial arrangement is “at cost” is a common error and a known focus area in FTA reviews.
United States: Excessive Pass-Through Charges On Federal Work
If any of your work touches US federal contracts, FAR 52.215-23 restricts what you can charge on top of subcontracted effort. The government will not pay excessive pass-through charges, defined as indirect costs or profit on subcontracted work where the contractor adds no or negligible value beyond the cost of managing the subcontract. The clause also requires written notification to the contracting officer if subcontract effort comes to exceed 70% of total contract cost, along with verification that the subcontractor adds value.
For commercial work, this is not binding, but the underlying principle travels: markup has to be defensible as compensation for work you perform.
Where Margin Leaks On Subcontracted Work
Six failure modes, in rough order of how much money they cost:
Billable cost never billed
The invoice arrives, gets paid, and no one raises the corresponding client line. This is the largest single leak, and it is entirely a systems problem. If your payables run in one place and your client billing runs in another, nothing connects them.
Timing lag
You pay the subcontractor on 30-day terms and bill the client on 45 or 60. On material subcontract volume, that gap funds someone else’s business out of your working capital. It also distorts project cash flow badly enough that a profitable engagement can look like a cash problem.
Markup applied on the wrong base
Covered above. Costs a few points on every engagement, silently.
Retention and holdback mismatch
Your client holds back 10% until final acceptance, but your subcontract has no equivalent clause. You have paid in full and are carrying the retention alone.
Currency exposure
Sub invoices in one currency, client pays in another, nobody fixed a rate. Movement between the two eats a thin markup completely.
Unpriced coordination
The subcontractor’s work needs review, rework, client communication and project management, all delivered by your own people. On a pure pass-through arrangement, those hours are non-billable time your own consultants spent servicing someone else’s revenue. If you are not measuring the coordination load against billable hours, you cannot tell whether the subcontract was worth taking on.
What A System Has To Do To Hold This Together
Whatever you use, it needs to handle these seven things. Most firms discover the gaps only after a bad quarter.
- A vendor record separate from your client record, holding payment terms, banking details and default tax treatment, so the same subcontractor is not re-keyed every engagement.
- A purchase order that is tied to a project, rather than only to a vendor, so committed cost is visible before any invoice exists.
- A cost document that carries a project code, a billable flag and an approval state. Without the billable flag, no report can tell you what is recoverable.
- A hard cap: an expense cannot exceed the order’s remaining balance. This is what stops a subcontractor billing beyond scope without a change order.
- A catalogue holding both a cost price and a selling price for each service, so margin is computed from a rate rather than reverse-engineered from an invoice.
- Frozen prices at the point of billing, so a rate card change next quarter does not silently rewrite the margin on work you already invoiced.
- One report showing hours and money for the same project side by side. Hours worked and money billed are tracked independently, and the only way to see whether a subcontracted phase paid off is to look at both together.
Point 7 is where most tool stacks fail. A project tool knows the hours. An accounting system knows the money. Neither knows the other, which is why the answer to “did we make money on that engagement” takes a week to assemble. Pulling that together is exactly what a project cost management system is supposed to do, and it is worth testing candidates against this specific question rather than a feature list.
How This Runs In Juntrax
Juntrax is the project-to-cash operations layer for services firms, sitting alongside whatever accounting system is your book of record, whether that is Tally, QuickBooks, Xero or SAP. It is not accounting software, and it does not try to be. What it does is keep the operational chain from purchase order to client invoice attached to a single project record, which is the part that usually breaks.
On the purchasing side, the chain runs Vendors, then Received Quotation, then Purchase Order, then Expense, then Payment. The purchase order is tied to a project, so committed cost is attached to the engagement from the moment you place the order. The subcontractor’s bill is then booked as an Expense against that purchase order, carrying its own project link, an associated employee, a billing cycle, and a billable toggle. An expense cannot be booked for more than the purchase order’s remaining balance, which is the guardrail that catches subcontractor overbilling before it reaches your payables run.
On the client side, the Received PO screen holds order total, billed, received, remaining, pending and overdue in one place, so you can see how much of the contract value is still available to bill against. Approved subcontractor costs flowing through the Cash-Flow module meet the client invoice inside the same system rather than in a reconciliation spreadsheet. The PSA module carries the hours side, and the Project Billing report lines both up: one row per project, estimated hours and used hours next to order total, billed, received, remaining and due. It does not blend them, which is correct. It puts them next to each other so you can see whether a subcontracted phase earned its keep.
Two details worth knowing before you evaluate. Items and Services in the catalogue each carry a selling price and a cost price, so the gap between them is the margin your profit reports use rather than a number someone works out later. And the moment you raise an invoice, its prices and costs are frozen, so changing a rate next month leaves already-billed work exactly as billed.
One more, at the bid stage: the Proposals screen supports a cost comparison across two to five supplier options, each showing profit as budget minus that option’s total. That is the subcontractor selection decision made with margin visible, before the engagement is priced, rather than discovered after delivery.
Being straight about a limitation: Request for Quotation was planned on the purchasing side but never shipped to the portal, so buying starts at the Received Quotation screen. If your procurement process depends on issuing formal RFQs to a supplier panel from inside the system, that step happens outside it today.
If you are weighing this against a broader stack, our buyer guide to PSA software for small consulting firms covers the evaluation criteria in more depth, and the accounts receivable process guide covers the collection side of the same chain.
The Short Version
Subcontractor cost is the part of project profitability most services firms manage worst, because it sits exactly on the seam between the accounting system and the project system. Book it against the project rather than the month. Commit it with a purchase order so you can see cost before the invoice arrives. Flag it billable at entry. Bill it in the same cycle. Convert markup to margin once and document both. Segment fee revenue from pass-through revenue so your growth number means something. And check the tax position against the contract rather than against the label on the invoice line.
None of it is complicated. It just has to be connected.
Frequently Asked Questions
Should I mark up subcontractor costs or pass them through at cost?
It depends on the contract and the sector. Pass-through at cost is the convention in a lot of architecture, engineering and public-sector work, where the coordination effort is assumed to be priced into your own fee. Cost plus markup is standard in IT consulting, staffing and agency subcontracting. Whichever you choose, disclose it in the master services agreement and apply it consistently. Undisclosed markup discovered at invoice time damages the relationship more than the markup earns.
How do I calculate the markup I need for a target margin?
Markup = margin divided by one minus margin. A 30% target margin needs a 42.9% markup. A 40% target margin needs a 66.7% markup. Applying the margin percentage as a markup will always land you short.
Does GST apply to subcontractor costs I recharge at actuals in India?
Usually yes. The pure agent exclusion in Rule 33 of the CGST Rules requires, among other conditions, that the procured supplies are in addition to the services you supply on your own account. Subcontracted delivery of scope you sold is part of your own supply, not additional to it, so GST applies on the full invoice value. Confirm the position for your specific contracts with your tax advisor.
Do I deduct TDS on payments to subcontractors?
Yes, and it applies to what you pay the subcontractor regardless of how you recover it from the client. From 1 April 2026 these provisions sit in Section 393 of the Income-tax Act, 2025. Contractor payments carry 1% for an individual or HUF payee and 2% for others; professional fees carry 10% and technical services 2%. Rates and thresholds are broadly unchanged from the 1961 Act, but section references, payment codes and return forms are not, so check current requirements before filing.
Is a recharged subcontractor cost subject to VAT in the UAE?
Generally yes. FTA Public Clarification VATP013 treats a cost you incurred as principal, where the supplier invoiced you and you were legally liable, as a reimbursement, which falls within the scope of VAT. Only a genuine disbursement, where the invoice is in the client’s name and you paid as their agent at exact cost, sits outside scope.
Should subcontractor pass-through count as revenue?
Under Ind AS 115 and IFRS 15 it depends on whether you are principal or agent for that scope, assessed on control rather than on the contract as a whole. A principal reports gross, an agent reports only the net amount retained. Either way, segment fee revenue from pass-through revenue in management reporting, because blending them distorts growth rate, revenue per consultant and margin percentage.
How do I stop subcontractor invoices from going unbilled?
Tie the cost document to the project and give it a billable flag at the point of entry, then run a weekly report of billable project costs with no corresponding client line. The failure is structural, not human: if payables and client billing live in separate systems, nothing connects a paid subcontractor invoice to an unraised client invoice, and no amount of diligence fixes that reliably.