logo

RBI Purpose Codes for International Payments

Every payment coming into or going out of India needs the right RBI purpose code. Search the full list below to find the code that matches your transaction, and when to use it.
P0103 Purpose CodeP0802 Purpose CodeP1006 Purpose CodeP0102 Purpose CodeP1007 Purpose Code

What is an RBI Purpose Code?

An RBI purpose code is a short alphanumeric label that tells your bank and the RBI why money is moving into or out of India. Each code is a single letter followed by four digits. The letter shows the payment's direction, and the digits pin down its exact purpose. Here's how one breaks down:
P

Direction
(P = money into India, S = money out)

0802

Purpose
(What the payment is for, e.g. software services)

Types of Purpose Codes

RBI purpose codes are split by the direction of the payment. Every code falls into one of two groups, depending on whether money is entering or leaving India.
01P-codes (inward)
These apply to money coming into India. Any foreign payment you receive uses a P-code, whether it's an export payment from an overseas client, a software services invoice, consultancy fees, or a small-value freelance receipt. For most Indian exporters and freelancers, P-codes are the ones that matter day to day, since they cover the money landing in your account.
02S-codes (outward)
These apply to money leaving India. You'll come across an S-code when you pay an overseas supplier, settle a foreign software subscription, send money for imports, or remit funds abroad for services. They classify the reason your business is sending money out of the country.
There are hundreds of codes in total, but most Indian businesses and freelancers only ever deal with a handful, usually the ones tied to software and professional services.
RBI purpose codes shown as labelled 3D tiles

The Complete RBI Purpose Code List

We've compiled every RBI purpose code, each with its exact usage, category, and examples. Sort by direction and type using the filters on the right, or use the search at the top to jump straight to your code.

IT, Software & Telecom Services

P0801
Hardware consultancy
P0802
Software consultancy and implementation
P0803
Database and data processing charges
P0804
Repair and maintenance of computer and software
P0805
News agency services
P0806
Other information services and subscriptions
P0807
Off-site software exports
P0808
Telecommunication services including email and voice mail
P0809
Satellite services including space shuttle and rockets

Why are Purpose Codes required?

Purpose codes exist so every cross-border payment can be tracked, reported, and regulated correctly. They serve a few key functions.
01Regulatory complianceThe RBI needs to know the reason behind every rupee entering or leaving India. The purpose code is how it monitors that money moves legally under FEMA, the Foreign Exchange Management Act.
02Balance of payments trackingThe RBI adds up these codes to see how much money flows in versus out of the country. That total, called the balance of payments, shows how healthy India's economy and forex reserves are.
03Correct documentationEach code maps to the paperwork that payment needs, like your FIRA and invoice. Declaring the right one keeps your GST filing, refunds, and export records clean and audit-ready.
04Smooth processingBefore releasing your money, banks check that the code matches your documents. A correct code clears quickly, while a wrong one risks holds, queries, or a returned payment.
Getting the code right keeps your payment compliant, properly documented, and quick to settle.

What happens if you use the wrong Purpose Code?

A wrong purpose code changes how your payment is reported and processed. That single mismatch can trigger any of the problems below.
Payment delaysThe bank stops to verify a code that doesn't match your invoice, so your credit gets held up.
Compliance issuesYour payment is filed to the RBI under the wrong category, misstating your forex records under FEMA.
Documentation mismatchesThe code stops matching your FIRA and invoice, so your GST and export proofs no longer agree.
Rejected paymentsAn invalid or mismatched code can make the bank return the payment, costing you time and repeat fees.
Manual reworkFixing a wrong code means raising a request and going back and forth with your bank for days.
Picking the correct code upfront saves you the delays, the paperwork, and the compliance risk.

How to select the correct Purpose Code?

Picking the right code comes down to three checks. Work through them in order and you'll land on yours.
Step 1
Identify the directionStart with which way the money moves. Payments coming into India use a P-code, while payments leaving India use an S-code.
Step 2
Match the nature of the transactionPin down what the payment is actually for, like software, consultancy, or advertising, and find the broad category that fits it.
Step 3
Confirm the exact codeSearch the directory within that category and pick the specific code, like P0802 for software consultancy, that matches your invoice.

