Getting paid in foreign currency as a software developer in India

📆 · ⏳ 8 min read · ·

Introduction

As the world becomes increasingly remote-first, more Indian software developers are finding opportunities to work with clients and companies based outside India. While this opens up exciting possibilities for career growth and better compensation, it also comes with its own set of challenges - particularly around receiving payments and staying compliant with Indian regulations.

After spending considerable time researching this topic, going through countless blogs, Reddit threads, and discussions with fellow developers and professionals, I realized there wasn’t a comprehensive guide that addressed all aspects of receiving foreign income as an Indian developer. This blog post aims to fill that gap.

💡

Disclaimer

This article is based on my personal research and experience. While I strive to provide accurate information, I am not a Chartered Accountant (CA) or tax expert.

Tax laws and regulations can change, and individual situations may vary. Please consult with a qualified CA or tax professional for advice specific to your situation.

Receiving Payments from Foreign Clients

One of the first challenges you’ll face is deciding how to receive payments from foreign clients. The reason why this is a challenge and tricky thing to do is because you are dealing with foreign currency and at the end of the day, you need to convert that foreign currency to Indian Rupees.

If you are doing this less frequently then maybe you don’t need to worry much about this, but if you are going to be receiving payments from foreign clients on a regular basis then you need to find a way to optimize this process as much as possible.

The reason is simple, a small difference in currency exchange rates, transaction fees, bank charges and processing fees and time can add up to a significant amount of money over time (as much as 4-5% of the total amount which can be a lot depending on your volume of transactions).

With that being said, let’s look at the options available to you.

1. Direct Wire Transfer (with SWIFT code)

The traditional method of receiving foreign payments directly to your bank account. How this process works is that you will open a current account in your name which has global trade account setup.

Once that is done, you will be provided with the account number and the SWIFT code of the bank. You can then use this information to receive payments from your foreign clients.

Pros:

  • No intermediary fees
  • Direct deposit to your bank
  • Transparent process

Cons:

  • High transfer fees (both sender and receiver)
  • Poor exchange rates
  • Longer processing time
  • Complex documentation requirements
💡

Pro Tip

To find what exchange rate you will be getting from different banks, search for “TT buying rate bank-name” on Google. Each bank releases their daily exchange rates on their website. Check the rates for your foreign currency and see how much less than the market rate you will be getting.

Now, coming back to the reality, what you can do instead is you can go to the bank, talk to the manager (or any representative who handles the foreign income transactions) and ask them for a better rate. Based on the volume of the transaction you plan to do, they might give you a better rate.

So if you are planning to do it via this way, then I would highly recommend that you talk and get the best rate possible. You can even get 15-20 paise less than the current market rate if you are doing a large volume of transactions. To compare this with standard market rate, you might be getting 1-1.5 rupees less than the market rate which is awfully low by default.

2. Skydo

A relatively new player in the market, Skydo is designed for Indian freelancers and agencies receiving foreign payments.

Few things that I found quite interesting about them is firstly they give you the live FX rates (which means that what you see is what you get) and their pricing model is very simple with a flat fee based on the amount of money you are receiving which makes it very transparent and easy to understand.

Pros:

  • Competitive exchange rates
  • Lower fees compared to traditional banks
  • Designed specifically for Indian businesses
  • Quick setup and easy documentation
  • Direct integration with accounting software
  • Excellent customer support (I can vouch for this personally)

Cons:

  • Limited to specific countries
  • Relatively new service

The flow will look like this:

  • You will be provided with a virtual bank account number depending on the currency and country you are receiving the payment from.

    For example, if you are receiving the payment from the USA, you will be provided with a USA bank account number, ACH / Fedwire details etc.

  • Transfer the money to your Skydo account using those details.

  • Link your Indian bank account to your Skydo account by providing the account number and IFSC code.

  • Once you receive the payment, you will be able to see the amount in your Skydo dashboard which will get converted and transferred to your Indian bank account.

3. Wise (Formerly TransferWise)

A popular modern solution for international transfers. This was probably the first one that comes into mind when you think about receiving payments from foreign clients.

Pros:

  • Better exchange rates than banks
  • Lower fees
  • Transparent pricing
  • Multiple currency support

Cons:

  • May require additional documentation
  • Some banks may have issues with Wise transfers
  • Not all countries supported
  • Recently their sign up process has become quite of a hassle for indian users and hence I have not been able to test it out myself.

4. PayPal

While popular globally, PayPal might not be the best option for Indian recipients for larger amounts but it is still a good option to consider for smaller and infrequent transactions.

Pros:

  • Widely accepted
  • Easy to set up
  • Good for small amounts

Cons:

  • High fees (from my personal experience its the worst, even compared to the direct wire transfer)
  • Poor exchange rates
  • Funds can be held without notice
  • Withdrawal to Indian banks can be slow

Understanding Tax Implications

Section 44ADA: A Blessing for Professionals

If your gross receipts are under ₹75 lakhs per year, Section 44ADA of the Income Tax Act can be particularly beneficial.

