IGST Refund for Exporters: Complete Process, Realistic Timelines & Why Refunds Get Stuck (2026)

IGST Refund for Exporters: Complete Process, Realistic Timelines & Why Refunds Get Stuck (2026)

Introduction

The IGST refund system for goods exporters was designed with a genuinely elegant concept at its core: you export, you pay IGST on the export invoice, and the system automatically matches your Shipping Bill with your GSTR-1 filing, confirms your goods left India via the EGM, and credits your bank account — without any application from you. No forms, no officer discretion, no follow-up. Pure automation.

In practice, the system works exactly as designed for exporters whose data is perfectly consistent across every document and every return. For everyone else — which, in my experience, includes the majority of Indian exporters at some point in their export career — the "automatic" part breaks down at one of several predictable failure points, and what should have been a 15-day refund turns into a 3-month manual resolution process.

I have been through IGST refund stuck situations on my own shipments, and I have helped other exporters diagnose and resolve theirs. The failure modes are consistent — they are the same categories of problems appearing over and over, always fixable, almost always avoidable in the first place. This guide walks you through the complete process, the realistic timeline, and most importantly the specific reasons refunds get stuck with the exact fix for each one.

One clarification before we begin: this guide specifically covers IGST refund for goods exports — the automatic refund triggered when you export goods after paying IGST on the export invoice (Route 2). For the ITC refund via RFD-01 (Route 1, LUT-based exports) and for service exports, see our separate guide on GST Refund for Exporters. The two routes are different processes.

Who Should Use the IGST Payment Route?

Before going through the process, let me address the strategic question: if the LUT route (no IGST payment, ITC refund later) is generally better for working capital, why would any exporter choose to pay IGST on exports?

There are specific situations where Route 2 (IGST paid) is chosen or forced:

  • LUT not filed: If the exporter has not filed their LUT for the financial year, they have no choice — they must either pay IGST or delay the shipment until the LUT is in place. Many first-time exporters discover this reality on their first shipment of a new financial year.
  • LUT expired and shipment cannot wait: Same as above — the April-deadline LUT was missed, a shipment is ready, and waiting for LUT filing and confirmation is not commercially viable.
  • Exporter preference for simplicity: Some small exporters prefer the IGST payment route because the automatic refund feels simpler than maintaining LUT and filing RFD-01 applications. This preference comes with a working capital cost that is not always fully appreciated.
  • Specific product or situation where the automatic refund is faster: In a well-functioning scenario with perfect data alignment, the automatic IGST refund for goods (once EGM is filed) can be credited within 15–20 days. For exporters with fast-moving, predictable shipments and very clean data, this can actually be competitive with the RFD-01 timeline.

For most exporters: file your LUT and use Route 1. Protect your working capital. But if you are on Route 2 — by choice or circumstance — this guide tells you exactly how to make it work and what to do when it doesn't.

The Automatic IGST Refund: How It Is Supposed to Work

The automatic IGST refund for goods exports is a data-matching exercise between three government systems:

  1. ICEGATE (Indian Customs EDI Gateway) — where your CHA files your Shipping Bill and where the EGM (Export General Manifest) is filed by the shipping line after vessel departure
  2. GST Common Portal (gst.gov.in) — where you file your GSTR-1 (with export invoice details in Table 6A) and GSTR-3B
  3. PFMS / NEFT system — the government payment system that actually credits money to your bank account

Here is the data flow that must work perfectly for your refund to be processed automatically:

Step 1: Shipping Bill Filed with IGST Details

Your CHA files your Shipping Bill on ICEGATE. For the IGST refund route, the Shipping Bill must be filed as an "IGST Paid" Shipping Bill. Key data elements entered by your CHA that must be exactly correct:

  • Your GSTIN
  • The invoice number(s) for this shipment
  • Invoice date(s)
  • Invoice value(s) in foreign currency and in INR
  • IGST amount paid on each invoice
  • HSN/HS code
  • Port code

Step 2: Let Export Order (LEO) Granted

After customs examination (or on the basis of self-assessment for Green Channel shipments), the customs officer grants the Let Export Order — the formal permission for goods to leave India. This is the moment the export is legally complete from India's customs perspective.

Step 3: EGM Filed by Shipping Line

After the vessel departs, the shipping line files the Export General Manifest (EGM) on ICEGATE. The EGM lists every container on the vessel by Shipping Bill number, confirming that specific cargo physically left India. This confirmation is the trigger for IGST refund processing — the government will not refund IGST until the EGM confirms the goods actually left the country.

Step 4: GSTR-1 Filed with Table 6A

