Knowledge Portal

The complete guide to e-BRC, EGM & export refunds

Every export tells its story in three documents. This guide explains what each one is, how it is created, how to pull it from DGFT and ICEGATE, the errors that quietly stall your refunds — and how to handle it all at scale.

A working reference for exporters, importers & their consultants · ~12 min read
Start here

The three documents behind every export

A goods export is really a story told in three official documents, filed at three different moments by three different parties. Get all three to line up and your refunds and incentives flow almost automatically; let any one of them go missing or mismatch, and the money quietly stops.

Shipping bill
You declared it
Your declaration to Customs that you intend to export — it carries the port code, SB number and date, item details, FOB value, drawback and IGST fields. Everything else links back to it.
EGM
It left the country
The carrier's manifest, filed after the goods physically depart. This is the event that lets Customs close the shipping bill.
e-BRC
You got paid
The DGFT certificate that your export proceeds have been realised. Under the current system you self-certify it by matching your bank's reported inward remittances to your export documents.

A service or software export has no shipping bill and no EGM — it never touches Customs — but it still ends in an e-BRC once payment arrives. We cover that difference in the goods-vs-services section below.

e-BRC

What an e-BRC is, in plain English

An e-BRC (Electronic Bank Realisation Certificate) is the digital certificate on DGFT that records that your overseas buyer's payment for an export has been realised in India. Under the system in force since November 2023, your Authorised Dealer (AD) bank reports each inward remittance to DGFT electronically as an Inward Remittance Message (IRM); you then generate the e-BRC yourself on the DGFT portal by matching those remittances to the relevant shipping bill, SOFTEX or invoice. It is a self-certification model — there is no per-certificate bank signature.