Key points about 44ADA:

  1. Presumptive Taxation:

    • 50% of your gross receipts are considered as profit
    • Remaining 50% is assumed as business expenses
    • No need to maintain detailed books of accounts
  2. Eligibility:

    • Applicable to professionals (including software developers)
    • Gross receipts should not exceed ₹75 lakhs in a financial year (provided 95% of the income is via online mode and not cash)
    • Only available to individuals and partnership firms (not companies)
  3. Benefits:

    • Simplified tax filing
    • No need for audit
    • Can still claim actual expenses if they’re lower than 50%

Beyond ₹75 Lakhs: Regular Taxation

If your income exceeds ₹75 lakhs, you’ll need to:

  1. Maintain Books of Accounts:

    • Regular books of accounts required
    • Need professional help (CA) for maintenance
    • Annual audit mandatory
  2. Actual Expense Deduction:

    • Can claim actual business expenses
    • Need to maintain proper documentation
    • Common deductible expenses include:
      • Home office expenses
      • Internet and phone bills
      • Computer equipment and software
      • Professional development courses
      • Travel expenses (if applicable)

One important thing to note here is that you need to make sure whatever platform you use, it is compliant with the Indian regulations and laws and also that you are receiving FIRA/FIRC document from the bank for each of your transactions.

This document is required by the Indian government to prove that the money you are receiving is from a foreign source and not from an Indian source and will be very much needed when you file your taxes and want to claim the foreign income under 44ADA.

PS: With Skydo, you don’t need to worry about this as they will provide you with the FIRA document for each of your transactions.

Enjoying the content? Support my work! 💝

Your support helps me create more high-quality technical content. Check out my support page to find various ways to contribute, including affiliate links for services I personally use and recommend.

GST Registration and Compliance

When to Register for GST

GST registration is mandatory if you’re providing services to foreign clients (considered as export of services) and you are earning more than 20 lakhs in a financial year.

While you will be registering for GST, you need not worry about charging your foreign clients for the GST as it will be zero rated for you. To enable this you will be applying for the LUT (Letter of Undertaking) from the GST portal for every financial year.

Key points about GST:

  1. Registration Requirements:

    • Mandatory regardless of turnover for export services
    • Need to register in the state where you’re based
  2. Documentation Needed:

    • PAN card
    • Aadhaar card
    • Bank account details
    • Address proof
    • Passport size photograph

GST Compliance Requirements

Once registered, you need to:

  1. File Regular Returns:

    • GSTR-1 (monthly/quarterly)
    • GSTR-3B (monthly/quarterly)
    • Annual returns
  2. Maintain Records:

    • Invoices
    • Payment receipts
    • Bank statements
    • Other relevant documents
  3. Zero-rated Supply:

    • Export of services is considered zero-rated
    • No GST charged to foreign clients
    • Can claim input tax credit
💡

Pro Tip

Consider using accounting software that supports GST compliance and can generate GST-compliant invoices. This will save you significant time and reduce errors in compliance.

Best Practices and Tips

  1. Separate Bank Account:

    • Maintain a separate bank account for business transactions
    • Makes accounting and tax filing easier
    • Better tracking of income and expenses
  2. Documentation:

    • Keep all client agreements in writing
    • Maintain proper invoices
    • Document all business expenses
    • Keep foreign inward remittance certificates (FIRC)
  3. Professional Help:

    • Engage a CA for tax planning and compliance
    • Consider using professional accounting software
    • Stay updated with regulatory changes
  4. Currency Management:

    • Consider maintaining a multi-currency account
    • Plan for currency fluctuations
    • Use forward contracts if dealing with large amounts
  5. Regular Compliance:

    • File returns on time
    • Pay advance tax if applicable
    • Keep track of important dates and deadlines

Tools and Resources

Here are some tools and resources that can help you manage your finances better:

  1. Payment Platforms:

  2. Tax Resources:

Conclusion

Working with foreign clients can be rewarding both professionally and financially. While the initial setup and compliance requirements might seem overwhelming, with proper planning and professional help, you can create a smooth system for managing your international income.

Remember to:

  1. Choose the right payment platform
  2. Understand your tax obligations
  3. Stay compliant with GST requirements
  4. Maintain proper documentation
  5. Seek professional help when needed

Have you been working with foreign clients? What challenges have you faced? Share your experiences in the comments below, or reach out to me on Twitter ↗️ / Reddit ↗️.

Happy freelancing! 🚀

You may also like

  • # homelab# personal

    My self hosting journey in 2024

    2024 has been an amazing year for my homelab journey. From upgrading hardware to implementing Infrastructure as Code, and exploring new services, here is a recap of my self-hosting adventures this year.

  • # personal

    2023 Unwrapped

    Looking back a year and talking about how 2023 was for me

  • # homelab# personal

    My self hosting journey in 2023

    In the journey of homelabbing, I have started self hosting some really amazing services that I am using in my day to day life. This blog outlines what all service I am self hosting in my homelab and what I plan to explore in the upcoming year.