You (or your CA) file your GSTR-1 for the month of export. Export invoices must be entered in Table 6A of GSTR-1 — "Exports." For each export invoice, Table 6A requires:

  • Shipping Bill number
  • Shipping Bill date
  • Port code
  • Invoice number
  • Invoice date
  • Invoice value (in INR)
  • IGST amount

This data in GSTR-1 Table 6A must match the data on your Shipping Bill exactly. The system performs a field-by-field comparison, and any mismatch flags the refund for manual review or blocks it entirely.

Step 5: System Matching and Refund Sanction

The GST system reads the EGM confirmation from ICEGATE (confirming goods left India), reads your GSTR-1 Table 6A data, and compares the two. If the data matches within the system's tolerance, the IGST refund is sanctioned automatically and routed to PFMS for payment to your registered bank account.

Step 6: GSTR-3B Filed

Your GSTR-3B for the period must also be filed and must declare the export turnover correctly in Table 3.1(b) — "Zero-rated supply without payment of tax" or Table 3.1(a) if IGST was paid. The system cross-checks your GSTR-1 against your GSTR-3B for consistency.

Step 7: Bank Account Credit

The IGST refund is credited directly to the bank account registered with Indian Customs through your AD Code (Authorised Dealer Code) registration. This is a critical point: the refund does not go to your GST-portal-registered bank account — it goes to the bank account registered on ICEGATE. If you have changed banks or accounts since your AD Code was registered, you must update your AD Code bank account details at customs (through your CHA) before the refund can be credited.

Realistic IGST Refund Timelines in 2026

Based on current system performance, here are honest timelines you should plan around:

  • Best case (data perfect, EGM filed promptly, no system flags): 10–20 days from GSTR-1 filing date
  • Typical case (minor issues resolved without officer intervention): 25–45 days from GSTR-1 filing
  • Cases with data mismatches requiring ICEGATE/GST reconciliation: 60–120 days
  • Cases requiring manual officer intervention or rectification: 90–180 days or longer

The wide variance is entirely a function of data quality. Exporters with meticulously maintained data — who verify Shipping Bill details against invoices before GSTR-1 filing, who confirm EGM status after every vessel departure, whose bank account on ICEGATE is current — consistently experience the 10–25 day range. Exporters who rely on their CHA for all data entry without verification, who file GSTR-1 quickly without checking Shipping Bill numbers, and who discover AD Code bank account issues only when money doesn't arrive — they experience the 60–180 day range.

How to Track Your IGST Refund Status

There are three places to check your IGST refund status, each showing different aspects of the process:

1. ICEGATE — For Shipping Bill and EGM Status

  1. Go to icegate.gov.in
  2. Click on "Services" → "e-Services" → "Shipping Bill Status" (or search for it in the navigation)
  3. Enter your Shipping Bill number, date, and port code
  4. The system shows:
    • Shipping Bill filing date
    • LEO date (Let Export Order — when customs cleared your goods for export)
    • EGM status — whether EGM has been filed for this Shipping Bill
    • IGST refund status — whether the system has matched and processed the refund

The key status indicators to look for on ICEGATE:

  • "EGM not filed" — your shipping line has not yet filed the EGM. No refund processing until this is done.
  • "EGM filed, IGST refund in process" — system has the EGM, matching with GSTR-1 is in progress
  • "IGST refund sanctioned" — your refund has been approved and forwarded to PFMS for payment
  • "IGST refund paid" — payment has been credited to your registered bank account

2. GST Portal — For GSTR-1 Table 6A Matching Status

  1. Log in to gst.gov.in
  2. Services → Refunds → Track Application Status → Select "IGST Paid on Export of Goods"
  3. Enter your GSTIN and the relevant tax period
  4. The portal shows whether your GSTR-1 Table 6A data has been matched with Shipping Bill data on ICEGATE

3. PFMS — For Payment Status

Once the refund is sanctioned, payment is processed through the Public Financial Management System (PFMS). If a refund shows "sanctioned" on ICEGATE but has not appeared in your bank account after 5–7 banking days, check PFMS at pfms.nic.in using your bank account details to see whether the payment was processed and whether there was any bank-end rejection.

The Ten Reasons IGST Refunds Get Stuck — With Exact Fixes

These are the specific, identifiable failure points that account for the vast majority of stuck IGST refunds. Read each one carefully — knowing the cause makes the fix obvious.

Reason 1: EGM Not Filed by Shipping Line

What happens: Your Shipping Bill and GSTR-1 are perfect, but the EGM for your vessel has not been filed on ICEGATE. The system cannot confirm your goods left India, so no refund is processed.

