An RBI purpose code for inward remittance is a five-character code, one letter followed by four digits, that tells your Authorised Dealer (AD) bank why foreign money has arrived.
Because the Reserve Bank of India (RBI) reads the country's foreign exchange inflows through these codes, every incoming payment is tagged with one before the bank credits your account and reports it.
When the code matches the money, the settlement closes on its own; when it does not, the bank can hold the credit or ask for fresh paperwork.
For a services exporter clearing dozens of client payments a month, that tag is the difference between a clean settlement and a compliance query.
This guide gives you the codes you will actually use, a quick way to choose the right one, and a worked ₹ example.
It also covers how the code connects to your FIRC and export filings, and the fix if you have already used the wrong code.
For the complete master reference, see the full RBI purpose codes list rather than treating this page as the whole schedule.
What an RBI purpose code for inward remittance is
A purpose code classifies the reason for a foreign exchange transaction under the Foreign Exchange Management Act (FEMA), 1999. The RBI requires every inward remittance to be labelled with one before the AD bank credits your account and reports the transaction to the central bank.
Inward codes begin with the letter P (for example, P0802 for software services). Outward payments use S codes.
If you also send money abroad, the equivalents sit in the purpose code for outward remmitance list, and the wider distinction is covered in inward remittance vs outward remittance.
The codes are defined in RBI’s Annexure to the FETERS reporting framework (Foreign Exchange Transactions Electronic Reporting System). Banks keep their own version of the same list for the declaration you complete.
The schedule is periodically revised, so treat the codes here as current as of July 2026 and confirm against the RBI reference for any edge case.
Why the correct code matters
The purpose code is how the RBI reads the country's foreign exchange inflows.
At the transaction level it does three practical jobs for you: it lets the AD bank release the credit without a query, it feeds your export realisation record, and it supports the FIRC you use for GST refunds.
A code that matches the money closes the whole chain behind it on its own. A code that does not match creates manual work, and often a request for documents you then have to dig out.
RBI purpose codes for inward remittance: the list by use
The codes below are the ones most Indian exporters and businesses meet, grouped by the kind of money coming in. This is a working shortlist, not the full schedule, so if your receipt does not fit, check the complete reference.
Export of software, IT and information services (P08 series)
| Code | Use it when the receipt is for |
|---|---|
| P0801 | Hardware consultancy or implementation services |
| P0802 | Software consultancy, development or implementation (the main IT/ITES code) |
| P0803 | Database and data processing charges |
| P0804 | Repair and maintenance of computers and software |
| P0805 | News agency services |
| P0806 | Other information services, including database subscriptions |
P0802 is the one most software and SaaS exporters use. Its full definition sits on the P0802 code page. One nuance worth knowing: RBI’s wording for P0802 reads "software consultancy or implementation, other than those covered in a SOFTEX form."
In practice AD banks apply P0802 to software service receipts and then reconcile the realisation against your SOFTEX form where one is filed. Keep the code and the SOFTEX entry consistent, and check with your bank or accountant on borderline cases.
Export of goods (P01 series)
| Code | Use it when the receipt is for |
|---|---|
| P0101 | Export bills negotiated, purchased or discounted |
| P0102 | Realisation of export bills for goods already shipped |
| P0103 | Advance received against an export of goods order |
| P0104 | Export receipts not covered by a shipping bill (courier or post) |
Other business and professional services (P09 to P10 series)
| Code | Use it when the receipt is for |
|---|---|
| P0902 | Licensing or royalty on the use of intellectual property |
| P1002 | Trade-related commission on exports and imports |
| P1004 | Legal services |
| P1005 | Accounting, auditing and bookkeeping services |
| P1006 | Business and management consultancy, including BPO and KPO |
| P1007 | Advertising, trade fair and market research services |
| P1008 | Research and development services |
| P1009 | Architectural, engineering and other technical services |
Income, transfers and investment
| Code | Use it when the receipt is for |
|---|---|
| P1301 | Family maintenance sent by a non-resident |
| P1302 | Personal gifts and donations |
| P1401 | Salary or employee compensation from a foreign employer |
| P1406 | Repatriation of profit to an Indian entity |
| P1407 | Dividend received from abroad |
| P0006 | Foreign direct investment into Indian equity |
| P0009 | Foreign portfolio investment into Indian equity |
| P1501 | Refunds and rebates on imports |
| P1590 | Other receipts below USD 10,000 with no specific code |
The full schedule runs to well over a hundred codes across shipping, travel, insurance and diplomatic receipts. When your case is not in the shortlist above, use the complete RBI reference rather than guessing at a near match.
Freelancers below the GST threshold meet a slightly narrower set, covered in purpose code for freelancers.
How to pick the right purpose code
Work down four questions in order and the code usually picks itself.
- What was the money paid for? Goods, a service, salary, a gift, or an investment. This decides the code family straight away.
- What kind of service was it? A software build is P0802; management consulting or a BPO contract is P1006; a legal opinion is P1004. Match the code to the actual work, not the industry you sit in.
- Is it a full receipt or an advance? An advance against a goods order is P0103, while payment for goods already shipped is P0102.
- Is there a filed declaration attached? Software exports reported through SOFTEX, and goods exports reported through EDPMS, need the code to line up with that filing so the entry closes cleanly.
The quick-reference table below pairs the common receipt types with their usual code and the document your bank tends to expect.
| The money is for | Common code | Key document to keep |
|---|---|---|
| Software development or consultancy | P0802 | Invoice, plus SOFTEX reference where filed |
| Database or data processing services | P0803 | Invoice and contract |
| BPO, KPO or management consultancy | P1006 | Invoice and work order |
| Market research or advertising | P1007 | Invoice and scope of work |
| Goods already shipped | P0102 | Invoice and shipping bill (EDPMS) |
| Advance for a goods order | P0103 | Invoice or purchase order |
| Salary from a foreign employer | P1401 | Employment proof |
| Family maintenance | P1301 | Short relationship declaration |
Match the code to the service, not the industry
The most common slip is picking a code by what your company does rather than by what a specific invoice was for.
A software company that runs a one-off market research study for a foreign client is not on P0802 for that receipt; it is on P1007.
A design studio paid a licensing fee for reuse of its artwork is on P0902, not a generic services code. Read the invoice line, then match the code.
If a single payment covers two kinds of work, most banks accept the code for the dominant service; platforms that handle multiple purpose codes can split the receipt so each part is tagged correctly.
A worked example
A Bengaluru software studio invoices a US client USD 10,000 for a development project. The client pays into the studio's receiving account. At an illustrative mid-market rate of ₹95 to the dollar, the credit is ₹9,50,000 before fees.
The correct code is P0802, software consultancy and implementation. The AD bank records P0802 on the FIRC, and because the work is a software export, the studio keeps the code consistent with the SOFTEX declaration it files.
The credit clears without a query, and the FIRC for ₹9,50,000 is ready for the GST refund claim.
Now the mismatch. Had the studio picked P1006 (management consultancy) instead, the code would not agree with the SOFTEX entry for the same receipt.
The bank would likely pause later payments and ask for a correction, and the export item could sit open as unrealised until the codes are reconciled.
Same money, same client, but a different downstream week of work, all from one wrong tag.
Where and how the purpose code is declared
You rarely type the code yourself on a bank form for a small receipt, but you do need to know where it comes from, because that is where errors creep in.
Declared by you or by your bank
For most inward remittances the AD bank assigns the code from the payment details and the sender's stated reason, then confirms it against your business profile.
For larger or first-time receipts the bank often asks you to confirm the purpose in writing, or to send a short purpose declaration with the invoice.
If you run payments through a platform, the code is captured at onboarding and applied to each settlement, which removes the per-payment back-and-forth.
What the sender writes matters
The reason your client puts on the outbound wire influences the code the receiving bank reaches for. A vague "consulting" note on a software payment can push the bank towards P1006 when P0802 is correct.
Ask overseas clients to describe the work plainly on the remittance so the incoming detail and your invoice agree.
How the purpose code connects to FIRC, SOFTEX and EDPMS
The purpose code is one link in a chain, and the value comes from keeping every link consistent.
- Purpose code to FIRC. The code is stamped on the FIRC, the proof that foreign currency was received and converted, and it also appears on the wider foreign inward remittance record.
- FIRC to GST refund. Exporters claim zero-rated GST refunds using the FIRC as evidence of realisation. A code that does not fit the nature of supply can stall the claim, which is why FIRC for GST refund turns on getting the code right first.
- Purpose code to export filing. Goods realisations close against EDPMS and software realisations close through the SOFTEX filing. If the code and the filing disagree, the export item stays open as unrealised.
- Realisation to tax record. The purpose category also informs how the receipt is treated for tax, covered in tax on inward remittances to india.
Keep the code consistent across the invoice, the bank declaration and the export filing, and each of these records reconciles on its own.
What happens if you use the wrong purpose code
A wrong code does not usually block a single payment outright, but it creates work and risk downstream:
- Held or queried credits. The bank may pause the credit and ask for the correct code and supporting invoice before releasing funds.
- Mismatched export filings. If the code does not agree with your EDPMS or SOFTEX entry, the export item stays open and shows as an unrealised export against your firm.
- GST refund friction. Refund claims lean on the FIRC, so a code that does not match the nature of supply can slow or stall the claim.
- Repeat corrections. Banks flag firms that repeatedly file the wrong code, which means more scrutiny on future remittances.
How to correct a purpose code
If you spot a wrong code after the credit, ask your AD bank to amend it. Banks can correct a purpose code on request with the right supporting document, usually the invoice and a short written explanation of the actual purpose.
The process and timing vary by bank, and a correction is far simpler before the export item is reported than after, so raise it as soon as you notice.
Documents your bank may ask for
The purpose code sets the paperwork the bank expects. Having it ready keeps the credit moving:
- Services exports (P08, P10): the client invoice, the contract or work order, and the SOFTEX reference where applicable.
- Goods exports (P01): the invoice and the shipping bill or the export declaration behind the EDPMS entry.
- Family, gifts and salary (P13, P14): a simple declaration of the relationship or the employment, since these need less supporting trade paper.
- Investment (P00 series): the instrument details and any FEMA reporting reference for the equity or debt received.
How Xflow fits your compliance workflow
With Xflow, incoming payments settle to a ring-fenced receiving account and an eFIRA is issued automatically, so the purpose code, the advice and the settlement line up in one place.
You can estimate the certificate value using the FIRC calculator. Nothing downstream in your FIRC, EDPMS or GST workflow changes; the same records you file today still apply.
Xflow holds final Payment Aggregator - Cross Border (PA-CB) authorisation from the Reserve Bank of India for both exports and imports, as of February 2026, and is ISO 27001 and SOC 2 certified.
Money that is not converted straight away can sit in an EEFC account if that suits your treasury.
Experience transparent, compliant and cost-effective cross-border payments.
The short version
Pick the code that matches what the money was actually for, keep it consistent with your export filing, and check the full RBI list when your case is not in the common set.
Get the code right at source and the FIRC, the GST refund and the export record all fall into line behind it.
This guide is educational and, as of July 2026, reflects the RBI purpose code framework then in force. It is not tax, legal or financial advice.
Purpose-code classification can turn on the facts of a specific receipt, so confirm your code with your AD bank or a chartered accountant, and treat the RBI notification as the authoritative source.
Frequently asked questions
It is a five-character RBI code, starting with P, that tells your AD bank why foreign money arrived, for example P0802 for software services. The bank records it on the FIRC and reports it to the RBI under FEMA.
P0802 covers software consultancy, development and implementation, the main code for IT and ITES exporters. Database and data processing use P0803, and BPO or KPO work uses P1006.
Use P0102 for realisation of export bills on goods already shipped, P0103 for an advance against a goods order, and P0101 for export bills negotiated or discounted.
Use P1006 for business and management consultancy, including BPO and KPO. Use P0802 when the work is software development, consultancy or implementation. Match the code to the actual service, not your industry.
The bank may hold the credit, your export filing in EDPMS or SOFTEX can stay open, and a GST refund can slow down. Ask your AD bank to amend the code with supporting documents.
Yes. AD banks can correct a purpose code on request with the right invoice and a short explanation, though the process and timing vary by bank, so raise it early.
No. Inward receipts use P codes and outward payments use S codes, even when the same underlying service is involved.