Export Services India

What Is the P0103 Purpose Code?

Verified by:
Editorial team
Published:
Last modified:

Short answer

The P0103 purpose code is the RBI receipt code for "Advance receipts against export contracts, which will be covered later by GR/PP/SOFTEX/SDF – other than Nepal and Bhutan". P0103 sits in Group 01, Exports (of Goods), of the FETERS purpose code list. Indian exporters use P0103 when a foreign buyer pays before the export is made.

What does the P0103 purpose code cover?

The P0103 purpose code covers money a foreign buyer pays to an Indian exporter before the export takes place. RBI lists P0103 in group 01, Exports (of Goods), in the FETERS purpose code list. The words "which will be covered later by GR/PP/SOFTEX/SDF" mean the advance is expected to be matched later with an export declaration. GR, PP, SOFTEX and SDF were the older export declaration forms. From October 01, 2026, exports are declared on the Export Declaration Form (EDF) under Regulation 3 of the 2026 Export and Import Regulations, and A.P. (DIR Series) Circular No. 20 superseded the old Master Direction on exports. AD banks report every foreign exchange transaction with a purpose code under FETERS, as set out in A.P. (DIR Series) Circular No. 84 of February 29, 2012, and Regulation 18(2) of the 2026 Regulations keeps that reporting in place.

P0103 vs P0807: P0807 is "Off-site Software Exports" in group 08. P0103 is for the advance received before the export, and P0807 is for software export proceeds. Software exporters who take an upfront payment often wonder which code applies. The DGFT eBRC generation guidelines list P0103 as one of four codes allowed under Services > IT and allow P0103 to be clubbed with P0807. Banks differ on whether they record a services advance under P0103 or under the service code, so confirm with your AD bank.

When should you use the P0103 purpose code?

Use the P0103 purpose code when a foreign buyer pays you before the export is made under an export contract. Typical cases are a deposit before a goods order is shipped, a full upfront payment on a purchase order, and an advance before a software export is declared. The deciding question is timing. If the money arrives before shipment or before the export is declared, P0103 fits. If the money arrives after the export, the code for that export type applies. Pick the code from the RBI purpose code list that matches your contract and invoice.

  • Use P0102 instead: Use P0102 (Realisation of export bills (in respect of goods) sent on collection (full invoice value) – Other than Nepal and Bhutan) when the buyer pays after shipment against export documents sent through your bank on collection.
  • Use P0807 instead: Use P0807 (Off-site Software Exports) when the payment is for software already developed in India and exported, rather than an advance before the export.
  • Use P0109 instead: Use P0109 (Export realisation on account of exports to Nepal and Bhutan, if any) when the buyer is in Nepal or Bhutan, since the P0103 description excludes those two countries.

Who uses the P0103 purpose code?

The P0103 purpose code is used by Indian exporters of goods, and in some cases software exporters, who receive money from a foreign buyer before the export happens, such as manufacturers, merchant exporters and small businesses that ask for a deposit. The person who declares P0103 is the Indian recipient, who selects the code with the AD bank that credits the foreign currency.

What transactions are covered under P0103?

  • For example, a textile exporter in Tiruppur receives a 30% deposit from a buyer in Spain before stitching a garment order and declares P0103 on the inward payment.
  • For example, a spice trader in Kochi receives full payment from a buyer in the UAE on a purchase order and ships the goods three weeks later, so the payment is an advance under P0103.
  • For example, a handicraft maker in Jaipur is paid upfront by a US retailer for a container of furniture and later matches the advance against the shipping bill.
  • For example, a software firm in Pune receives an advance from a German client before delivering software and asks its AD bank whether to record the payment under P0103 or the service code.

When should you not use the P0103 purpose code?

  • The goods have already been shipped and the buyer pays against export documents sent on collection. Use P0102 (Realisation of export bills (in respect of goods) sent on collection (full invoice value) – Other than Nepal and Bhutan).
  • The buyer is in Nepal or Bhutan. Use P0109 (Export realisation on account of exports to Nepal and Bhutan, if any).
  • The receipt is for goods sold under a merchanting trade transaction. Use P0108 (Goods sold under merchanting / Receipt against export leg of merchanting trade).
  • You are an employee of a foreign company receiving salary. Use P1401 (Compensation of employees).

What documents are required for P0103?