How to check: ICEGATE Shipping Bill status → look for EGM status.

Fix: Contact your CHA. They must follow up with the shipping line (through the liner's local agent) to file the EGM. This should take 2–5 working days once you escalate. If the shipping line's EGM team is unresponsive, your CHA can escalate to the Shipping Lines' Association through the port authority. Do not let EGM delays extend beyond 10 days after vessel departure without actively following up.

Reason 2: Shipping Bill Number Entered Incorrectly in GSTR-1

What happens: The Shipping Bill number you entered in GSTR-1 Table 6A has a typo — one wrong digit, a missing leading zero, a different format than the actual Shipping Bill number. The matching system cannot link your GSTR-1 entry to the correct Shipping Bill.

How to identify: Compare your GSTR-1 Table 6A entries side-by-side with your actual Shipping Bill documents. Pull the Shipping Bill from ICEGATE (your CHA can provide this) and check every digit.

Fix: If the error is in GSTR-1 and the GSTR-3B has not yet been filed for that period, you can use GSTR-1A (the amendment facility in GSTR-1) to correct it before filing GSTR-3B. If GSTR-3B is already filed and the period is closed, you need to raise a grievance on the GST portal and work with the jurisdictional GST officer to manually reconcile the mismatch — this is a longer process (30–60 additional days). This is exactly why getting the Shipping Bill number right before GSTR-1 filing is so critical.

Reason 3: Wrong Port Code in GSTR-1

What happens: The port code entered in GSTR-1 Table 6A is different from the port code on the Shipping Bill. India uses specific 6-character port codes — INMAA1 for Chennai, INNHAVA for JNPT, INKANDLA for Mundra. Even using an older code that the port has deprecated can cause mismatches.

How to check: Ask your CHA for the exact port code they entered on the Shipping Bill. Verify it matches what your GST team entered in GSTR-1.

Fix: Same as Reason 2 — GSTR-1A amendment if before GSTR-3B filing; jurisdictional officer manual correction if after. Prevention: create an internal checklist where your CHA provides Shipping Bill details in writing before you file GSTR-1.

Reason 4: GSTR-3B Not Filed

What happens: Your GSTR-1 for the period is filed with correct export data, but your GSTR-3B for the same period is not yet filed. The refund system requires both returns to be filed before processing.

Fix: File your GSTR-3B immediately. Even if it requires paying late fees and interest on other tax liabilities in the return, file it. The cost of late filing is almost always less than the cost of delayed IGST refund on a commercial shipment. After GSTR-3B is filed, the matching process will resume automatically within a few days.

Reason 5: IGST Amount Mismatch Between Shipping Bill and GSTR-1

What happens: The IGST amount on the Shipping Bill (entered by your CHA) is different from the IGST amount you declared in GSTR-1 Table 6A. Even a ₹1 difference can flag the entry for manual review.

Why it happens: Two scenarios — either your CHA used a slightly different exchange rate when converting the foreign currency invoice value to INR for the Shipping Bill, resulting in a slightly different IGST base value; or there was a data entry error in either the Shipping Bill or GSTR-1.

Fix: Cross-check the IGST amount on both documents. If the Shipping Bill IGST amount is the correct one (based on the actual invoice value and applicable IGST rate), amend your GSTR-1 to match. If there is a genuine exchange rate difference, this may require an officer-level reconciliation — provide both documents and the exchange rate basis for each calculation to the GST officer handling your query.

Reason 6: Bank Account Not Registered on ICEGATE (AD Code Issue)

What happens: Your IGST refund has been sanctioned and PFMS has attempted to credit it — but the bank account registered on ICEGATE (through your AD Code) is an old account, a closed account, or an account with incorrect details. The payment bounces back from the bank.

How to check: ICEGATE shows the payment as "sanctioned." If money has not arrived in 7–10 banking days after sanction, check with your CHA whether your AD Code bank account details are current.

Fix: Contact your CHA. They will need to update your AD Code bank account details at the customs house (the bank branch where your AD Code is registered issues an updated bank certificate; your CHA submits it to customs). Once updated, the pending payment can be re-initiated. This process takes 5–15 working days depending on the customs house.

Prevention: Any time you change your primary export bank account, immediately instruct your CHA to update your AD Code at customs. Do not wait for a stuck refund to discover this.

Reason 7: Shipping Bill Filed as "Free" Instead of "IGST Paid"

What happens: Your CHA filed a Free Shipping Bill (no incentives, no IGST flag) instead of an IGST Paid Shipping Bill. From the customs system's perspective, there is no IGST to refund on this Shipping Bill.

How to identify: Check ICEGATE Shipping Bill status — look for the Shipping Bill type. A Free Shipping Bill will not show any IGST refund eligibility regardless of what you declare in GSTR-1.

Fix: Once a Shipping Bill is filed, its type cannot be changed retroactively. This is a difficult situation. You have two options: (a) speak to your jurisdictional customs assistant commissioner about whether a manual correction or amendment is possible — in genuine cases where the exporter clearly paid IGST and the Shipping Bill type was incorrectly entered, some officers have accommodated corrections; or (b) accept that IGST refund for this shipment may not be recoverable through the automatic route and explore whether an alternative refund mechanism applies. This is exactly why checking the Shipping Bill type with your CHA before submission is non-negotiable.

Reason 8: Invoice Number Format Mismatch

What happens: Your invoice number in GSTR-1 Table 6A does not exactly match the invoice number your CHA entered on the Shipping Bill. Example: your invoice is numbered "EXP/2026-27/047" but your CHA entered "EXP202627047" on the Shipping Bill (dropping the slashes). The matching system may not recognise these as the same invoice.

Fix: Standardise your invoice numbering system and share the exact format with your CHA in writing at the start of every financial year. When reviewing the Shipping Bill draft before submission, verify the invoice number matches your actual invoice exactly — including slashes, hyphens, and spacing.

Reason 9: Shipping Bill filed in Earlier Month but GSTR-1 Reported in Later Month

What happens: Your goods were exported in March (Shipping Bill date: March 28) but you reported the export invoice in GSTR-1 for April (because you were busy and filed the March GSTR-1 without this entry, then tried to include it in April's GSTR-1). The system matches Shipping Bill data against GSTR-1 data by tax period — a March Shipping Bill needs to appear in March GSTR-1 (or in a GSTR-1 amendment for March), not in April.

Fix: File a GSTR-1 amendment for the correct period (March in this example) to include the export invoice in Table 6A. The amendment should reconcile the Shipping Bill period with the GSTR-1 period. If the amendment window has closed, work with your jurisdictional GST officer to resolve the period mismatch.

Reason 10: GSTIN on Shipping Bill Does Not Match GSTR-1 GSTIN

What happens: The GSTIN entered on the Shipping Bill by your CHA is different from your actual GSTIN. This can happen due to a data entry error (one character wrong in a 15-character alphanumeric GSTIN), or if your business has multiple GSTINs (different states) and the CHA used the wrong one.

Fix: Provide your CHA with your GSTIN in writing. Include it in every shipment instruction document you send them. Have them verify it against the system before submission for every shipment — not just the first one.

What to Do When Your Refund Has Been Stuck for More Than 60 Days

If you have checked all ten reasons above, confirmed EGM is filed, verified your GSTR-1 data matches your Shipping Bill, confirmed your bank account on ICEGATE is current, and your refund is still not credited after 60 days — escalate through these channels in sequence:

Step 1: ICEGATE Helpdesk. Email icegate@icegate.gov.in with your Shipping Bill number, GSTIN, and a description of the issue. Attach screenshots of your ICEGATE status and GSTR-1 Table 6A. Expect a response within 5–10 working days.

Step 2: CPGRAMS (Centralised Public Grievance Redress and Monitoring System). File a grievance at pgportal.gov.in under the Ministry of Finance / CBIC category. This creates a formal record of your complaint with a tracking number and has a mandatory response timeline.

Step 3: GST Grievance Portal. File a grievance at the GST portal under Services → Grievances → Raise Grievance. Select "Refund" as the grievance category.

Step 4: Jurisdictional GST Officer. If portal grievances do not resolve within 15 additional days, visit or write to your jurisdictional GST officer directly with all documentation. A personal engagement with the officer, with complete documentation, often resolves cases that automated systems cannot.

Interest on Delayed Refund: Under Section 56 of the CGST Act, if your refund is not paid within 60 days of the date of filing the complete refund application (or the date your Shipping Bill effectively served as the refund application), you are entitled to interest at 6% per annum on the delayed amount. When you eventually receive the refund, check whether interest has been included. If not, raise it with the processing officer — you are legally entitled to it and they should include it proactively.

Preventing Stuck Refunds: The Pre-Shipment Checklist

The best fix for a stuck IGST refund is never getting stuck in the first place. Use this checklist for every export shipment:

  • ☐ Confirm with your CHA that they will file an "IGST Paid" Shipping Bill (not Free, not RoDTEP-only)
  • ☐ After Shipping Bill is filed but before the vessel departs, get the SB number and port code from your CHA in writing
  • ☐ Verify the SB number and port code before entering in GSTR-1 — character by character
  • ☐ Verify your GSTIN on the Shipping Bill matches your actual GSTIN
  • ☐ File GSTR-1 within 5 days of the Shipping Bill date — include the export invoice in Table 6A with correct SB number, date, port code, invoice value, and IGST amount
  • ☐ File GSTR-3B for the same period — do not leave GSTR-3B pending
  • ☐ Check EGM status on ICEGATE 7 days after vessel departure — if not filed, escalate to CHA immediately
  • ☐ Confirm your AD Code bank account on ICEGATE is current and matches your active bank account
  • ☐ Check ICEGATE refund status 15 days after GSTR-1 filing — if no movement, investigate which step is blocked

Frequently Asked Questions

I exported in January and GSTR-1 for January was filed, but I still haven't received IGST refund in April. What is the first thing to check?

Check EGM status on ICEGATE for your January Shipping Bill. This is the single most common reason for a stuck refund that seems to have all the right data. Go to icegate.gov.in → Shipping Bill Status → enter your SB details → look at EGM status. If EGM is not filed, contact your CHA immediately. If EGM is filed, compare your GSTR-1 Table 6A Shipping Bill number against the actual SB document — a mismatch here is the second most common cause at this stage.

My IGST refund shows "sanctioned" on ICEGATE but money hasn't arrived in my bank account after 2 weeks. What now?

The sanction has been issued, which means the money is in the payment pipeline. Check PFMS at pfms.nic.in for your bank account details — see whether the payment was processed and whether there was a bank-side rejection. Also verify with your CHA that your AD Code bank account details are current on ICEGATE. Bank-side rejections (wrong account number, account closed, IFSC changed) are the most common reason for sanction-to-payment delays. Contact your CHA with this information and they can initiate re-payment once the bank account is corrected.

Can I switch from the IGST route to the LUT route mid-year to avoid these complications for future shipments?

Yes, absolutely. File your LUT on the GST portal today if you have not done so. From the day of LUT filing onwards, you can export without IGST payment and switch to the ITC refund route (RFD-01) for new shipments. Your historical IGST-paid shipments remain on Route 2 — you continue to track those refunds separately. There is no complication in having both routes active in the same financial year — just maintain clear records of which Shipping Bills are IGST Paid (Route 2) and which are LUT route (Route 1).

My CHA says they cannot amend the Shipping Bill after it is filed. Is that true?

Amendments to filed Shipping Bills are possible but require specific conditions and a formal application to the customs authority. Minor clerical errors (address formats, capitalisation) may be correctable by the CHA through ICEGATE's amendment facility. Material errors (wrong GSTIN, wrong invoice value, wrong HS code) require an amendment application to the Assistant Commissioner of Customs with supporting documentation — and approval is at the officer's discretion. It is not as simple as editing a document, but it is not impossible either. The cleaner approach is getting it right before submission rather than relying on amendment processes.

What is the maximum time I have to claim IGST refund after export?

The IGST refund on goods exports is not an "application" in the traditional sense — it is triggered automatically by the Shipping Bill plus GSTR-1 Table 6A data. However, the GST Council has clarified that if the automatic refund is not processed, exporters can file a manual refund application (RFD-01 under "Excess payment of tax") within 2 years from the relevant date. For exports, the relevant date is the date the Shipping Bill was filed. Do not let a stuck refund sit unresolved for years — the 2-year clock is running, and beyond that limit you lose the entitlement entirely.

Conclusion

The IGST refund system for goods exports works well when data discipline is maintained. The ten failure modes described in this guide account for approximately 95% of all stuck IGST refunds — and every one of them is preventable with a pre-shipment checklist and a habit of verifying Shipping Bill data before entering it in GSTR-1.

Build that checklist. Use it for every shipment. Verify EGM status after every vessel departure. Keep your AD Code bank account current. And if a refund does get stuck — run through the diagnosis systematically rather than waiting passively for it to sort itself out. The money is yours; the process exists to return it to you.

For exporters who find the IGST route's data sensitivity too demanding, switching to the LUT route (Route 1) with ITC refund via RFD-01 eliminates the Shipping Bill vs GSTR-1 matching problem entirely — because there is no IGST payment to match. See our guide on How to File LUT for GST-Free Exports to make the switch.

Satyajit Srichandan

Satyajit Srichandan

Exporter & Founder, Eximigo

Exporter and global trade professional sharing practical knowledge about international trade, export documentation, logistics, and market opportunities.

Stay Ahead in Global Trade

Get the latest export guides, trade news, and market opportunities delivered to your inbox.