How and Where to Declare the RBI Purpose Code?

The purpose code is declared at the point your foreign payment is processed. In practice, it shows up in a few places.

Where it's declared

01On the inward remittance formWhen a payment lands, your bank asks you to declare the purpose, and the code is recorded against the transaction.
02With supporting documentsYour invoice and FIRA must carry the same details the code maps to, so your paperwork stays consistent and clean.
03In your bank or platform dashboardOn a payment platform, the code is captured within the payment flow itself, so there's no separate form to chase.

Who handles it

BankYou declare it
With a traditional bank you usually declare the code yourself on each remittance, often by responding to the bank's request before funds are released.
PlatformsCaptured in-flow
With a platform built for cross-border payments, the code is captured inside the payment flow, so you're not chasing a separate form each time.
With Skydo, the right purpose code is applied to every payment automatically.

Best practices for using RBI Purpose Codes

A few simple habits keep your payments clean, compliant, and quick to settle.
Know your go-to codeMost businesses use the same one or two codes. Confirm yours once and reuse it.
Match code to invoiceMake sure the code reflects what your invoice describes, so documentation lines up.
Keep your FIRA on fileStore the FIRA for every payment — it ties back to the code during audits and GST.
Recheck when work changesWhenever you land on a new type of project, confirm whether it needs a different code before invoicing.
Use a platform that captures itA cross-border platform records the right code automatically, removing guesswork.
Handle the code correctly and it stops being something you chase.

Simplify Cross-Border Payments for Indian Businesses with Skydo

Getting paid from abroad means dealing with purpose codes, FIRA, and FEMA reporting. Skydo takes care of all of it, so you don't have to.
The right code, captured for youSkydo records the correct purpose code as part of your payment, so there's no form to fill or bank to chase.
Instant, free FIRA on every paymentYour remittance proof is generated and stored automatically on each payment, ready whenever you need it.
Zero FX markup, flat feesYou get paid at the live mid-market rate with a flat fee, so you keep more of every invoice instead of losing it to markup.
Settled in 24 hoursYour foreign payment reaches your Indian bank within a day, fully reported and compliant, with nothing left for you to file.
200K+Payments processed annually
50K+Businesses trust Skydo
4.8+Average rating
Licensed by RBI under the PA-CB framework

Frequently Asked Questions

What is an RBI purpose code?An RBI purpose code is a 5-character alphanumeric code that classifies the reason behind a payment moving into or out of India. Set by the Reserve Bank of India under FEMA, it tells your bank and the RBI what a foreign transaction is for, so it's reported correctly. Inward payments use a P-code, outward payments use an S-code.
What is the purpose code for freelancers receiving small payments?Freelancers use the code that matches the nature of their work, most often a software or consultancy code like P0802 for service exports. The size of the payment doesn't change it, what matters is what the work actually was. Search the directory above to find the code that fits your service.
Who decides the purpose code, me or my bank?The code reflects the true nature of your transaction, so declaring it correctly is your responsibility. With a traditional bank you usually confirm it on each remittance before funds are released. With a cross-border platform like Skydo, the correct code is captured in the payment flow, so it's handled for you.
Is a purpose code the same as a FIRA?No. A purpose code classifies why a payment was made, while a FIRA (Foreign Inward Remittance Advice) is the document proving the payment was received. They work together, the code is recorded against the transaction, and the FIRA carries the details that back it up for audits and GST.
Do I need a purpose code for every international payment?Yes. Every payment moving into or out of India must carry a purpose code for FEMA reporting, whatever the amount. The code makes sure the transaction is classified, documented, and cleared correctly. A payment platform records it automatically, so you don't have to declare it manually each time.

Receive your next payment, fully compliant.

5-minute demo. Same-day setup. No contract.