P0218 Purpose Code: Other receipts by Shipping companies

Skydo makes compliance easy with free and automated FIRA and assisted eBRC closure.
Purpose code P0218 is used when an Indian shipping company receives money from abroad that is genuinely shipping income but does not fit any of the named shipping codes.
| Field | Details |
|---|---|
| Purpose Code | P0218 |
| Category | Transportation |
| Used by | Indian shipping companies with overseas receipts that no named shipping code covers |
| Transaction direction | Inward |
| What it covers | Shipping receipts from abroad that fall outside freight fare, passenger fare and the other named transport codes |
Revenue Leak Calculator

- ✓ Fees quietly eating margin?
- ✓ Current provider vs Skydo
- ✓ Reclaim what's yours
What is the P0218 purpose code?
Purpose code P0218 is the residual code for shipping receipts. The transport group names specific codes for freight fare, passenger fare, operational leasing and port services, and this one exists for money a shipping company receives that is none of those. Like any category defined by exclusion, it carries no information about what the money actually was, so reaching for it when a named code exists strips the reporting of the detail it was built to capture. It should be where you arrive last, after working through the named codes, rather than a convenient first stop. Under RBI FEMA guidelines, this inward payment is classified under Transportation and reported accordingly.
When to use P0218 purpose code?
Use P0218 only after you have worked through the named shipping codes and established that none describes your receipt. The order of elimination is worth following: check freight fare first, then passenger fare, then whether the money is payment for services you provided to another operator rather than income from your own, and only then treat it as residual. Two things need to be true before it applies: the receipt belongs to a shipping company's own operations, and no specific code fits.
When to use a different code:
- Use P0216 when the receipt is freight fare from operations abroad
- Use P0217 when the receipt is passenger fare from operations abroad
- Use the matching S-code when you are paying a foreign vendor rather than receiving money
Who typically uses P0218 purpose code
Indian shipping companies with an overseas receipt that none of the named codes describes, which means whoever has already checked the specific codes and come up short. There is no typical user, since a code defined by exclusion has no natural constituency, and that is itself a reason to check the named codes carefully before landing here.
Examples of transactions covered under P0218 purpose code
- A shipping receipt from abroad that none of the freight, passenger, leasing or port service codes describes
- Income arising from a shipping arrangement the code list does not anticipate
- A one-off overseas receipt that is clearly shipping income but matches no named category
- An inflow confirmed with the bank as shipping income, where no specific code was found to apply
When NOT to use P0218 purpose code
- The receipt is freight fare or passenger fare from operations abroad (use P0216 or P0217)
- You are an independent business being paid by a shipping line for stevedoring, handling or demurrage rather than a shipping company receiving your own income (use P0214)
- The receipt is lease income from chartering out a vessel with crew (use P0205)
- You are paying a foreign vendor rather than receiving (use the matching S-code)
Documents required for P0218 purpose code
To receive a payment under P0218, keep the following documents ready so your bank or platform can verify the transaction and report it correctly under FEMA.
| Document | Purpose |
|---|---|
| Agreement or documentation for the underlying arrangement - Establishes what the money is for, which matters more here than on any named code | Invoice or statement of the amount receivable - Sets out what is being paid and on what basis |
| Purpose declaration form - The inward remittance form where the purpose of funds is formally stated | KYC documents (if requested) - Used to verify your company during onboarding or compliance checks |
How is a P0218 Purpose Code declared?
Declaring the code is pretty straightforward. Here's how the payment gets tagged and reported.
- Check the named codes first: Work through freight, passenger, leasing and port service codes and confirm none describes your receipt.
- Receive the payment: The overseas party remits the money to your Indian bank account.
- Declare the purpose: State the purpose of the inward remittance, describing what the money is for rather than relying on the code to explain it.
- Submit supporting documents: Provide the underlying documentation so the bank can verify the transaction and confirm the residual code is right.
- 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 P0218 purpose code
A few common slips can hold up your payment or cause compliance issues. Here's what to watch for.
- Confusing your own income with service income: Using P0218 when you are an independent provider being paid by a shipping line, which is P0214. This code is for a shipping company's own residual receipts, not for anyone billing one.
- Using it as a shortcut: Reaching for P0218 to avoid working out the right code, when a named code exists for most shipping receipts and using the residual one instead misreports the transaction.
- Code and document mismatch: The code not matching what your documentation describes, which flags the payment and matters more here since the code itself explains nothing.
- Incomplete documents: Missing the underlying agreement, so the bank cannot establish what the money is 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 P0218 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 P0218 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
P0218 is the RBI purpose code for shipping receipts from abroad that no other shipping code covers. It exists so that unusual receipts still have somewhere to be reported, and 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