P0223 Purpose Code: Receipts on account of passenger fare under other modes of transport

Skydo makes compliance easy with free and automated FIRA and assisted eBRC closure.
Purpose code P0223 is used when an Indian transport operator receives passenger fare from carrying people by rail, road, inland waterway, or any mode other than sea or air.
| Field | Details |
|---|---|
| Purpose Code | P0223 |
| Category | Transportation |
| Used by | Indian rail, road and inland waterway operators carrying passengers across borders |
| Transaction direction | Inward |
| What it covers | Receiving passenger fare under modes of transport other than shipping and aviation |
Revenue Leak Calculator

- ✓ Fees quietly eating margin?
- ✓ Current provider vs Skydo
- ✓ Reclaim what's yours
What is the P0223 purpose code?
Purpose code P0223 covers passenger fare earned by the modes of transport the rest of the group does not name, meaning rail, road and inland waterway services rather than ships or aircraft. It is the passenger half of a pair, with freight under the same modes reporting separately. The description repeats the full mode list from its freight counterpart, so it names pipeline transport as well, but pipelines carry product rather than people and the code applies in practice to services that carry passengers. Under RBI FEMA guidelines, this inward payment is classified under Transportation and reported accordingly.
When to use P0223 purpose code?
Use P0223 when you receive fare income from carrying passengers by any mode other than sea or air. The elimination test is the same as on its freight counterpart: if the passengers travelled by sea the code is P0217, if they flew the code is P0220, and everything else lands here. There is no separate code for rail as opposed to road or waterway, so do not go looking for one.
When to use a different code:
- Use P0222 when the receipt is freight rather than passenger fare under these same modes
- Use P0217 when the passengers travelled by sea
- Use the matching S-code when you are paying a foreign vendor rather than receiving money
Who typically uses P0223 purpose code
Indian operators carrying passengers across borders by land or inland waterway, including bus operators running international routes to neighbouring countries, cross-border rail passenger services, and river and ferry operators on international routes. It applies whether you operate as a proprietorship, a partnership, or a registered company.
Examples of transactions covered under P0223 purpose code
- Fare received for a cross-border bus service to a neighbouring country
- Ticket revenue from an international rail passenger service
- Passenger fare collected on an inland waterway route crossing a border
- Fare income received through an overseas booking agent for a land route service
When NOT to use P0223 purpose code
- The receipt is freight rather than passenger fare under these same modes (use P0222)
- The passengers travelled by sea or by air (use P0217 or P0220)
- The money is for tour packaging or travel arrangement rather than the transport itself, which reports under the travel codes
- You are paying a foreign vendor rather than receiving (use the matching S-code)
Documents required for P0223 purpose code
To receive a payment under P0223, keep the following documents ready so your bank or platform can verify the transaction and report it correctly under FEMA.
| Document | Purpose |
|---|---|
| Service or booking agreement - Sets out the route operated and the terms with the overseas agent or customer | Passenger sales statements - Set out fare collected on the international service over the period |
| 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 P0223 Purpose Code declared?
Declaring the code is pretty straightforward. Here's how the payment gets tagged and reported.
- Operate the service: Carry passengers on your cross-border rail, road or waterway route.
- Receive the fare income: The money is remitted to your Indian bank account, whether directly or through an overseas agent.
- Declare the purpose: State the purpose of the inward remittance, on your bank's form or through your platform.
- Submit supporting documents: Provide the service agreement and passenger sales statements so the bank can verify the transaction.
- 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 P0223 purpose code
A few common slips can hold up your payment or cause compliance issues. Here's what to watch for.
- Looking for a mode-specific code: Assuming rail and road each have their own passenger code, when this one covers all the modes outside sea and air.
- Coding passenger and freight income together: Applying P0223 to a receipt covering both, when freight under the same modes belongs under P0222.
- Code and document mismatch: The code not matching the mode and route your sales statements describe, which flags the payment.
- Incomplete documents: Missing the service agreement or sales statements, so the bank cannot tie the receipt to an international route 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 P0223 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 P0223 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
P0223 is the RBI purpose code for passenger fare earned under modes of transport other than shipping and aviation, covering rail, road and inland waterway services. It classifies the payment under Transportation 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