Resources  /  Playbooks

Purpose Codes and Currency Codes on Your eBRC, Explained

Two small fields on every remittance decide whether a certificate sails through or snags: the purpose code and the currency code. Here is what each one is for.

Two fields, outsized influence

When a mapping fails or a certificate stalls, the cause is often not the amount or the invoice. It is one of two small fields the remittance already carries: the purpose code and the currency code. Both arrive with the money, and both need to tell a consistent story about the export.

The purpose code

Every inward remittance carries an RBI purpose code that describes what the money is for. Export of goods most commonly uses category 01 codes, for example P0101 for negotiated export bills and P0103 for advance receipts. When the code on the remittance does not match the nature of the export it pays for, reconciliation stalls. The fix is upstream: tell your buyers and your bank which purpose code your exports correspond to, and check the code on each remittance when it arrives, not when a certificate rejects. Our API docs keep a grouped list of purpose codes for reference.

The currency code

The remittance also records its currency as an ISO code, such as USD, EUR, or GBP. Two habits keep this clean. First, use the ISO code, not a symbol or a name, wherever a filing asks for it; a bulk upload that expects "USD" will flag a row that says something else. Second, watch for a currency mismatch between the remittance and the invoice you are mapping it to, which is a classic snag.

What a row-level error looks like: in a bulk upload, a currency problem comes back naming the row and the field, for example "currency: use the ISO code, e.g. USD". You fix that one cell and upload again.

Which purpose codes can generate an eBRC

The DGFT's self-certification guidelines (last updated 26 March 2024) tie eBRC generation to the purpose code on the remittance:

  • P0101 and P0108 cannot generate an eBRC. If the portal refuses your remittance, check whether it carries one of these codes.
  • One purpose code per certificate. Remittances with different purpose codes cannot be clubbed into a single eBRC. The exception is P0103, advance payment, which can be clubbed with other purpose codes.
  • P0103, advance payment, can also generate an eBRC on its own, with one date rule: the shipping bill or invoice date must be on or after the remittance date.
  • IT service exports work with exactly four purpose codes: P0802, P0803, P0807, and P0103.

The full ruleset, with clubbing and AD code checks, is walked through in the portal generation guide.

Where to read them

Open the full detail on any remittance before you map it. You will see the remitter, country, remittance date, purpose code, PAN, IEC, AD code, IFSC, and currency, alongside a utilisation bar. Reading those fields first, rather than after a rejection, is the difference between a filing that goes through and one that comes back.

Get them right upstream

Purpose codes and currency codes are decided before the money ever reaches you, in the instructions your buyer gives their bank. The exporters who file cleanly treat this as part of onboarding a customer: agree the purpose code, confirm the currency, and then every remittance that follows arrives ready to map.

Frequently asked questions

What is a purpose code on a remittance?

It is an RBI code that classifies what a foreign exchange transaction is for. Export of goods usually falls under category 01, for example P0101 for negotiated export bills. The code must match the nature of the export it pays for.

Which purpose code is used for exports?

Most goods exports use P0101 for export bills negotiated, purchased, or discounted, and P0103 for advance receipts against export contracts. Confirm the exact code with your bank, since it depends on the transaction. The purpose codes annexure lists the categories.

How should currency be written on a filing?

Use the ISO currency code, such as USD, EUR, or GBP, not a symbol or a name. A bulk upload that expects "USD" will flag a row that says anything else, and a currency mismatch between remittance and invoice is a classic snag.

Get started

Clean fields, clean filings.

Free forever. No card required.