Every time money enters your Indian bank account from abroad, your bank records a five-character code alongside it. This code is called the RBI purpose code. You have probably never heard of it. Yet it determines whether your income is classified as professional services, or something else entirely.
Let's understand what it is and why it matters.
What is an RBI purpose code?
An RBI purpose code is a classification system maintained by the Reserve Bank of India to categorise international money flows. It tells the RBI and, by extension, the tax department: what is this money for?
Inward codes (money coming into India) start with P. Outward codes (money leaving India) start with S. Each is followed by four digits.
When your US client sends you $5,000 for a web development project, your bank doesn't just record "$5,000 received." It records "$5,000 received for software consultancy and implementation" using the purpose code P0802.
This code is printed on your FIRA (Foreign Inward Remittance Advice). It becomes part of your permanent record for that payment.
Why do RBI purpose codes matter?
FEMA Compliance
The Foreign Exchange Management Act requires every cross-border payment to be classified before the bank releases the credit. Purpose codes are how that classification happens. A missing or unclear code means a query to you and a delay.
Classification of Income
P0802 reads as professional income from a software service. A generic or wrong code raises the question of what the money actually was. Correct coding means fewer questions.
Audit Trail
In any review, three things get compared: your invoice description, the purpose code on the FIRA, and what you declared in your ITR. When they agree, there is nothing to ask. When the invoice says "software development" and the FIRA says something unrelated, someone has to explain the gap.
Most common RBI purpose codes for freelancers
P0802: Software consultancy and implementation
- For: freelance software developers, web developers, app developers, technical implementation (services not covered under a SOFTEX form)
- Real example: you build a website for a US company. Code: P0802.
- Classification: professional income from software services.
P1006: Business and management consultancy, public relations
- For: strategy consulting, management advice, business planning, BPO, and KPO work
- Real example: you advise a company on scaling operations. Code: P1006.
- Classification: professional services.
P1007: Advertising, market research and public opinion polling
- For: digital marketers, ad management, SEO, content marketing, market research
- Real example: you run Google Ads for a US brand on a monthly retainer. Code: P1007.
- Classification: business services.
P1009: Architectural, engineering and other technical services
- For: architects, structural and CAD designers, engineering design
- Real example: you produce CAD drawings for a product. Code: P1009.
- Classification: professional services.
P1004: Legal services
- For: legal research, paralegal work, contract drafting for foreign clients
- Real example: you draft commercial contracts for a UK startup. Code: P1004.
P1005: Accounting, auditing, bookkeeping and tax consulting
- For: bookkeeping, accounting support, tax work for foreign clients
- Real example: you maintain books for a Singapore company. Code: P1005.
P0803: Data processing and database services
- For: data processing, data entry, database management
- Real example: you clean and structure datasets for a US analytics firm. Code: P0803.
Extended RBI purpose codes list
| Code | RBI Description | Freelancer Use |
|---|---|---|
| P0807 | Off-site software exports | Software exports declared through SOFTEX (STPI or SEZ units). Most freelancers are P0802, not P0807 |
| P1008 | Research and development services | Research contracts, R&D work |
| P1002 | Trade related services, commission on exports and imports | Agents and intermediaries earning commission |
| P1011 | Other business services not covered elsewhere | The catch-all when nothing above fits |
A few professions do not have a code with their name on it. Content writers usually land under P1007 if the writing is marketing content, or P1011 otherwise. UI/UX designers are commonly coded P0802 when the design is part of a software deliverable, or P1009 for standalone technical design. When in doubt, describe the work to your bank in plain terms and let them match it to the list.
How to select the right RBI purpose code
The correct code depends on what work you actually did on that invoice, not your job title.
- Web Developer. Your invoice says: "Website design and development for e-commerce platform." Correct code: P0802.
- Business Consultant. Your invoice says: "Strategic advisory on market entry." Correct code: P1006.
- Digital Marketer. Your invoice says: "Paid media management and SEO, monthly retainer." Correct code: P1007.
- UI/UX Designer. Your invoice says: "Mobile app UI/UX design." Correct code: P0802 if it is part of the software build, or P1009 for standalone design. Ask your bank which they apply.
- The one-off. A software studio does a market research study for a client. That receipt is P1007, even though everything else they do is P0802.
P0802 vs P0807: The one that catches software exporters
P0802 is for software services not reported through a SOFTEX form. P0807 is for software exports that are declared through SOFTEX, which applies to units registered with STPI or located in an SEZ. If you are an individual freelancer or a small studio with no SOFTEX filing, you are P0802. Using P0807 without a SOFTEX declaration to match creates an open item the bank will eventually ask about.
How banks select your purpose code
With a traditional SWIFT transfer, your bank might ask you for the purpose code. You tell them P0802, and they record it on the FIRA.
If nobody tells the bank anything, it may infer a code from the sender's payment message, or default to a generic one like P1011. That default is where most mismatches come from. It is still valid, but less specific, and specific codes read better in any review.
With a payment platform like DashX, the code is set once when you describe your service during onboarding and then applied to every payment. That consistency is the point.
How purpose codes appear in your FIRA
When you download your FIRA, it looks something like this:
Foreign Inward Remittance Advice Remitter Name: ABC Solutions Inc., USA Amount: USD 5,000 INR Equivalent: ₹4,50,000 Purpose Code: P0802 Purpose Description: Software consultancy and implementation Bank: HDFC Bank Date: 15-Jan-2026
The purpose code is recorded permanently. This becomes your official record for that payment.
RBI purpose code and GST registration
When you register for GST and file an LUT (Letter of Undertaking) for zero-rated exports, you must show that your services were exported to foreign clients.
Your FIRA purpose code is part of that evidence. If it says P0802 (software) or P1006 (consultancy), it supports the position that you are exporting services. Without proper purpose codes, you may have to provide additional invoices and contracts to make the same case.
Common mistakes with purpose codes
- Letting the bank default to P1011 for everything. P1011 (other business services) is valid but generic. Specific codes (P0802, P1006, P1007) are better.
- Mismatching code and invoice description. Invoice says "IT consulting" but the code says "business consultancy." This creates a question that did not need to exist.
- Not knowing your purpose code. Many freelancers have no idea what code their bank assigned. Check one FIRA today.
- Changing purpose codes for the same work. If your work is consistent, use the same code for all payments. Switching codes for the same type of work raises questions.
Takeaway: match your RBI purpose code to your work
Before receiving international payments, know your purpose code:
- Web developer? P0802
- Business consultant? P1006
- Digital marketer? P1007
- Architect or engineering designer? P1009
- Designer? Ask, because it depends on the deliverable
When setting up with a payment platform like DashX, describe your service accurately upfront. The right code will be embedded in every FIRA you receive, so your invoices and your FIRAs always say the same thing.
Purpose codes are simple once you understand them. Get it right, and your FIRA becomes stronger documentation.
How DashX handles RBI purpose codes
DashX assigns the correct RBI purpose code automatically based on the nature of the service you describe, and applies it consistently to every payment, whether your client pays by bank transfer or in USDC or USDT. The code appears on the FIRA issued through our AD Category I bank partners (JP Morgan and HDFC) via PA-CB licensed partners. DashX doesn't give tax or legal advice. If you are unsure which code fits your work, your CA is the right person to ask.
Avoid purpose code headaches. Sign up for DashX and your invoices and FIRAs will always match.
For the bank-issued proof behind a purpose code, see our FIRA guide and FEMA guide for freelancers.