For the P0103 purpose code, the core documents are the export contract or purchase order, a proforma invoice or similar demand for the advance, and later the export declaration that covers the advance. For goods, Regulation 3(1) of the 2026 Export and Import Regulations requires an EDF at the time of export, deemed submitted as part of the shipping bill at EDI ports. For services, Regulation 3(2) requires an EDF within 30 days from the end of the month in which the invoice was raised.

  • Contract: Keep the contract, purchase order or order confirmation that shows the buyer, the goods or services, the price and the advance terms.
  • Proforma: Keep the proforma invoice or payment request you sent, so the bank can see the advance relates to a real export order.
  • Same bank: Under Regulation 10(1), route the advance and the later export proceeds through the same AD bank. You may switch to another AD bank if you inform both banks of the change.
  • Export proof: After the export, give your AD bank the shipping bill or EDF and the final invoice so it can match the advance and close the entry in EDPMS under Regulation 18(1).
  • Bank requests: Your AD bank may ask for KYC details, the remitter's details or a note confirming the purpose. Regulation 19(1) requires each AD bank to set an internal policy covering advance receipts for exports, so ask for its document list.

How do you declare the P0103 purpose code?

  1. Check the contract or purchase order to confirm the payment is an advance against an export that has not yet been made.
  2. Open the inward payment in your bank's portal, app or branch form when the foreign currency arrives or when the bank asks for the purpose.
  3. Select P0103 from the purpose code list, or write the code and its description if the form asks for text, and quote the contract or proforma invoice number in the remarks field.
  4. Confirm that the credit advice or inward remittance certificate shows P0103, and ask the bank to correct it if it shows another code.
  5. After you ship the goods or raise the final invoice, submit the shipping bill or EDF and invoice to the same AD bank so it can match the advance to the export.

How does P0103 affect FIRA, GST and income tax?

  • FIRA/FIRC: The inward remittance advice or certificate your bank issues normally records the purpose of the payment, so the P0103 code follows the advance into your records. Keep it with the contract and later invoice. Check with your AD bank on the exact format it issues.
  • eBRC: Under the DGFT eBRC generation guidelines, an eBRC for P0103 can be generated alone or clubbed with other codes, but the shipping bill or invoice date must be on or after the remittance date. No eBRC is allowed before the shipping bill or invoice date for an advance.
  • GST goods: Section 2(5) of the IGST Act defines export of goods as taking goods out of India to a place outside India, and section 16(1)(a) treats export of goods or services as a zero rated supply.
  • GST services: An advance for services leads to an export of services only if all five conditions in section 2(6) of the IGST Act are met, including payment in convertible foreign exchange or in rupees where RBI permits.
  • LUT: Section 16(3) of the IGST Act lets a registered person make zero rated supplies without payment of integrated tax under bond or Letter of Undertaking. The LUT is filed as FORM GST RFD-11 on the GST portal.
  • Income tax: The purpose code does not decide when or how the income is taxed. The Income-tax Act, 2025 replaced the 1961 Act from 01.04.2026 and uses the term tax year. Ask a tax professional how to treat an advance in your accounts and return.

What are the common mistakes with the P0103 purpose code?

  • After shipment: Declaring P0103 for a payment that arrives after the goods were shipped, where a code such as P0102 describes the receipt.
  • Nepal, Bhutan: Using P0103 for an advance from a buyer in Nepal or Bhutan, which the P0103 description excludes. P0109 covers those exports.
  • Bank switch: Receiving the advance in one AD bank and the balance in another without informing both banks, contrary to Regulation 10(1) of the 2026 Regulations.
  • Early eBRC: Trying to generate an eBRC for the advance before the shipping bill or invoice date, which the DGFT rules do not allow.
  • Never matched: Leaving the advance unmatched after the export, so the EDPMS entry stays open. If the export is cancelled, read how to refund an export advance.
  • High interest: Agreeing to pay the buyer interest on the advance above the all-in-cost ceiling for trade credit, which Regulation 10(4) of the 2026 Regulations does not permit.

How did we verify this?

