Real profitability when you bill in USD and pay in INR
Indian agencies billing foreign clients often measure revenue, not margin. Here's how to calculate real profitability when team costs are in INR and revenue is in USD.
You close the year with ₹4 crore in invoiced revenue from US and European clients. Your accountant says you had a great year. Your bank balance says otherwise. You feel like you're running hard and not gaining ground, and you can't quite explain why.
If that sounds familiar, you aren't alone. You're also probably not measuring profitability. You're measuring revenue.
The two are not the same, and the gap between them is where most Indian agencies billing foreign clients quietly lose money. Your team's cost is in rupees. Your invoices are in dollars, euros, or pounds. Standard profitability thinking, borrowed from US or European playbooks, doesn't translate cleanly.
This post is a framework for fixing that. It covers:
Why the INR-cost / foreign-revenue gap breaks normal profitability math
The five numbers every Indian agency should know per client
A worked example calculating real margin on a US client engagement
Three common mistakes that erode margin without anyone noticing
How to track this continuously, not once a year at tax time
This is a framework post, not a product post. There's a tool mentioned near the end. The thinking is what matters.
The core problem — revenue is not profit
Most Indian agencies measure three things: invoices sent, invoices paid, and bank balance growth. These are revenue metrics. They tell you nothing about whether a specific client, project, or service line is actually making money.
Profitability is different. Profitability is revenue minus fully-loaded team cost, expressed in the same currency. For an agency billing in USD with team cost in INR, that requires three steps most teams skip:
Calculate the fully-loaded INR cost per employee per hour. Not just salary. Include taxes, benefits, allocated overhead, software, and non-billable time.
Track the exact hours each employee spent on each client's work.
Convert the foreign-currency invoice to INR at the rate when the money actually hit your account, not the rate on the day you sent the invoice.
Then subtract. The answer, in INR, is your real margin per client.
Most agencies don't do this because it requires infrastructure they haven't built. They default to instinct: "that client feels profitable, that one doesn't." Instinct is often wrong, especially on long-running retainers where scope creep silently erodes margin over months without anyone seeing it on a dashboard.
The five numbers every Indian agency should know per client
1. Loaded hourly cost per team member (INR)
Not their salary divided by 160. Fully loaded cost includes gross salary, PF and ESI contributions, health insurance and benefits, a share of office rent and utilities, software licences, equipment depreciation, and non-billable time spent in meetings, admin, training, and bench time between projects.
Rule of thumb: loaded monthly cost is 1.5x to 2.0x gross salary, depending on overhead intensity. Divide by actually-billable hours per month (usually closer to 130 than 160) to get the per-hour loaded rate.
For a developer earning ₹80,000/month gross: loaded monthly cost is roughly ₹1,20,000 to ₹1,60,000. Divided by 130 billable hours, that's ₹920 to ₹1,230 per billable hour. Round to ₹1,200/hour for planning and you're in a defensible range.
2. Hours spent per client per billing period
Tracked per employee, per client, per project. Most agencies track hours at the project level. That's not enough. If a senior developer splits time across four clients in a month, you need hours attributed to each one individually. Otherwise cost allocation is a guess.
3. INR cost per client per billing period
Sum of (hours × loaded rate) for every person who touched that client's work in the period. This is what the client actually costs the business, in rupees, before any revenue is counted.
4. Realized INR revenue per client per billing period
The invoice amount converted to INR at the exchange rate on the day the payment cleared. Not the day the invoice was sent. Payments often clear days or weeks later, the FX rate moves, and the gap between "invoiced" and "realized" is usually where 2–4% of margin goes missing.
5. Real margin per client
(Realized INR revenue − INR cost) / Realized INR revenue × 100.
This is the number that tells you whether a client is worth keeping. Nothing else does.
If you can't easily pull these five numbers for every active client right now, you're measuring revenue, not profitability. You aren't alone — most Indian agencies can't. But it's fixable.
A worked example — is this client profitable?
Hypothetical scenario. A US client, 3-month engagement, $15,000 total, billed $5,000 per month.
Team on the engagement:
Senior developer at ₹1,800/hour loaded
Mid-level developer at ₹1,200/hour loaded
Designer (part-time) at ₹900/hour loaded
Hours over three months:
Senior developer: 160 hours
Mid-level developer: 180 hours
Designer: 40 hours
Payments received:
Month 1: $5,000 at ₹83/USD
Month 2: $5,000 at ₹84.5/USD
Month 3: $5,000 at ₹84/USD
Step 1 — Total INR cost
Senior developer: 160 × ₹1,800 = ₹2,88,000
Mid-level developer: 180 × ₹1,200 = ₹2,16,000
Designer: 40 × ₹900 = ₹36,000
Total cost: ₹5,40,000
Step 2 — Realized INR revenue
Month 1: $5,000 × ₹83 = ₹4,15,000
Month 2: $5,000 × ₹84.5 = ₹4,22,500
Month 3: $5,000 × ₹84 = ₹4,20,000
Total revenue: ₹12,57,500
Step 3 — Margin
Profit: ₹12,57,500 − ₹5,40,000 = ₹7,17,500
Margin: ₹7,17,500 / ₹12,57,500 = 57%
On paper this looked like a $15,000 project. In reality it was a ₹7.17 lakh margin at 57%. Healthy.
Now rerun it with one change. The senior developer spends 240 hours instead of 160. Scope creep of 50%, which anyone who has run an agency knows is not unusual.
New senior developer cost: 240 × ₹1,800 = ₹4,32,000 (₹1,44,000 more)
New total cost: ₹6,84,000
New margin: ₹12,57,500 − ₹6,84,000 = ₹5,73,500
New margin %: 45.6%
Still profitable. But the team worked 80 extra hours for ₹1,44,000 less in margin. If you were watching the invoice total, the project looks identical. If you were watching the hour count against the original estimate, you'd have caught it in week three and had a scope conversation.
That's the kind of quiet erosion most agencies never see.
The three mistakes that quietly kill agency margin
Using salary instead of loaded cost
This is the most common error, and it's the one that hides the worst damage. Salary ÷ 160 understates true hourly cost by 50–100%. An agency using ₹80,000/month ÷ 160 = ₹500/hour as their internal rate thinks they're running 70% margin on engagements that are really running closer to 30%.
When the year ends and the cash isn't there, nobody knows why. The math was always wrong. It just looked right on a spreadsheet.
Pricing at contract-signing rate, not realized rate
A three-month contract signed at ₹85/USD that pays out at ₹82 has already lost 3.5% of revenue before any work started. Over a full year, FX movement alone can swing agency margin by 5–8%.
Almost no Indian agency reconciles realized FX against contracted FX. It sits silently in the gap between "we're owed $5,000" and "₹4,10,000 landed in the account." Over enough clients, it adds up to a single mid-level salary.
Not tracking scope creep against the original estimate
The contract says "build this site in 120 hours." The team delivers in 180. The agency invoices the original quote, the client is happy, and the project closes. On paper it's done and paid.
In reality, the agency absorbed 60 extra hours of team cost at full loaded rate. At ₹1,500/hour loaded, that's ₹90,000 in silent margin loss on a single engagement. Unless someone is tracking hours against the original estimate in real time, the damage never surfaces and the same pattern repeats on the next contract.
How to actually track this, week by week
Three approaches, in order of sophistication.
Spreadsheet approach. A monthly workbook where you log per-client hours, team members, loaded rates, invoiced USD amount, and realized INR at payment. Calculate margin manually. Low-cost, high-discipline. Most agencies try this and abandon it within two or three months because the data entry overhead beats the insight payoff.
Time tracker plus manual reconciliation. Use Clockify, Toggl, or Harvest for hours, export monthly, compute cost and margin in a spreadsheet. Cleaner data than approach one, same fundamental problem at scale. Works for a five-person team. Falls apart at fifteen.
Integrated platform. A tool that tracks hours, attributes them to clients at per-person loaded rates, handles multi-currency invoicing, and shows live margin per client without manual reconciliation. tickbit was built to do exactly this for Indian agencies billing foreign clients — hours in INR cost, invoices in USD/EUR/GBP/AED, live margins per client. See tickbit.in if interested.
Whichever approach you pick, pick one. The worst option is the one most agencies currently use, which is no system at all and an end-of-year check-in with the accountant.
The mindset shift
The shift isn't "track more numbers." The shift is stop equating invoiced revenue with business health.
Agencies that measure revenue grow busy. Agencies that measure margin grow profitable. The difference shows up eighteen months later, when the revenue-focused agency has more clients, more stress, and roughly the same bank balance as the previous year — while the margin-focused agency has fewer clients, less stress, and actual reserves.
Your best clients are not your biggest invoicers. Your best clients are your highest-margin ones. The first step in finding out which is which is knowing how to calculate it.
Go do the math for your top five clients this week. Use a spreadsheet, a tool, or a notebook. It doesn't matter which. Just do it. What you find will probably surprise you.
tickbit handles this math automatically for Indian agencies billing foreign clients. Free to start at tickbit.in.
Tickbit is a time-tracking and invoicing platform for teams billing globally. Follow along for practical insights on profitability, project management, and running a services business.
Related posts
Invoice format for billing foreign clients from India: the complete 2026 guide
The exact invoice format Indian agencies and freelancers need when billing US, UK, or EU clients — with GST export declaration, LUT, SAC, and payment details.
How to set your hourly rate as an Indian freelancer (2026)
The standard formula for freelancer pricing ignores loaded cost, non-billable time, and FX gaps. Here's the real math for Indian freelancers billing in USD