P1020 Purpose Code: Wholesale and retailing trade services

Skydo makes compliance easy with free and automated FIRA and assisted eBRC closure.
Purpose code P1020 is used when an Indian business receives payment from an overseas client for performing wholesale or retail trade services on their behalf.
| Field | Details |
|---|---|
| Purpose Code | P1020 |
| Category | Other Business Services |
| Used by | Indian businesses providing wholesale and retail trade services to overseas principals |
| Transaction direction | Inward |
| What it covers | Receiving payment for wholesale and retailing trade services provided to clients abroad |
Revenue Leak Calculator

- ✓ Fees quietly eating margin?
- ✓ Current provider vs Skydo
- ✓ Reclaim what's yours
What is the P1020 purpose code?
Purpose code P1020 covers being paid to carry out the wholesale or retail function for someone else. The word services is what defines it: buying goods and reselling them at a margin is trade, and reports under the goods codes, while performing the selling and distribution function on a principal's behalf for a fee is a service and reports here. That distinction is the whole code, and it is the one thing to settle before adopting it. Note that a separate code covers distribution services, which occupies similar ground, so the two are worth checking together. Under RBI FEMA guidelines, this inward payment is classified under Other Business Services and reported accordingly.
When to use P1020 purpose code?
Use P1020 when an overseas principal pays you a fee for handling wholesale or retail selling on their behalf, rather than paying you for goods you owned. It is the correct RBI purpose code where the money is service income from performing the trade function. Because a separate distribution services code covers similar ground, confirm with your bank which of the two your arrangement falls under before standardising on either.
When to use a different code:
- Use P1012 when your bank treats the arrangement as distribution services rather than wholesale and retail trade services
- Use P1019 when you act as a commission agent rather than performing the trade function itself
- Use the matching S-code when you are paying a foreign vendor rather than receiving money
Who typically uses P1020 purpose code
Indian businesses performing wholesale or retail selling for overseas principals on a fee basis, meaning those who handle the trade function without buying the stock themselves. Because the description is short and overlaps a neighbouring code, the practical answer to who uses it is best settled with your bank against your own arrangement.
Examples of transactions covered under P1020 purpose code
- Service fees received from an overseas principal for handling wholesale selling of their product
- Payment for operating retail sales on behalf of a foreign brand without owning the stock
- Fees for performing the trade function for an international client under a service arrangement
- A receipt your bank has confirmed belongs under wholesale and retailing trade services
When NOT to use P1020 purpose code
- You bought the goods and resold them at a margin, which is trade rather than a service and reports under the goods codes
- Your bank treats the arrangement as distribution services rather than wholesale and retail trade services (use P1012)
- You act as a commission agent rather than performing the trade function yourself (use P1019)
- You are paying a foreign vendor rather than receiving (use the matching S-code)
Documents required for P1020 purpose code
To receive a payment under P1020, keep the following documents ready so your bank or platform can verify the transaction and report it correctly under FEMA.
| Document | Purpose |
|---|---|
| Service agreement with the overseas principal - Sets out what trade functions you perform and confirms you are paid a fee rather than trading on your own account | Invoice or fee statement - Itemises the services provided and the period or volumes they relate to |
| Purpose declaration form - The inward remittance form where the purpose of funds is formally stated | KYC documents (if requested) - Used to verify your business during onboarding or compliance checks |
How is a P1020 Purpose Code declared?
Declaring the code is pretty straightforward. Here's how the payment gets tagged and reported.
- Confirm the code with your bank: Establish whether your arrangement is wholesale and retail trade services or distribution services, and that it is a service rather than trading.
- Perform the function: Handle the wholesale or retail selling for your principal under the agreement.
- Raise your invoice: Bill the overseas principal for the services provided in the period.
- Declare the purpose: State the purpose of the inward remittance, on your bank's form or through your platform.
- Get your FIRA: Once processed, your FIRA is issued as proof and the payment is reported under FEMA.
- With a traditional bank you handle each step of your payment journey. But with a platform built for cross-border payments, you can preselect a default purpose code so that the payments land smooth.
Save 50% on every international transfer
- Receive from 150+ countries
- Get global accounts
- Zero forex margin
Common mistakes to avoid while using P1020 purpose code
A few common slips can hold up your payment or cause compliance issues. Here's what to watch for.
- Reading trade services as trade: Using P1020 for money from buying and reselling goods, when this code covers being paid a fee to perform the trade function and actual trading reports under the goods codes. The word services is the whole distinction.
- Choosing between the overlapping service codes without asking: Adopting P1020 or P1012 by reading the descriptions, when both cover getting product to market on a principal's behalf and only your bank can tell you which it expects.
- Code and invoice mismatch: The code not matching what your service agreement describes, which flags the payment.
- Incomplete documents: Missing the service agreement or fee statement, so the bank cannot establish that you were paid a fee rather than trading and holds funds until provided.
- Missing PAN or KYC: Incomplete verification stops the bank from releasing the payment.
- Using an inward code for an outward payment: Applying a receipt code to money you're sending out instead of the matching outward code.
How Skydo simplifies inward remittance under P1020 Purpose Code
With a bank, you declare the purpose code on your own for every single payment. With Skydo, you can preselect your code once and every payment gets tagged automatically.
- Preselect the code once: Set P1020 as your default and Skydo tags every incoming payment for you, so there's no form to fill on each one.
- No repeat declarations: A bank makes you restate the purpose for every remittance. Skydo does it in the background, the same way each time.
- Instant, free FIRA: Your remittance proof is generated and stored on every payment, ready for your CA, GST, and audits, with no request and no fee.
- Zero FX markup: You get the live mid-market rate with a flat, visible fee, instead of a markup hidden inside the bank's rate.
- Settled in 24 hours: Your payment reaches your Indian bank within a day, fully reported and compliant.
Get international bank accounts in 5 mins
Save as much as ₹10 lakh annually with Zero FX Margin
Real time payment tracking and instant FIRA
Get international bank accounts in 5 mins
Save as much as ₹10 lakh annually with Zero FX Margin
Real time payment tracking and instant FIRA
Frequently asked questions
P1020 is the RBI purpose code for wholesale and retailing trade services, covering payments received for performing the wholesale or retail function on an overseas principal's behalf. It classifies the payment under Other Business Services for FEMA reporting. A platform like Skydo lets you preselect it so every payment is tagged automatically.
About the author

Solution & Banking
With a decade of experience at Citi Bank, Prashanth leads payments partnerships and solutions at Skydo.
Verified by
Abhilove Sharda