Why your $5,000 invoice becomes ₹4.63 lakh, not ₹4.78 lakh

Invoiced $5,000 but received less in INR? Here's exactly where the rupees go — FX spread, fees, and timing — and how to track the gap per client

Team tickbit
10 June 2026· 10 min read

You're an Indian agency that invoiced a US client $5,000 on April 1st. Google showed USD/INR at ₹95.5 that morning, so you mentally locked in ₹4,77,500. The wire landed on April 18th. Your bank credited ₹4,63,000.

You invoiced in USD and received less in INR than the math suggested. Where did the missing ₹14,500 go?

It's not one fee. It's three things stacking on top of each other — the conversion rate your platform applied, the explicit fees it charged, and the rate moving between the day you invoiced and the day the money realized in INR. None of them show up as a single line on your bank statement. None of them appear in your invoicing tool. Most freelancers and agency owners billing foreign clients from India never measure the gap, because nothing they use connects the USD they billed to the INR that arrived.

At one invoice, ₹14,500 is forgettable. At twelve clients across a year, the same gap becomes a number that quietly decides which clients are actually profitable and which ones you're losing money on. This post breaks the gap down, walks through a real calculation, and shows what to do about it once you can see it.

Why is the rate you see not the rate you get?

Short answer: The rate you see on Google is the mid-market rate — the midpoint between what banks are buying and selling dollars for on the global currency market. The rate your platform actually applies sits a few percentage points off that. The difference is your first slice of the gap, before any fee is added on top.

Banks and payment platforms apply their own rate, which sits a few percentage points off the mid-market rate. The difference is the "spread" or "FX markup." Some platforms are transparent about it and quote a small flat fee while using the actual mid-market rate. Others bury the markup inside an unfavorable rate and charge "no fees" on top. Either way, you receive less INR than the mid-market math suggests.

This is the first slice of the gap. Before any wire fee, before any timing effect, the rate applied to your conversion is already worse than the rate you saw on Google.

The three things eating your gap

FX markup and spread

Short answer: The rate spread is the percentage difference between the mid-market rate and the rate your platform uses to convert your USD to INR. For Indian businesses, this lands at roughly 1–4% depending on whether you use a bank wire or a fintech platform like Wise. It's the largest of the three slices on most invoices.

Banks and most money transfer services apply a markup above the mid-market rate — typically 1–4%, depending on the bank and the size of the transfer. Send Money to India

Platforms like Wise advertise mid-market rates and charge a transparent conversion fee instead. Wise's effective cost for USD to INR transfers is typically ~2% of the amount sent, which includes the variable conversion fee and transfer fee, while using the mid-market exchange rate with no hidden markup. That's the all-in cost when you account for the conversion fee plus GST on the fee. The exchange rate itself is honest; the fee just gets pulled out separately. Skydo

Traditional bank wires are the opposite — the headline fee looks small but the rate is marked up. Bank international wire transfers often cost $25–$45 in fees plus a 3–4% rate margin. Send Money to India

The exact number depends on your bank, your platform, and your volume. The point isn't to pick a winner. The point is that this slice exists on every transfer and you should know roughly how big it is for the route you use.

Platform and wire fees

Layered on top of the rate spread are explicit fees. These vary by method:

SWIFT bank wire. $15–40 in intermediary or correspondent bank fees, deducted from the amount the client sent. If your client wires $5,000 and the correspondent bank takes $25, your Indian bank receives $4,975 before converting. Some Indian banks also charge an inward remittance fee of ₹500–1,500 per transfer.

Wise. A percentage-based transfer fee on top of the mid-market rate, plus 18% GST on that fee under Indian tax rules. Wise's ~1.65% fee plus 18% GST keeps stacking up at scale. For monthly invoices in the $2K–$10K range, the all-in cost lands close to 2%. Skydo

Payoneer. Conversion margin plus a withdrawal fee when moving funds from your Payoneer balance to your Indian bank account. Effective cost typically lands in the 2–3% range depending on transfer size and method.

PayPal. The most expensive of the common options — 3–4.5% on inward payments plus a separate FX markup of 2–3% on the conversion. On a $5,000 invoice that's ₹17,000–25,000 gone before the money hits your account.

These are not hidden. They're disclosed in every platform's pricing page. But because they're deducted from the converted amount rather than billed separately, most service businesses never sit down and total them up per client over a year.

Timing — the rate on invoice date vs realization date

Short answer: Net 30 payment terms mean every invoice carries 30 days of currency risk. The mid-market rate on the day you invoice is almost never the rate that applies when the wire actually clears. Within 2026 alone, USD/INR has already swung from ~89.9 in January to ~96.6 in May — a roughly 7% intra-year range that lands directly on your realized rupees.

This is the slice that surprises people most.

You invoice on April 1st when USD/INR is at ₹95.5. Your client pays on Net 30 terms, so the wire initiates on April 30th. By the time it clears intermediary banks and lands in your account, it's May 4th. USD/INR on May 4th might be ₹94.8. Or ₹96.2. The rate moved while you were waiting.