The certificate has evolved through three stages. Before 2012, an exporter collected a paper BRC from the bank for each realisation. From 2012, DGFT moved it online — banks transmitted realisation data electronically under digital signature. From November 2023, DGFT switched to self-certification: banks push inward-remittance data (IRMs) to DGFT, and the exporter creates and self-certifies the e-BRC by mapping IRMs to export documents — one e-BRC can group several IRMs, or one IRM can be split across several e-BRCs. (That mapping and generation is exactly what EximJinn's e-BRC Generation module automates.)

Why the e-BRC is non-negotiable
  • GST refunds: exports are zero-rated, so the GST on them is refundable — but realisation has to be evidenced.
  • Foreign Trade Policy incentives: RoDTEP, RoSCTL and similar schemes verify against realised value.
  • FEMA compliance: it demonstrates that proceeds were realised within the RBI-permitted window.
  • Duty drawback: non-realisation can trigger recovery of drawback already paid — the e-BRC protects the claim.
  • Bank & EDPMS closure: it lets the bank reconcile and close your shipping bill / SOFTEX in EDPMS.
  • Credibility: a clean realisation history helps with export finance and limits.

And it is not just for large manufacturers. Every exporter earns one — goods exporters, IT / ITeS and software firms, SaaS companies, freelancers and e-commerce sellers alike. If money comes in from abroad against an export, an e-BRC is how that payment becomes provable.

Process

How an e-BRC comes into being

Under the current self-certification system you generate the e-BRC yourself on DGFT, from the remittance data your bank reports. Knowing the chain helps you see where an expected e-BRC is stuck:

  1. 1Your buyer pays, and the proceeds are realised in India within the RBI-permitted period (currently 9 months from the date of export; the RBI can temporarily extend this from time to time).
  2. 2Your bank reports the inward remittance to DGFT electronically as an Inward Remittance Message (IRM) (banks moved to API integration with the upgraded system in early 2024).
  3. 3On DGFT you match the IRM(s) to the relevant shipping bill / SOFTEX / invoice — several IRMs can be grouped under one e-BRC, or one IRM split across several.
  4. 4You self-certify, and DGFT generates the e-BRC (foreign-currency values converted to rupees at the notified reference rate). It is available immediately — no per-certificate bank signature.
Where e-BRCs go missing
If the bank has not yet transmitted the IRM, or you have not matched it to an export document and self-certified, the e-BRC simply will not exist yet. Partial realisations produce partial e-BRCs. This is exactly the kind of gap that is invisible one bill at a time but obvious when you pull everything together — and it is why the IRM/ORM Repository and utilisation reports matter.
Generation

Generating an e-BRC — the choices explained

When you generate an e-BRC (individually or in bulk) DGFT asks a few questions. They look technical but each has a simple, legal meaning. Here is what to pick and why.

Avail GSTIN benefit — Yes or No

This is whether you want the e-BRC linked to your GST tax invoices. Choose Yes if the e-BRC should tie to specific GST invoices — you then supply the GST invoice number and date, and DGFT records the realisation against them (useful where the export realisation needs to sit against your GST records). Choose No if you don't need that GST linkage; the e-BRC is still generated against the shipping bill and commercial invoice.

Commercial invoice vs GST invoice — two different things
Even when you say No to the GST benefit, DGFT still asks for an Invoice Number. That is your commercial export invoice — the invoice you raised on the overseas buyer for the goods, referenced by the shipping bill. It is always required, because it identifies exactly what the e-BRC certifies payment for. The GST Invoice No. is a separate thing — your tax invoice — and is only needed when you avail the GST benefit.

Payment realised in — regular account vs Vostro / SRVA

For a normal export realised in foreign currency into your own account, this is not a Vostro/SRVA case — leave it as the regular remittance (No). Choose a Rupee Vostro option only when the payment was settled in Indian rupees through a special banking arrangement:

  • SRVA — Special Rupee Vostro Account: the RBI mechanism for settling international trade in INR (used, for example, for trade with countries under rupee-settlement arrangements). Pick this if your export proceeds came in via an SRVA.
  • NVRA — Normal Vostro: payment realised through a normal (non-special) rupee vostro account.

If in doubt for a standard USD/EUR/GBP export, it is the regular option — SRVA/NVRA are the exceptions, not the rule.

Deductions & Net Realised Value

DGFT lets you record commission, discount, insurance, freight and other amounts in two columns: those that reduce the Net Realised Value (they lower the certified value and are printed on the e-BRC), and those for information only (recorded but not deducted). Bank charges — the small shortfall the bank keeps — are the usual reason the amount received is a little under the invoice value; record them so the invoice reconciles.

Individual vs bulk generation (and the IFSC)

Both routes create the same e-BRC. Generating one at a time on DGFT, the bank IFSC of the realisation account is filled in for you (read-only). In the bulk file you must supply that IFSC yourself, because DGFT's IRM download carries the AD code but not the IFSC. It is the same for every remittance received through that AD bank branch — so in EximJinn you set it once in Generation setup, and it fills every line.

Purpose code matters
Each remittance carries an RBI purpose code. e-BRCs can't be generated for certain codes (e.g. P0101 / P0108), and some codes are only valid for goods vs services. If a line is rejected on the purpose code, check the remittance was booked under the right one — use the SAC ⇄ Purpose Code finder for services.
How-to

Checking & downloading your e-BRCs from DGFT

On the DGFT portal, e-BRCs live in your Bills repository. The manual path is:

  1. 1Log in to the DGFT portal with your IEC credentials.
  2. 2Open My Dashboard → Repositories.
  3. 3Under Bills Repositories, click Explore.
  4. 4Choose Bank Realisations (e-BRC) from the dropdown.
  5. 5Enter a date range (DGFT limits how wide a window you can pull at once) and search.
  6. 6Open a Bank Realisation Number to view its details, then Print / Download the PDF.

That is fine for one or two certificates. The friction is scale and DGFT's per-request limits: pulling a full year means many small windows, one PDF at a time, then matching each back to a shipping bill by hand.

How EximJinn changes this step
EximJinn logs in for you and bulk-downloads every e-BRC across any period in one go — it splits the range into DGFT's allowed windows automatically, so a whole year comes down without you babysitting each request — then names each PDF and links it to its shipping bill and (for goods) its EGM. The separate e-BRC Generation module goes a step further and prepares bulk e-BRC generation files from your IRMs for you to sign on DGFT.
EGM

What an EGM is, and why it is the real proof of export

An EGM (Export General Manifest) is the list the carrier — the shipping line or airline — files with Customs after your goods have actually left the country. Each consignment gets a unique EGM number and date, tied back to your shipping bill. Under Section 41 of the Customs Act, 1962, the person-in-charge of the conveyance must file it (the Export Manifest for air cargo), listing everything loaded for export.

This matters because the shipping bill only shows you intended to export; the EGM confirms the carrier actually manifested and carried the cargo out. Courts and Customs treat EGM filing as the moment the export is legally complete. Its core jobs:

  • Departure verification — evidence the goods physically left India.
  • Customs closure — the trigger that lets Customs close the shipping bill.
  • Refund processing — for exports on payment of IGST, a filed, error-free EGM is what releases the refund.
  • Anti-fraud — it makes a benefit claim traceable to a real, manifested shipment.
EGM and your IGST refund (Rule 96)
If you export on payment of IGST, your shipping bill itself is treated as the refund application under Rule 96 of the CGST Rules — but the refund is only deemed to be applied for, and only flows, once the EGM is filed and a valid GSTR-3B for the period exists. ICES then auto-validates the shipping bill against the GST data (Table 6A of GSTR-1) before crediting the refund.
Troubleshooting

EGM errors — the quiet refund killers

An EGM “error” means the Customs system could not cleanly match the EGM to your shipping bill. Until it is corrected, the shipping bill stays open and any IGST refund, drawback scroll or EDPMS closure attached to it stalls. The most common causes:

  • Shipping bill number / date not matching ICEGATE records
  • Container number typos or duplication
  • Let-Export-Order (LEO) date inconsistencies
  • Short-shipment / shut-out status not updated
  • Duplicate manifest entries
  • Exporter IEC / GSTIN mapping failures
  • Non-filing or delayed filing by the carrier
  • Gateway-port misalignment in transhipment
  • Incorrect vessel / voyage details

How they get resolved:

  1. 1EGM amendment via ICEGATE with supporting documents — minor (clerical) amendments are straightforward; major ones (affecting revenue, classification or identity) may need officer adjudication.
  2. 2Short-shipment / shut-out regularisation — with the shipping line's endorsement, so the cargo can be re-exported or re-filed.
  3. 3Condonation for late / non-filing — carriers file within the prescribed window (typically 24 hours of departure); delays need a condonation request and late-filing charges.
Why chase these early
Unremedied manifest discrepancies expose the carrier (and indirectly you) to penalties under Sections 117, 30(1) and 41 of the Customs Act and the SCMTR, 2018 — and, more painfully for exporters, withheld drawback, IGST and RoDTEP. The responsibility to file sits with the carrier, but the stalled refund is yours. Finding the error in week one, not month six, is the whole game — which is why EximJinn surfaces missing and errored EGMs in bulk.
Goods vs services

Why services have no EGM

Goods physically cross the border, so they go through Customs and generate a shipping bill, a port code and later an EGM. Services — software, IT / ITeS, consulting, design — have nothing physical to ship, so they never touch Customs. Instead they are declared on a SOFTEX, certified by STPI. The remittance is still reported to DGFT as an IRM, and you self-certify the e-BRC against the SOFTEX (rather than a shipping bill). So you always get an e-BRC, but only goods exports have a shipping bill and an EGM.

A change worth diarising
SOFTEX is being retired. The RBI has replaced it with a single Export Declaration Form (EDF): from 1 October 2026, banks (not only STPI) can certify software and service exports, with one consolidated EDF covering a month's service / software exports. The principle stays the same — link the export to the payment — but the form and the certifying party change.

Practically: if you export services only, keep the EGM module off. There is no shipping bill for it to check. EximJinn validates the shipping bill and port code before it ever queries ICEGATE, and skips SOFTEX / service e-BRCs automatically, so a services account never chases a manifest that cannot exist.

The money

Refunds & incentives — how they actually pay out

How the IGST refund works. You can export goods on payment of IGST and claim that tax back. You do not file a separate application — your shipping bill is the application. The refund releases automatically once everything lines up:

  1. 1GSTR-1 is filed with your export invoices in Table 6A (correct SB number, SB date and port code).
  2. 2GSTR-3B is filed for the period, with the IGST in Table 3.1(b) at least equal to the IGST in Table 6A.
  3. 3The GST portal transmits this to ICEGATE, which matches it against the shipping bill + EGM and credits the refund — usually with no manual intervention.

Three benefits, often confused:

  • Duty drawback — gives back the customs duty embedded in the inputs of your exported goods.
  • IGST refund — returns the GST you paid on the export itself.
  • RoDTEP — remits other embedded central / state taxes and levies, issued as transferable scrips.
The drawback ↔ IGST interaction
If you claim the higher (composite) rate of drawback, your IGST refund on the same exports is restricted to the extent of the differential. Most exporters therefore claim the lower drawback rate and take the full IGST refund. All three benefits still depend on a clean shipping bill, a filed EGM and — for realisation — your e-BRC.
Diagnosis

Why an export refund gets stuck

When a refund does not arrive, it is almost always one of a short list:

  • The EGM is not filed, or is filed with an error that Customs could not match.
  • A mismatch between the shipping bill and the GST return — wrong SB number, date or port code in Table 6A.
  • GSTR-1 or GSTR-3B not filed for the period.
  • Export proceeds not realised — no e-BRC — within the RBI timeline.

Best practice is boring but effective: monitor EGM status continuously, reconcile shipping bills against realisations after each sailing, keep sailing confirmations from your lines, raise amendments the moment a discrepancy shows, and keep a clean documentary trail. The hard part is doing it across hundreds of bills — which is where a tool earns its keep.

At scale

Doing this across hundreds of shipments

None of the above is conceptually hard for a single shipment. It becomes hard at volume: e-BRCs sitting in DGFT, EGMs in ICEGATE, remittances in the bank — three systems, per-request limits, and reconciliation that is manual, error-prone and easy to postpone until a refund is already late. Manual keying across systems is where invoice numbers, amounts and dates drift out of alignment.

EximJinn brings both government sources into one workspace and does the joining for you:

  • Bulk e-BRC download from DGFT across any period, split into DGFT's allowed windows automatically.
  • EGM, shipping-bill status & duty-drawback pulled from ICEGATE in one click, with missing / errored EGMs flagged.
  • Transhipment handling — checks both origin and gateway ports for your EGM.
  • Reconciliation — each shipping bill linked to all of its e-BRCs, with everything exportable to Excel.
  • e-BRC Generation — pulls your inward remittances, maps them to shipping bills / invoices, and prepares bulk generation files for you to sign on DGFT.
  • Services-aware — SOFTEX / service e-BRCs are kept out of the goods flow automatically.
The tool

Using EximJinn — the modules

EximJinn is organised into modules that each own one part of the export trail, all joined together so a shipping bill you upload once is understood everywhere. Here is what each module does and how to use it.

Export Hub — your document spine

Upload each shipping bill once and the tool reads it into its invoices, HSN-wise items and — crucially — the foreign-currency value (ICEGATE/EGM never carry FC). Then keep every related document together and see what's missing.

  1. Upload the shipping-bill PDF (or forward it to your private intake email); it's read into invoices + items.
  2. Attach the invoice, packing list, BL/AWB, insurance, etc. — a bulk upload auto-sorts them by type.
  3. Set which documents are mandatory (up to 10, with an effective date) in Set up documents; each export then shows what's still pending.

EGM & Shipping Bill Status — the customs check

Confirms, in bulk, whether each shipping bill's EGM is filed on ICEGATE — the event that lets Customs close the bill and your IGST refund flow.

  1. Bring shipping bills in from your e-BRCs, utilisation report, shipping-bill data, or an Excel upload.
  2. Each bill is looked up on ICEGATE in the background and sorted into EGM filed / not filed / not found.
  3. Chase the not-filed ones with your CHA — those are the bills quietly holding up refunds.

e-BRC Generation — four steps to a filed e-BRC

The heart of the tool: map your bank's inward remittances to the invoices they paid for and generate the e-BRCs in bulk. The unit is the invoice — one shipping bill can hold several, and each invoice is realised and e-BRC'd separately.

  1. IRM Repository — pull your inward remittances (IRMs) from DGFT.
  2. Shipping Bills / Invoices — add the bills + invoices with their FC value and customer (from Export Hub or a template). Each row shows what's already realised (locked), what you've allocated (pending) and the balance.
  3. Allocation — map each remittance to the invoice(s) it paid for (one IRM can fund many invoices, and vice-versa). Record bank charges so a short receipt still reconciles to the invoice value; the reconciliation panel shows the balance left on both sides.
  4. Generate — every row is validated against DGFT's rules and the ICEGATE check first; then push it to DGFT and sign with your DSC (or download the file and upload it yourself). Signing on DGFT is the final, irreversible step.

e-BRC Download — the finished certificates

Bulk-downloads every e-BRC from DGFT — PDFs and records for your whole export history — split into DGFT's allowed date windows automatically and matched back to your shipping bills.

Analytics & Master Data — the whole book

Two views of the same data. Analytics charts your exports (country, customer, monthly turnover, realised vs outstanding, documents); click any number to drop into Master Data filtered to those transactions. Master Data is one row per shipping bill — SB, customer, CIF/FOB, EGM, e-BRC, documents — searchable and date-filterable, with a per-SB 360 view showing IRMs, e-BRCs (with PDF), documents and the amount still outstanding.

Roles & access
The first account created for an IEC is its admin (it can operate everything and change the document configuration); additional accounts on the same IEC are users who operate the modules but don't reconfigure them. Trials activate instantly on signup — one free trial of the whole toolkit per IEC.
Reference

The regulatory backbone, in one table

ProvisionWhat it governs
Customs Act, 1962 — Section 41Filing of the Export General Manifest by the carrier
Customs Act, 1962 — Sections 30(1), 41, 117Manifest-specific and general penalties for non / wrong filing
CGST Rules — Rule 96Shipping bill deemed to be the IGST refund application; EGM + GSTR-3B conditions
GSTR-1 Table 6A / GSTR-3B Table 3.1(b)Export invoice + tax data matched by ICEGATE before refund
Customs & Central Excise Duties Drawback RulesRecovery of drawback if proceeds are not realised in time
FEMA — realisation periodTimeline to realise export proceeds — currently 9 months from export (the RBI may temporarily extend this)
SCMTR, 2018Sea Cargo Manifest & Transhipment framework for EGM amendments
DGFT e-BRC self-certification (Nov 2023)Exporter self-certifies the e-BRC by matching bank-reported IRMs to export documents (replaced the 2012 bank-signed model)
RBI EDF (from 1 Oct 2026)Single Export Declaration Form replaces SOFTEX; banks may certify software / service exports

Provided for general understanding, not as legal or tax advice. Rates, timelines and forms change — confirm the current position for your case.

Quick answers

Frequently asked questions

Do software / service exporters also get an e-BRC?+
Yes. A service or software export never passes through Customs, so it has no shipping bill and no EGM — but the bank still issues an e-BRC once your payment arrives. A goods export links to a shipping bill; a service export links to a SOFTEX. You get an e-BRC either way.
How long do I have to realise my export proceeds?+
Export proceeds must generally be realised within the RBI-permitted period — currently 9 months from the date of export. (The RBI has, at times, temporarily extended this — for example to 15 months for a limited period — but the standard limit is 9 months.) If proceeds are not realised in time, benefits already granted (such as duty drawback) can be recovered.
Who generates the e-BRC now — the bank or me?+
Since November 2023 it is self-certification: your bank reports each inward remittance to DGFT as an Inward Remittance Message (IRM), and you generate the e-BRC on DGFT by matching those IRMs to your shipping bills / SOFTEX / invoices. That mapping across hundreds of remittances is what EximJinn's e-BRC Generation module automates; the download module then pulls the finished e-BRCs in bulk.
My exports are services only — should I switch the EGM module off?+
You can. Service and software exports have no shipping bill, port code or EGM, so there is nothing for the EGM module to fetch from ICEGATE. EximJinn validates the shipping bill and port code before it ever queries ICEGATE and skips SOFTEX / service e-BRCs automatically; an administrator can also disable the EGM module for a services-only account.
Why does my EGM sometimes sit at a different port?+
When cargo is booked at one port but leaves the country through another — an inland or origin port with the goods finally moving out through a gateway such as Sahar Air Cargo, Mumbai — the EGM is filed at the gateway port. Set the transhipment rule once and EximJinn checks both the origin and the gateway.

SAC ⇄ Purpose Code finder

Tool

Exporting a service? Search 554 services and 82 RBI purpose codes to find the right code for your bank remittance — by service, SAC code or purpose code.

Open the finder

Still have a question?

Our team is happy to help you understand your e-BRCs, EGMs and refunds.