Key takeaways
- Forex gains and losses arise at three moments, invoice date, month end revaluation, and settlement, and you must record each cleanly in your books.
- Use one consistent exchange rate source, document it in every narration, and keep e-FIRA, bank advice, and statements attached for audit trails.
- Unrealized differences at month end are reversed on settlement, the net leftover becomes your realized gain or loss, fees are recorded separately in Bank Charges.
- Follow simple journal templates and checklists to stay compliant with AS 11 or Ind AS 21, FEMA, and income tax rules, and use copy paste journal entry templates to speed up your close.
- Never net fees into forex loss, keep Bank Charges or Remittance Fees separate so your revenue and FX differences stay clean.
When do forex gains and losses arise?
If you invoice in USD, EUR, or GBP while maintaining books in INR, rate movements between invoice date and settlement create exchange differences. Understanding the three stages is crucial.
Initial recognition: You raise an invoice for USD 1,000 at INR 83 per dollar, you book ₹83,000 as revenue and receivable. No gain or loss yet, you simply translate to your functional currency.
Month end revaluation: If unpaid at month end and the rate moves to INR 83.50, the receivable is worth ₹83,500. The ₹500 difference is an unrealized forex gain that goes to your P&L under AS 11 or Ind AS 21.
Settlement: When funds convert and hit your bank, say at INR 84, you post the realized difference, reverse any earlier unrealized entry, and record fees separately.
Why it matters: Forex gains can show up in months when cash does not move, because accounting requires you to revalue open foreign currency items at the closing rate.
Key concepts, a quick glossary
- Functional currency: INR for most Indian freelancers, it is your primary economic environment.
- Spot rate or transaction rate: The exchange rate on the date of the transaction, use a credible, consistent source and note it.
- Closing rate: The rate at period end, used for revaluation of open balances.
- Unrealized versus realized: Paper difference at month end versus permanent difference on settlement, both hit P&L unless your tax method dictates adjustments in computation.
Accounts impacted by forex transactions
- Accounts Receivable: INR value of unpaid foreign currency invoices.
- Accounts Payable: INR value of amounts owed to overseas vendors.
- Bank or Wallet (foreign currency): USD, EUR, GBP balances in virtual accounts, revalue monthly until converted.
- Forex Gain and Forex Loss: Separate P&L lines for clarity and compliance.
- Bank Charges or Remittance Fees: Operating expenses, not forex differences.
Essential journal entry patterns
Pattern 1, recording the initial invoice
Convert the foreign amount at the spot rate, recognize revenue, no gain or loss yet.
Example, USD 1,000 at INR 83/USD on 15 Jan 2026.
Accounts Receivable Dr 83,000
To Export Sales 83,000
(Invoice #1234 for USD 1,000 at INR 83/USD on 15-Jan-2026)
Pattern 2, month end revaluation, unrealized gain or loss
Closing rate INR 83.50/USD, receivable revalued to ₹83,500, gain ₹500.
Accounts Receivable Dr 500
To Forex Gain 500
(Month-end revaluation at INR 83.50/USD on 31-Jan-2026; source RBI reference rate)
If rate fell to INR 82.50/USD, loss ₹500.
Forex Loss Dr 500
To Accounts Receivable 500
(Month-end revaluation at INR 82.50/USD on 31-Jan-2026)
Pattern 3, settlement, realized gain or loss
Settlement at INR 84/USD, platform fee 1% = ₹840, net credit ₹83,160.
Bank Dr 83,160
Forex Gain Dr 500 (reverse unrealized)
Bank Charges Dr 840
To Accounts Receivable 83,500
To Forex Gain 340 (net realized gain)
(Settlement of invoice #1234; e-FIRA #XYZ; rate INR 84/USD on 10-Feb-2026)
Tip: Always reverse the prior unrealized entry before posting the realized difference, this prevents double counting.
Step by step month end process, checklist
- Step 1: List all open foreign currency receivables, payables, and bank or wallet balances.
- Step 2: Pull the closing rate for the last day, choose RBI reference or a credible mid market source, note it.
- Step 3: Compute the adjustment, new INR value minus current book value.
- Step 4: Post gain or loss using the patterns above.
- Step 5: Document rate, source, calculations, and keep a simple audit trail.
Repeat monthly, it takes minutes once your template is ready.
Settlement day process, checklist
- Step 1: Confirm the exact INR credited or debited and match the e-FIRA.
- Step 2: Reverse any prior unrealized adjustment.
- Step 3: Post the realized forex difference to Forex Gain or Forex Loss.
- Step 4: Record Bank Charges or gateway fees separately.
- Step 5: Attach invoice, e-FIRA, and bank statement to the entry for FEMA compliance.
Special cases for freelancers
Advance payments from clients
Treat advances as a liability, revalue the liability at month end, and when you earn the revenue, clear the liability and post any remaining forex difference to Forex Gain or Forex Loss.
Partial payments and chargebacks
For installments, clear receivables pro rata, revalue the remainder at month end, and post settlement entries for each tranche. For chargebacks, reverse revenue and receivable, then post the forex effect based on the chargeback rate versus the original rate.
Holding foreign currency, forex hedging
If you hold USD, EUR, or GBP in a virtual account, revalue monthly until conversion. For example, hold USD 1,000 in a virtual USD account with Karbon Business, revalue at each month end, then reverse cumulative unrealized amounts and book the realized difference at conversion.
Remittance and payment gateway fees
Fees from Wise, PayPal, RazorpayX, or your remittance provider are operating expenses. Record them in Bank Charges, never net them into forex differences.
Bank Dr 82,160
Bank Charges Dr 840
To Accounts Receivable 83,000
(Settlement net of 1% fee; no forex difference in this simplified example)
Worked numeric examples with full journal entries
Example A, invoice with unrealized gain and realized gain
Invoice USD 1,000 at INR 83, month end INR 83.50, settlement INR 84, fee 1%.
Accounts Receivable Dr 83,000
To Export Sales 83,000
(Invoice #1234 for design services; USD 1,000 at INR 83/USD)
Accounts Receivable Dr 500
To Forex Gain 500
(Unrealized gain at INR 83.50/USD; RBI reference rate 31-Jan-2026)
Bank Dr 83,160
Bank Charges Dr 840
Forex Gain Dr 500 (reverse January unrealized)
To Accounts Receivable 83,500
To Forex Gain 340 (net realized gain)
(Settlement via e-FIRA #ABC123; rate INR 84/USD on 10-Feb-2026)
Total forex gain before fees is ₹1,000 from spot to settlement, split into ₹500 unrealized in January, reversed in February, and ₹340 net realized in February after aligning the receivable to month end value.
Example B, payable with forex loss on settlement
Payable GBP 500 at INR 100, month end INR 101, settlement INR 102, SWIFT fee ₹300.
Design Expense Dr 50,000
To Accounts Payable 50,000
(Invoice from UK designer; GBP 500 at INR 100/GBP)
Forex Loss Dr 500
To Accounts Payable 500
(Unrealized loss at INR 101/GBP on 31-Jan-2026)
Accounts Payable Dr 50,500
Forex Loss Dr 500 (additional realized loss)
Bank Charges Dr 300
To Bank 51,300
(Payment at INR 102/GBP; SWIFT fee ₹300)
Example C, holding USD in a virtual account
Hold USD 1,000, convert later.
Bank USD Account Dr 82,800
To Bank INR 82,800
(Converted INR to USD 1,000 at INR 82.80/USD)
Bank USD Account Dr 700
To Forex Gain 700
(Revaluation at INR 83.50/USD; unrealized gain)
Bank USD Account Dr 500
To Forex Gain 500
(Revaluation at INR 84/USD; unrealized gain)
Bank INR Dr 84,200
Forex Gain Dr 1,200 (reverse cumulative unrealized)
To Bank USD Account 83,500
To Forex Gain 900 (net realized gain)
(Conversion at INR 84.20/USD)
Quick reference cheat sheet
At month end:
- List open foreign currency items, choose and document closing rate.
- Post Accounts Receivable Dr or Forex Loss Dr depending on movement, mirror entries for payables and FX bank balances.
- Keep every narration clear with currency, rate, and date.
On settlement day:
- Reverse unrealized, post realized difference, record fees in Bank Charges.
- Attach invoice, e-FIRA, bank advice, and statement.
Key accounts:
- Receivable or Bank for value changes, Forex Gain or Forex Loss for rate effects, Bank Charges for fees.
Common mistakes and how to fix them
- Inconsistent exchange rates: Pick one credible source and stick to it, write it in your policy note.
- Skipping revaluation: Revalue all monetary items every month, it keeps balances accurate.
- Double counting: Reverse unrealized before posting realized, always.
- Netting fees into forex loss: Record fees separately so revenue and FX differences remain clean.
- Missing e-FIRA: File the certificate with each settlement entry to satisfy FEMA and audit checks.
Tax and compliance notes, practical guidance
Accrual versus cash: Accrual books recognize unrealized differences monthly, cash books may focus on realized differences, but keep proper entries and let tax adjustments happen in computation.
GST on exports: Forex differences are not part of the taxable value of zero rated export services, your GST position does not change due to FX movement.
e-FIRA and record keeping: Keep e-FIRA, statements, invoices, and rate documentation for at least seven years, and reference e-FIRA numbers in your journal narrations.
Tools that simplify forex accounting for Indian freelancers
Karbon Business provides virtual USD, GBP, EUR, and CAD accounts for Indian freelancers, clients pay via ACH or SEPA, you can hold foreign currency for up to 60 days, convert at mid market rates with zero FX markup, receive INR in 24 to 48 hours, and get auto e-FIRA within 24 hours. Clear rate visibility and predictable 1% fees make your entries accurate and fast.
Wise Business, Payoneer, PayPal, and RazorpayX International are other options that offer multi currency accounts and cross border collection features, compare fees, supported currencies, settlement speed, and documentation.
Practical templates, copy paste journal entry snippets
Use these ready formats in Tally, Zoho Books, QuickBooks, or Excel, and grab the full set of copy paste journal entry templates when you need more variations.
Month end unrealized forex gain entry
Accounts Receivable Dr [Amount in INR]
To Forex Gain [Amount in INR]
(Revaluation of [Foreign Currency] [Amount] at closing rate [Rate] on [Date]; source: RBI reference rate)
Month end unrealized forex loss entry
Forex Loss Dr [Amount in INR]
To Accounts Receivable [Amount in INR]
(Revaluation of [Foreign Currency] [Amount] at closing rate [Rate] on [Date]; source: RBI reference rate)
Settlement with realized forex gain, receivables
Bank Dr [Net INR received]
Forex Gain Dr [Unrealized amount to reverse]
Bank Charges Dr [Fee amount]
To Accounts Receivable [Book value before settlement]
To Forex Gain [Net realized gain]
(Settlement of invoice #[Number]; e-FIRA #[Number]; [Foreign Currency] [Amount] at [Rate] on [Date])
Settlement with realized forex loss, receivables
Bank Dr [Net INR received]
Forex Loss Dr [Net realized loss]
Bank Charges Dr [Fee amount]
To Accounts Receivable [Book value before settlement]
To Forex Gain [Unrealized amount to reverse, if positive]
(Settlement of invoice #[Number]; e-FIRA #[Number]; [Foreign Currency] [Amount] at [Rate] on [Date])
Revaluation of foreign currency bank balance, gain
Bank [Foreign Currency Account] Dr [Amount in INR]
To Forex Gain [Amount in INR]
(Revaluation of [Foreign Currency] [Balance] at closing rate [Rate] on [Date]; source: [Rate Source])
Wrapping up
Forex gains and losses are a normal part of cross border work. Understand the three moments, apply consistent rates, revalue monthly, reverse unrealized on settlement, keep fees separate, and attach e-FIRAs. With checklists and templates, the process becomes a five minute routine that keeps you compliant and audit ready.
Download month end checklists and journal entry templates, and consider using Karbon Business for transparent rates, quick e-FIRA, and smoother reconciliations.
Disclaimer: Educational content only, not financial, tax, or legal advice. Confirm your approach with a qualified CA, especially for rate selection, unrealized treatment under your tax method, and current RBI or FEMA requirements.
FAQ
Which exchange rate should I use for invoices and month end revaluation?
Pick one credible source and stick to it, for example the RBI reference rate or your bank’s TT buying rate. Use the spot rate on the invoice date for initial recognition, then use the closing rate on the last day of the month for revaluation. Document the source and date in your journal narration, and attach a screenshot if possible.
Do unrealized forex gains increase my tax if I file under Section 44ADA?
If you maintain accrual books, unrealized gains do flow into your P&L. Under 44ADA, tax is computed on a presumptive percentage of gross receipts, so your CA may adjust unrealized amounts in tax computation. Keep the accounting entries intact for audit, then align tax treatment separately.
How do I account for partial payments from a client in USD?
Clear Accounts Receivable pro rata with each installment, revalue the remaining open balance at month end, then post realized gain or loss for each settlement based on the actual INR received versus the INR book value for that portion. Example, for a USD 1,000 invoice at ₹83,000, if you receive USD 600 first, clear ₹49,800, revalue the remaining ₹33,200 at month end, then settle the rest later.
Are platform fees like PayPal or Wise part of forex loss?
No, fees are operating expenses. Record them in Bank Charges or Remittance Fees, separate from Forex Gain or Forex Loss. This keeps revenue gross for GST and makes your FX difference a pure exchange effect. Refer to Bank Charges examples to post clean entries.
What is e-FIRA and why is it important for freelancers in India?
e-FIRA is the Electronic Foreign Inward Remittance Advice issued by the Authorized Dealer bank, it confirms the foreign currency amount, the INR credited, the rate, and the purpose code. It is essential for FEMA compliance, export documentation, and audits. Platforms like Karbon Business auto generate e-FIRA within 24 hours so you can attach it to your settlement entry immediately.
I hold USD in a virtual account, how do I handle month end revaluation?
Treat the foreign currency balance as a monetary item. At each month end, revalue it at the closing rate and post the difference to Forex Gain or Forex Loss. When you finally convert to INR, reverse the cumulative unrealized entries and post the realized difference based on the conversion rate. If you hold balances with Karbon Business, the dashboard shows both foreign and INR equivalents to help you post quickly.
I keep books on a cash basis, do I still need month end revaluation?
Cash basis books often recognize income and expense only on receipt or payment, so many freelancers skip unrealized entries. However, for clarity and future scalability, you can still track revaluation in a memo or off ledger report. Discuss with your CA, then apply one policy consistently and document it.
What is the journal entry for forex gain or loss in Tally when I receive an Upwork payment?
Debit Bank with net INR received, debit Forex Gain or credit Forex Loss to reverse prior unrealized if any, debit Bank Charges for the platform fee, credit Accounts Receivable for the book value, and credit Forex Gain or debit Forex Loss for the net realized difference. Attach the e-FIRA and bank advice for that transaction.
How do I record client advances received in USD?
On receipt, record a liability at the spot rate, for example Advances from Customers. Revalue the liability at month end, book gain or loss accordingly. When you deliver the work, transfer the liability to revenue, and post any remaining forex difference to Forex Gain or Forex Loss. Keep the e-FIRA with the advance entry.
A client raised a chargeback after I booked revenue, how do I handle it?
Reverse the revenue and receivable for the disputed amount. If the chargeback date has a different rate than the invoice date, compute the forex difference between those rates and post it to Forex Gain or Forex Loss. Record any additional chargeback fees in Bank Charges, and attach bank correspondence.
If a platform deducts its fee in USD before converting to INR, how do I book it?
Split the settlement into two parts, first, treat the USD fee as an expense translated at the settlement rate and post it to Bank Charges, second, translate the net USD remittance at the applied rate and clear Accounts Receivable. The realized forex difference is computed on the gross invoice amount versus the INR equivalent of the remitted USD, not net of fees.
How does Karbon Business make forex accounting easier for freelancers?
Karbon Business offers virtual foreign currency accounts with mid market rates and zero FX markup, flat 1% fee, fast INR settlement, and auto e-FIRA. This means your exchange rate is transparent, fees are predictable, and documents arrive quickly, making it straightforward to post initial entries, month end revaluations, and settlement entries without guesswork.




