logo

P0016 Purpose Code: Purchase of a foreign currency against another currency

Publish date: 15 Aug 2026
P0016Capital & Investment Flows

Skydo makes compliance easy with free and automated FIRA and assisted eBRC closure.

Purpose code P0016 is used when one foreign currency is bought against another, rather than money being received from a payer abroad.

FieldDetails
Purpose CodeP0016
CategoryCapital Account
Used byAuthorised Dealer banks reporting cross-currency purchases
Transaction directionInward
What it coversThe purchase of one foreign currency against another currency

Revenue Leak Calculator

  • Fees quietly eating margin?
  • Current provider vs Skydo
  • Reclaim what's yours

What is the P0016 purpose code?

Purpose code P0016 covers the purchase of one foreign currency against another currency. Unlike most receipt codes, no money is being paid by anyone to anyone: the transaction is a conversion between two currencies, which is why it sits with the banking entries rather than with the trade or investment codes. That also means there is no remitter, no beneficiary, and no underlying invoice or contract to match the code against. Under RBI FEMA guidelines, this transaction is classified under Capital Account and reported accordingly.

When to use P0016 purpose code?

Use P0016 where a cross-currency purchase is being reported, one foreign currency bought against another. It is not the code for money arriving in India from a payer abroad, even where that money is later converted. Where an inflow has an underlying reason such as an export, an investment, or a loan, that reason determines the code and the conversion is not separately reported under P0016.

When to use a different code:

  • Use P0015 when the transaction is a loan or overdraft taken by an AD on its own account
  • Use P0020 when the receipt relates to margin payments, premiums, or settlement under financial derivative transactions
  • Use the matching S-code when money is going abroad rather than being received

Who typically uses P0016 purpose code

Authorised Dealer banks reporting cross-currency purchases under FETERS. This code does not apply to exporters, freelancers, companies, or individuals, because it does not describe money being received by anyone, only one currency being bought against another.

Examples of transactions covered under P0016 purpose code

  • One foreign currency bought against another foreign currency in a cross-currency deal
  • A conversion between two foreign currencies reported by the AD handling it
  • A cross-currency purchase settled between an AD and its overseas counterparty
  • The buy leg of a currency pair transacted against a currency other than the rupee

When NOT to use P0016 purpose code

  • The transaction is a loan or overdraft the AD has taken on its own account (use P0015)
  • The receipt relates to margin, premium, or settlement under a derivative transaction (use P0020)
  • Money is arriving from abroad for an export, service, investment, or loan, in which case the underlying reason determines the code and not the conversion
  • Money is going abroad rather than being received (use the matching S-code)

Documents required for P0016 purpose code

To report a transaction under P0016, the following records support it so it can be verified and reported correctly under FEMA.

DocumentPurpose
Deal confirmation or contract note - Evidences the currencies bought and sold, the rate, and the amountAccount statement showing the settlement - Confirms the conversion actually took place as recorded
Purpose declaration form - The inward remittance form where the purpose of funds is formally statedKYC documents (if requested) - Used to verify the parties during onboarding or compliance checks

How is a P0016 Purpose Code declared?

Declaring the code is pretty straightforward. Here's how the transaction gets tagged and reported.

  1. Transact the conversion: One foreign currency is bought against another at an agreed rate.
  2. Settle the deal: The currencies are exchanged and the settlement is recorded.
  3. Declare the purpose: The purpose is stated on the applicable form.
  4. Record the supporting documents: The deal confirmation and account statement evidence the conversion.
  5. Report under FEMA: The transaction is reported under this code as part of the AD's periodic reporting.

Save 50% on every international transfer

  • Receive from 150+ countries
  • Get global accounts
  • Zero forex margin

Common mistakes to avoid while using P0016 purpose code

A few common slips can cause misreporting. Here's what to watch for.

  1. Coding an inflow as a conversion: Applying P0016 to money received from abroad because it was converted on arrival, when the underlying reason for the inflow determines the code.
  2. Confusing it with the AD's own borrowing: Using P0016 for a loan or overdraft the bank has taken for itself, which belongs under P0015.
  3. Code and document mismatch: The code not matching what the deal confirmation describes, which flags the transaction.
  4. Incomplete records: Missing the deal confirmation or settlement record, leaving the transaction unsupported on review.
  5. Missing verification records: Incomplete records on the counterparty hold up the reporting.
  6. Using an inward code for an outward transaction: Applying a receipt code to the sell side instead of the matching outward code.

How Skydo helps you receive international business payments

P0016 covers capital account transactions, which Skydo does not process. If you also invoice foreign clients for goods or services, here is how Skydo helps you get paid.

  1. Complete onboarding: Share PAN, Aadhaar, and Indian bank details. Setup is fully online.
  2. Get virtual account details: Receive account details in USD, GBP, EUR and other currencies your clients pay in.
  3. Your client pays like a local: They send a domestic transfer in their own country, no SWIFT and no wire fee on their end.
  4. FIRA is generated automatically: Free e-FIRA on every payment, stored in your dashboard for GST and audits.
  5. INR settles within 24 hours: Mid-market rate with a flat, visible fee, no FX markup.
200K+Payments processed annually
50K+Businesses trust Skydo
4.8+Average rating
Licensed by RBI under the PA-CB framework

Share this blog

+91 - 

Want to learn more?

  • International bank accounts

    Get international bank accounts in 5 mins

  • Savings

    Save as much as ₹10 lakh annually with Zero FX Margin

  • Payment tracking

    Real time payment tracking and instant FIRA

Frequently asked questions

P0016 is the RBI purpose code for the purchase of one foreign currency against another currency. It records a conversion rather than money being received from a payer abroad, and classifies the transaction under Capital Account for FEMA reporting.

About the author

Prashanth

Solution & Banking

With a decade of experience at Citi Bank, Prashanth leads payments partnerships and solutions at Skydo.

Abhilove Sharda

Verified by

Abhilove Sharda

Related purpose codes