This isn't theoretical. USD/INR moved from a low of around ₹89.86 in early January 2026 to roughly ₹95.5 by early June 2026 — about a 6.7% climb in five months. Intra-month swings of 1–2% are routine. Within 2026 itself the rate has already ranged from ~89.9 in January to ~96.6 in May, with a year-to-date average sitting around ₹92.8. Exchange Rates UK

A 30–60 day payment cycle means every invoice carries unmeasured currency risk. If the rupee weakens between invoice date and realization date, you get more INR than the original quote implied. If it strengthens, you get less. Average it across enough invoices and it doesn't cancel out — it just adds noise to your revenue numbers that you can't explain.

Why is this a margin problem, not a fee problem?

Short answer: A flat ₹40 wire fee is something you write off and ignore. The FX gap is a variable percentage — 2–4% on a typical invoice — that compounds against your INR-denominated team cost. Across twelve clients and forty invoices a year, that's a margin line, not a rounding error, and it decides which clients are actually profitable.

If the gap were a flat $40 wire fee, you'd post it to "bank charges" and move on. The gap isn't a fee — it's a variable percentage on every invoice that compounds with your team cost in INR.

Worked example. You quote a US client $3,000/month for a developer's time. Your cost in INR is ₹1,80,000/month — salary, taxes, overhead. At ₹95.5/USD, the invoice is worth ₹2,86,500 in your head. Gross margin: ₹1,06,500, or 37%.

But your realized INR per invoice — after rate spread, fees, and timing — is closer to ₹2,77,000. Actual gross margin: ₹97,000, or 34%. Three points off the top, every month, on every client.

Now extrapolate. Twelve active clients. ~40 invoices a year across them. Average gap of ₹10,000–15,000 per invoice. That's ₹4–6 lakh a year sitting between what you think you earned and what actually landed. For a small agency, that's the difference between a profitable quarter and a flat one.

The decisions that follow are also wrong. You see a client invoicing $4,000/month and assume strong margin, so you keep them at that price for two years. The realized margin is actually thinner than a different client paying $3,500/month who pays in 7 days through Wise. The cheap-looking client is the profitable one. You can't see that from your invoicing tool.

This is the reframe: the FX gap isn't an operational annoyance. It's a margin line that decides which clients are worth keeping and which deserve a repricing conversation.

How can you actually see the FX gap?

The mechanic is simple. For every invoice, record:

  • The foreign-currency amount invoiced (USD, EUR, GBP, AED)

  • The mid-market rate on the invoice date — what you'd have got in a perfect world

  • The realized INR amount that actually landed

  • The realization date — when the money cleared in your Indian account

  • The gap, as both an absolute number and a percentage of the invoiced amount

Roll those up per client per quarter. Now you can answer the question that matters: "What did this client actually pay me last quarter, in rupees, after every cost of getting the money to my bank?"

A spreadsheet can do this. Honestly, it can. One row per invoice, columns for the fields above, a pivot table by client. The reason most service businesses don't run this is the same reason most spreadsheets rot: manual entry. Every invoice means looking up the mid-market rate, waiting for the wire to clear, finding the realized INR on the bank statement, copying it across, calculating the gap. By the third month it's three weeks behind. By the sixth month, no one's updating it.

The alternative is logging it once at source — when the invoice is created, the foreign-currency amount and date are captured automatically, and when the payment is reconciled, the realized INR is matched against the invoice and the gap is computed. No manual rate lookups, no separate spreadsheet to maintain, no rotting.

What to do once you can see it

Three moves, in order of impact.

Reprice clients on weak realization. If a client's realized rupee per dollar is consistently 3% below your other clients — usually because they pay via SWIFT through a bank that takes generous intermediary fees, or because they're slow to pay and you keep catching unfavorable rate moves — that's a pricing conversation, not a banking problem. Adjust the contract rate up by a couple of percent at renewal, or move them to Wise.

Quote in the right currency. If your costs are in INR and the rupee is weakening against the dollar, you benefit from USD contracts. If it's strengthening, USD contracts hurt. EUR and GBP move differently from USD against the rupee — diversifying which currency you invoice in can smooth realized revenue. Most service businesses don't think about this because they default to whatever currency the first client suggested.

Use the realistic rate, not the optimistic one, when quoting. When a new client asks for a rate in USD, calculate backward from your INR cost using a conservative exchange rate — say, 3% below the current mid-market — to absorb the gap. If you cost a project at ₹95/USD when the actual realized rate is ₹92.5, you've quoted yourself into a thinner margin than you intended.


Some teams track this in a spreadsheet. Others use tools like tickbit, which logs every invoice in its billing currency against the mid-market rate at invoice date and the INR team cost behind the work — so the gap shows up as a margin number per client and per project.

The cross-currency margin report inside tickbit pairs each USD, EUR, GBP, or AED invoice against your team cost in INR. Free to start at tickbit.in.

Written by Team tickbit

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.

Try Tickbit free

14-day Pro trial, no credit card required. Every bit counts.

Start Free