Key Takeaways

  • A purpose code is a five-character label (one letter, four digits) that states the reason for a cross-border transaction. P codes cover money coming into India; S codes cover money going out.
  • You declare the purpose code for your transaction; your Authorised Dealer bank reports it to the RBI through FETERS, so correcting a wrong code means asking your bank to amend it.
  • The code attaches to what a specific invoice is for, never to what your company does. The same client can pay you under two different codes on two different jobs.
  • From 1 October 2026, a unified export and import regime replaced the 2015 rules, bringing goods, software and services under a common Export Declaration Form framework.
  • Cashfree Payments holds the RBI’s Payment Aggregator Cross Border licence and publishes its supported purpose code reference for Global Collections.

Since October 1, 2026, several rules around purpose codes and export declarations have changed. 

The RBI’s new unified export and import framework brings software and services into a single declaration form. Software and service exporters now need to follow the applicable EDF (Export Declaration Form) process, which many did not have to complete earlier. 

That said, while international payments aren’t new to Indian businesses, understanding how to use the right purpose code is still important to avoid documentation mismatches, correction requests and settlement delays.

But before we get into understanding and picking the right codes, let’s discuss when exactly you even need these codes.

When Do You Need a Purpose Code?

You need it when you’re either receiving or making an international payment, but both of them create very different obligations.

Purpose Code for Inward Remittance: When You Receive Money From Abroad

Here, the purpose code for inward remittance determines what your Foreign Inward Remittance Advice, Statement or Certificate says, and that document is proof of the foreign receipt behind your export. Businesses comparing collection methods can also review how to receive international business payments in India. 

This remittance record then supports the electronic Bank Realisation Certificate (eBRC), which closes your entry in the Export Data Processing and Monitoring System.  

Purpose Code for Outward Remittance: When You Send Money Abroad

This is basically about declaration and tax. 

Outward remittances may require an A2 form declaration, KYC documents, and supporting invoices or agreements that match the stated purpose. The code can affect how the remittance is reviewed for tax and compliance. This guide explains the wider outward remittance process. 

Hence, it’s important that you confirm it with your bank before you initiate a large payment.

Also Read: International Payment Terms: A Guide for Indian Exporters

What a Purpose Code Actually Is, and How to Choose the Correct One

A purpose code is a five-character alphanumeric tag, one letter followed by four digits, that classifies why your money has crossed India’s border. The letter tells you the direction of travel.

  • P codes apply to receipts: Money arriving in India from abroad, whether that is an export payment, a consultancy fee, or foreign investment.
  • S codes apply to payments made: Money leaving India, for instance, when you clear a supplier invoice, pay a licensing fee, or fund an overseas office.

The first two digits tell you the group you’re sending or receiving money into, and the last two will tell you the position within that group. Put together, the code reads left to right. For instance:

CodeReads as
P0103A receipt (P), in group 01 exports of goods, third entry: an advance received against an export order
S0902A payment (S), in group 09 intellectual property charges, second entry: a licensing fee
P0006A receipt (P), in group 00 capital account, sixth entry: foreign direct investment in equity

While you don’t need to understand the mechanism of writing these codes, as the RBI defines them as a fixed set, you do need to scan the purpose code list, pick the right one that matches your exact transaction, and declare it in your form.

Once that’s done, your Authorised Dealer bank uses the purpose code you provided when reporting the remittance through the applicable RBI systems. The RBI uses this reporting to compile India’s balance of payments.

If you enter the wrong code, it can affect the report your bank files and the documents produced later, including your FIRC, FIRS or FIRA and the entry your export should close against. The mismatch may require clarification or an amendment from the reporting bank.

Also Read: Foreign Inward Remittance Certificate (FIRC): Meaning and Process

The Purpose Codes Indian SMEs Use Most

You’ll see dozens of purpose codes in practice. Here’s a list of some of the most common ones described in plain terms. Depending on the transaction, businesses may also need an Import Export Code and supporting export documentation.

Money Coming In

CodeUse it for
P0802The P0802 purpose code covers software consultancy or implementation outside the older SOFTEX classification
P0807Export of Software covered under softex (advance payment)
P1020Wholesale and retailing trade services
P1002Trade related services – commission on exports / imports
P1099Other services not included elsewhere, for export of services
P1017Publishing and printing services
P1019Commission agent services

The 2026 framework changes the declaration process for software exports. Some published code descriptions may still contain older SOFTEX wording, so confirm how your bank applies those codes under the current EDF process.

Money Going Out

CodeUse it when
S0101Making advance payment to foreign suppliers for importing goods (excluding Nepal and Bhutan)
S0102Settling the Final invoice for Imported goods (excluding Nepal and Bhutan)
S0802You pay an overseas vendor for software consultancy or implementation
S0902For a licensing fee to use patents, copyrights, trademarks, industrial processes, or produced originals such as manuscripts and films
S1006You pay an overseas consultancy or public relations firm

Purpose codes are only one part of cross-border compliance. This guide to GST on international transactions explains how export and import treatment can differ.

Also Read: Merchant of Record vs PA-CB for Indian SaaS and D2C Businesses

How Cashfree Payments Supports International Collections

Cashfree Payments is authorised by the RBI as a Payment Aggregator Cross Border (PA-CB) for export and import transactions. 

With Cashfree’s Global Collections, eligible exporters can access local collection accounts in USD, GBP, EUR and CAD, and a Global SWIFT account that supports 30+ currencies from 180+ countries. 