The code, its official description and every rule on this page are linked to RBI and other official sources, checked on the dates below.

  1. RBI: Guidelines for Submission of Data, Foreign Exchange Transactions Electronic Reporting System (FETERS), purpose code list for receipts, Annex purpose codes, receipts, Group 01 Exports (of Goods): P0101, P0102, P0103, P0104, P0105, P0107, P0108, P0109; Group 08 P0807; Group 14 P1401 (checked 9 Oct 2026)
  2. RBI A.P. (DIR Series) Circular No. 84 dated February 29, 2012: Compilation of R-Returns, Reporting under FETERS, Paragraph 3: AD banks to report all foreign exchange transactions as per the revised purpose code list from April 2012 (checked 9 Oct 2026)
  3. RBI Notification No. FEMA 23(R)/2026-RB: Foreign Exchange Management (Export and Import of Goods and Services) Regulations, 2026 (amended up to September 22, 2026), Regulation 3(1) and 3(2) (EDF for goods and services); 10(1) and 10(4) (advance receipt for export through the same AD bank, interest ceiling); 18(1)(g) and (i) (EDPMS mark-off and closure of export advance entries); 18(2) (FETERS reporting); 19(1)(d) (AD bank policy on advance receipts) (checked 9 Oct 2026)
  4. RBI A.P. (DIR Series) Circular No. 20 dated January 16, 2026: Export and Import of Goods and Services, Paragraphs 4 and 7: Master Directions on Export and Import of Goods and Services and listed circulars superseded from October 01, 2026 (checked 9 Oct 2026)
  5. DGFT: Self-Certified eBRC Generation Guidelines, Version 1.0 (10 November 2023), Rules 4, 5, 6, 7, 9 and 10: P0103 date rule, standalone use, clubbing with P0807 and other codes, codes allowed under Services > IT (checked 9 Oct 2026)
  6. IGST Act, 2017, Section 2: Definitions (CBIC tax information portal), Section 2(5): export of goods; Section 2(6): export of services (checked 9 Oct 2026)
  7. IGST Act, 2017, Section 16: Zero rated supply (CBIC tax information portal), Section 16(1)(a) and 16(3): zero rated supply, supply under bond or Letter of Undertaking (checked 9 Oct 2026)
  8. GST Portal user manual: Furnishing of Letter of Undertaking (FORM GST RFD-11), Filing of LUT for export of goods or services on the GST portal (checked 9 Oct 2026)
  9. Income Tax Department e-filing portal: Objective and scope of the New Act, FAQ 2: repeal of the 1961 Act on 01.04.2026; tax year concept from 01 April 2026 (checked 9 Oct 2026)
  10. RBI Notification No. FEMA 23(R)/(7)/2025-RB dated November 13, 2025: Foreign Exchange Management (Export of Goods and Services) (Second Amendment) Regulations, 2025, Paragraph 3: in regulation 15 of the 2015 Regulations, one year replaced by three years (checked 9 Oct 2026)
  11. DGFT: FAQs on Self-Certification of eBRC (exporters and bank officials), Q25 and Q28: purpose code changes are requested through the bank, and banks can amend the IRM for incorrect purpose codes; Q26: eBRC for P0103 standalone cases (checked 9 Oct 2026)

FAQs about the P0103 purpose code

Is P0103 an inward or outward RBI purpose code?

P0103 is an inward code. RBI's receipt codes start with the letter P and payment codes start with S. P0103 is used when foreign currency comes into India as an advance against an export contract. An Indian importer paying a foreign supplier in advance would use a payment code from the S list instead.

Can a service exporter or freelancer use the P0103 purpose code?

P0103 sits in RBI's Exports (of Goods) group, but its description mentions SOFTEX, and DGFT allows P0103 for eBRCs under Services > IT. Practice differs between banks for other services. If a foreign client pays you before you deliver a service, ask your AD bank whether it records the advance under P0103 or the service code.

Is there a deadline to ship goods after receiving a P0103 advance?

Regulation 10 of the 2026 Export and Import Regulations, in force from October 01, 2026, sets no fixed shipment period for an advance. Under the 2015 Regulations, regulation 15 used one year, raised to three years in November 2025. Your AD bank's internal policy now governs follow-up, so ask it for its timeline.

What happens to a P0103 advance if the export never takes place?

If the export is cancelled, the buyer normally expects the advance back, and your AD bank handles the refund. Under Regulation 18(1)(i) of the 2026 Regulations, where no export has been made and a refund is not possible, the AD bank may close the export advance entry in EDPMS on your request.

Can a P0103 advance be clubbed with other purpose codes for an eBRC?

Yes. DGFT's eBRC generation guidelines allow P0103 to be used alone or clubbed with other purpose codes, including P0807 for IT services. P0103 cannot be clubbed with P0101 or P0108 for goods. The shipping bill or invoice date must be on or after the date the advance was received.

What should you do if a P0103 advance was recorded under the wrong purpose code?

Contact your AD bank as soon as you notice the error and ask it to correct the purpose code on the transaction and the remittance certificate. DGFT's eBRC FAQs say banks can amend the inward remittance message. See how to correct a wrong purpose code for the steps.