It means that your buyers can pay through local rails such as ACH, SEPA, EFT, and Faster Payments, and you can settle in INR without opening a bank account overseas. Teams building this into their own workflows can refer to the Global Collections API endpoints. 

Supported transaction limits and documentation requirements depend on the business model and payment route, so confirm eligibility during onboarding.

Two capabilities worth noting are:

  • Remittance documentation: Eligible international payment flows provide access to FIRS-related documentation that can support reconciliation and compliance.
  • The International Payment Gateway: It supports card-based collections in 140+ currencies across 170+ countries, with INR settlement typically within T+2 business days. It also supports 3DS 2.0 authentication for eligible card transactions.

Close Your Export Entries Before They Cost You

The purpose code affects how your export receipt is classified and matched with supporting documents. If you export services, the 2026 framework also introduces declaration requirements that may be new to your business. So do two things this month. 

First, check that the code list your team works from is current, since older versions and legacy descriptions remain available online. Then start picking codes as per your invoice. Businesses setting up a broader export workflow can also use this export-import business guide as a starting checklist.

Both can take an afternoon, but will save you the kind of problem that might only show up when a refund is already late.

Need a clearer international payment setup?

Talk to the Cashfree Payments team about eligible cross-border collection methods, supported purpose codes, settlement options and international payment documentation for your business.

Talk to Our Team

Frequently Asked Questions

What is the P0103 purpose code used for?

P0103 covers advance receipts against export contracts for goods, meaning your overseas buyer pays you before the shipment leaves India. It sits in the exports of goods group and signals to your bank that the money is a pre-shipment advance. The advance creates an obligation, because the export has to follow within the period your bank confirms.

What is the P0802 purpose code used for?

The P0802 purpose code generally covers receipts for software consultancy or implementation outside the older SOFTEX classification. Since the 2026 framework changed the declaration process for software exports, confirm the current code and EDF treatment with your Authorised Dealer bank.

What is the purpose code P0006 used for?

P0006 covers foreign direct investment into India in equity, which is money an overseas investor puts into an Indian company by buying shares. It is a capital account code handled by your AD bank under FDI reporting rather than an export receipt. You will not find it on a collections platform’s purpose code list, because those lists cover trade and services receipts.

What is the purpose code S0902 used for?

S0902 is an outward payment code for licensing fees you pay to use produced originals or prototypes such as manuscripts and films, along with patents, copyrights, trademarks, and industrial processes. It sits in the intellectual property charges group. Use it when you pay an overseas licensor for the right to use their content, software, or brand assets.

How do I know which purpose code applies to my payment?

Start with direction. Money coming in takes a P code; money going out takes an S code. Then read the invoice line to see what that specific transaction paid for, match it against a current RBI list, and confirm the selection with your AD bank before the payment moves.

What is the RBI purpose code list and where is the official version?

It is the RBI’s classification of every cross-border transaction type, used for FETERS reporting and balance of payments compilation. The official file sits on the RBI’s site and has published readable versions of it. Always check the publication date before you rely on any copy you find online.

Can a purpose code be changed after the money has landed?

Yes. Your AD bank can amend a reported purpose code on request, supported by the invoice or contract that establishes the correct one. Timelines and internal processes vary by bank, so raise it as soon as you spot the mismatch.

What is the difference between P codes and S codes?

P codes classify inward remittances, meaning any money arriving in India from abroad. S codes classify outward remittances, meaning money you send out of India. The same underlying activity has both, so a software consultancy fee you receive is P0802 and one you pay is S0802.

P0103, P0102 or P0101: which one applies?

Timing decides this, not the type of goods. P0103 applies when the buyer pays before shipment, P0102 when an export bill sent on collection is realised, and P0101 when your bank negotiates, purchases or discounts the bill after shipment. The same buyer and same goods can move across all three depending on when the money arrives.

What changes for purpose codes and export reporting on 1 October 2026?

The 2026 Regulations replace the 2015 Export Regulations with a unified export and import regime. A single Export Declaration Form covers goods, services and software, and service exporters generally file an EDF within 30 days from the end of the relevant invoice month. The framework also revises export-realisation timelines and reporting. Confirm the process for your transaction with your Authorised Dealer bank.

Which purpose code applies to a freelancer or agency invoicing an overseas client?

It depends on the service delivered rather than your job title. Software consultancy or implementation work typically falls under P0802, business and management consultancy under P1006, and advertising or trade fair services under P1007. Where the service fits none of the listed categories, P1099 is the catch-all on the current list.

Which purpose code applies to a SaaS business collecting subscription revenue from abroad?

Match the code to the nature of the software service being billed rather than the billing frequency. Software consultancy and implementation receipts may fall under P0802, but the classification depends on the service and current declaration process. This guide to accepting global SaaS payments covers the wider payment workflow. Confirm the code with your AD bank, since SaaS billing models vary in how they are treated.

How do I get a FIRA, FIRS or FIRC, and what is it used for?

Your AD bank or collections provider issues the applicable document after the foreign payment is credited and the required transaction details are available. It provides evidence of the foreign receipt and can support reconciliation, audit records and eligible export-related claims. Ask the provider which document it issues and when it becomes available for your payment route.

How does the purpose code affect tax on export of services?

The code helps align the remittance record with the service described on your invoice. It does not by itself determine whether a supply qualifies as an export or receives a particular GST treatment. A code that contradicts your invoice weakens the supporting documentation, so confirm the treatment for your specific case with a qualified tax adviser.

Get 0% MDR*

Discover more from Cashfree Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading