An AD code, short for authorised dealer code, is the code of the foreign-exchange branch linked to your current account, which your bank quotes so Customs can link your exports to it. To run an AD code check, log in to ICEGATE and open Bank Account, then Foreign Remittance Account (Authorized Dealer Code).
The status you want to see is Accepted. Under CBIC advisory 10/2022, a code registered and accepted at one port is valid at every Customs location. You do not need a separate one for each port, airport or inland container depot (ICD).
Before you start, keep three things ready: your ICEGATE user ID and password, the letter your bank issued with the code, and your Importer Exporter Code (IEC). You do not need a Digital Signature Certificate (DSC) for this login. If the code is missing or not yet Accepted, you can register, change or fix it from the same ICEGATE tab.
How to check AD code in ICEGATE and see its registration status
The check takes five short steps once you can log in. You need an ICEGATE account created with your IEC, since the code is stored against that profile and nowhere public.
- Log in to ICEGATE - Go to ICEGATE, choose Login and sign in with your user ID and password, then enter the one-time password (OTP) sent to your registered mobile or email. If you have forgotten the password, reset it from the login page using your registered email or mobile number.
- Open the Bank Account tab - It holds two account types: the Refund/Incentive Account, used for duty drawback and refunds, and the Foreign Remittance Account (Authorized Dealer Code).
- Select Foreign Remittance Account (Authorized Dealer Code) - ICEGATE lists each registration with its Location Code, Bank Name, AD Code, Account Number and Status at Customs.
- Read the status and match the code - Check that Status at Customs shows Accepted, then compare the code with your bank letter digit by digit.
- Save proof - Download or screenshot the page showing Accepted. Customs brokers often ask for it before filing, and it helps you if a shipping bill is questioned later.
The Location Code column shows the port where you registered. Your broker can still file shipping bills at other Customs locations. Each status tells you what to do next:
| Status at Customs | What it means | What to do |
|---|---|---|
| Accepted | The port officer has approved the account and its code | Nothing more; your broker can use it at any Customs location |
| Waiting for approval | Submitted and waiting for the officer at your port of registration | Check ICEGATE for a query and answer it; check the status before you submit again |
| Not accepted or missing | A detail did not match, or the account was never added | Correct the detail with your bank, then add or modify the account |
Can you check your AD code status without logging in?
No, not for your own registration. There is no public search by number or by bank name, because the status sits inside your ICEGATE account. If you do not have the login, there are three other ways to see the code:
- Your customs broker - Whoever registered the code for you can log in and read the status.
- An earlier shipping bill - The bill from a past export shows the code your broker used.
- Your bank letter - The letter shows the code itself, though not its status on ICEGATE.
What is an AD code (authorised dealer code) and why exporters need it
This code ties your foreign exchange bank account to Customs. Every export or import you file carries it, so your bank can match money coming in or going out against the right shipment.
Without it, your trade documents and your bank records cannot be matched, and your bank has no way to close an export bill against the payment you receive. That is also why an AD code check is worth running before your first shipment, so a broker never finds the problem for you.
AD code meaning and full form in one plain answer
The AD code full form is authorised dealer code. The Reserve Bank of India (RBI) allows certain banks, called Authorised Dealer Category-I (AD Category-I) banks, to handle foreign exchange through branches authorised for that work.
Your code is the code of the foreign-exchange branch linked to your account, and your bank quotes it on a letter for you. The bank letter and your ICEGATE registration both need your IEC from the Directorate General of Foreign Trade (DGFT), so get the IEC before you ask the bank.
AD code for export and what Customs and your bank do with it
Customs and your bank both use the code, on exports and on imports. Here is what each does with it:
- Customs - Your broker quotes the code on every shipping bill, so Customs knows which bank will receive the export proceeds.
- Your bank - Each shipping bill reaches your bank through the Export Data Processing and Monitoring System (EDPMS), the RBI system that tracks export payments. When your buyer pays, the bank marks that bill as realised.
- For imports - The AD code for import works the same way: the bank matches outward payments to each bill of entry in the Import Data Processing and Monitoring System (IDPMS).
This tracking is why the code matters long after the goods leave: an unrealised shipping bill can lead to questions from your bank. If you trade both ways, it helps to know how EDPMS and IDPMS differ. Duty drawback and IGST refunds do not use this code; they go to the separate Refund/Incentive Account.
Is the AD code 7 digits or 14 digits long?
Both numbers show up, which is why the question comes up so often. Banks usually write the full code as 14 characters, and the branch lists that some banks publish show it as two groups of seven, such as 0303385/2900009.
For courier shipments only, a CBIC courier advisory (Mumbai, 2023) asks for a valid 7-digit code. Some groups also contain letters, so copy the code exactly rather than retyping it from memory.
AD code vs IFSC vs IEC and what each one is for
Exporters often mix up the AD code, the Indian Financial System Code (IFSC) and the IEC because all of them sit on the same forms. They do different jobs, and you need each one:
| Code | Who issues it | What you use it for |
|---|---|---|
| Authorised dealer code | Your bank, for a branch allowed to deal in foreign exchange | Links your bank account to Customs for exports and imports |
| IFSC | Your bank, for every branch | Domestic transfers such as NEFT and RTGS |
| IEC | DGFT, against your Permanent Account Number (PAN) | Your licence to import or export; needed before you ask the bank |
The two bank codes are not the same, even though one letter lists both. If you are unsure your IEC is active, you can run an IEC code verification before you ask the bank for anything.
Is there an AD code list of all banks?
No, not one single national list you can search. Each code belongs to a bank branch authorised for foreign exchange, and your registration uses your bank AD code, as quoted on your own bank letter.
Some banks publish a directory of their branches allowed to deal in foreign exchange, but none publishes customer accounts.
For State Bank of India, HDFC Bank, ICICI Bank, Axis Bank, Canara Bank, Bank of Baroda, Kotak Mahindra Bank, IndusInd Bank, Bank of India and Central Bank of India, ask your branch or trade-finance desk. These two banks publish branch lists that show each branch AD code:
- Punjab National Bank - PNB list of AD branches, with the code listed against each branch.
- Union Bank of India - Union Bank authorised dealing branches, with the code listed against each branch.
All twelve of these banks are scheduled commercial banks, so confirm your branch is AD Category-I before you rely on a bank AD code from any list.
How to get an AD code letter from your bank and what it must contain
Your bank issues the letter against a written request from your firm. Ask your branch which foreign-exchange branch is linked to your account, since that branch's code goes on the letter. A bank with a trade-finance desk usually makes the letter, the registration and later export paperwork easier for you, because the same team handles all three.
Before you ask, check that your IEC, PAN and firm name read the same everywhere, since the bank copies them onto the letter. A mismatch found now costs a phone call; found on ICEGATE, it costs a rejected registration and a second request.
Documents your bank and Customs ask for with the AD code letter
ICEGATE checks your code against two documents, so ask the bank for both at once:
- The bank authorisation letter - It shows your firm name and address, IEC, PAN, account number and holder name, the code with the IFSC, and branch contact details. It must also confirm that the PAN on your account matches the PAN on your IEC.
- A cancelled cheque - Or the latest bank statement, endorsed by the bank, as proof of the account. A missing cheque or PAN-match line is a common reason for rejection.
Under an ICEGATE advisory dated 1 October 2026, banks integrated with ICEGATE verify the code electronically, so you skip the document upload. Your entity name, PAN, IEC, account number, IFSC and code must still match across ICEGATE, DGFT and the bank.
Integrated banks also reject an account that is dormant, frozen or closed, or one with out-of-date KYC, so confirm the account is active before you apply.
Request letter you can send to your bank branch for the code
Banks issue the letter against a written request on your firm's letterhead. Copy this one, fill in the brackets, then print it on your letterhead, sign it and add your firm seal.
To, The Branch Manager, [Bank name], [Branch address] Subject: Request for AD code letter for registration with Indian Customs (ICEGATE) Dear Sir/Madam, We, [Firm name], hold current account number [Account number] at your branch. Our IEC is [IEC] and our PAN is [PAN]. Please issue our authorised dealer (AD) code on the bank's letterhead for registration on ICEGATE. Please show the AD code, IFSC, account number and account holder name, and our IEC and PAN, and confirm that the PAN on the account matches the PAN on our IEC. Please also endorse the enclosed cancelled cheque (or our latest bank statement) as proof of the account. Yours faithfully, [Authorised signatory] [Designation] [Date] [Firm seal]
Once registered, you can find the code later in three places: the AD code letter, the ICEGATE Bank Account tab, or a shipping bill from an earlier export.
AD code registration in ICEGATE, with steps to register it once for every port
AD code registration links your bank account to your ICEGATE profile, so your shipping bill data can reach the RBI through your bank. You register at one port only. Under CBIC advisory 10/2022, once it is accepted there, the code works at all Customs locations, and you can hold more than one code against one IEC.
- Set up IEC and ICEGATE - Your IEC must be active with DGFT, and you need an ICEGATE account under that IEC. Check that the mobile number and email on your profile are current, because ICEGATE sends one-time passwords there.
- Get the letter - Request it from your bank using the request letter template, with the PAN-match confirmation and the endorsed cancelled cheque or statement.
- Add the account - In Foreign Remittance Account (Authorized Dealer Code), click Add New Bank Account, enter your code and click "Get Details". ICEGATE fills in the bank; pick the branch if several share the code. Enter the account number and choose the Custom Location.
- Upload proof and verify - Choose the document type, upload a clear scan of the AD code letter and click Verify. ICEGATE fills in the Image Reference Number (IRN) for the document automatically.
- Submit and verify - Click Submit and complete the verification ICEGATE asks for, such as an OTP to your mobile or email. The message "Bank Account added successfully" confirms it. Then track the Status at Customs.
If your bank is integrated with ICEGATE, you skip step 4. The bank confirms the details electronically, so no document type, upload or IRN is needed, under an ICEGATE advisory dated 1 October 2026.
How to update or change your AD code with Modify Account on ICEGATE
You can edit an existing registration with Modify Account, but only when its Status at Customs reads Accepted. Changes are handled at your port of registration. Modify Account lets you change the bank, the branch and the account number, so moving your account does not need a fresh registration.
- Select the account - In Foreign Remittance Account (Authorized Dealer Code), tick the account you want to change and click Modify Account.
- Enter the new details - Enter the code and click "Get Details", pick the branch, then enter the account number.
- Upload and verify - Choose the document type, upload proof, click Verify and let the IRN fill in. Integrated banks skip this step.
- Submit and verify - Click Submit and complete the verification ICEGATE asks for. The message "Bank Account modified successfully" confirms it.
Before you change anything, ask the new bank or branch for a fresh letter and check that your firm name, IEC and PAN match your ICEGATE profile. Give the new code to your customs broker once it shows Accepted. If the move also changes where refunds land, update the Refund/Incentive Account too.
Why your AD code shows Pending or fails, and how to fix it
Most problems come from one of five causes. They show up as an error when your broker files the shipping bill, or as a status other than Accepted on ICEGATE. Start with the first one, since it is the cause exporters most often misread.
Before you work through the list, run a fresh AD code check on ICEGATE and note the exact status and Location Code. Keep a screenshot of it, because the helpdesk and your bank will both ask what the screen shows.
1. The AD code is not showing at the port you ship from
You do not need to register again at a new port, since one accepted registration covers all Customs locations. If your broker cannot pick up the code at the port you ship from, work through these checks in order:
- Status - Confirm the account shows Accepted in the Bank Account tab.
- IEC - Check that the IEC on the shipping bill is the one you registered the account under.
- Helpdesk - If both are right, call the ICEGATE helpdesk on 1800-3010-1000 with the shipping bill number and a screenshot of the tab.
2. The registration is stuck on Pending
A pending application means the officer at your port of registration has not acted yet, often because a query is waiting for your reply. Check ICEGATE for any query and answer it with the document asked for.
Check the application status before you resubmit, so you do not file the same request twice. If your bank verifies electronically and its systems were down when you applied, retry later rather than filing a second request. If nothing moves, the helpdesk can tell you whether the query sits with Customs or with your bank.
3. Details do not match across your documents
A rejection usually means your firm name, PAN, IEC, account number or IFSC differs between ICEGATE, DGFT and your bank. Even a missing "Pvt Ltd" counts. These are the mismatches to look for:
| Mismatch | Where to fix it |
|---|---|
| Firm name or PAN differs from your IEC | Update the IEC with DGFT, or ask the bank to correct its record |
| PAN and IEC under different customer IDs at the bank | Ask the bank to map both to one customer profile |
| IFSC belongs to a different branch | Use the IFSC of the branch that holds the account |
4. The documents are unclear or incomplete
Customs rejects blurred scans, letters without the PAN-match line and a missing cancelled cheque or endorsed statement. Upload a clear colour scan of the full letter and the cheque or statement.
If the letter is old, ask the bank for a fresh one that also shows the branch email and contact details. Check that the document type you select on ICEGATE matches the file you upload, since a mismatch there stops the Verify step even when the scan itself is clear and complete.
5. The OTP or verification step fails
The last step stops when the OTP goes to an old mobile number or email, or expires before you enter it. Update your ICEGATE contact details first, then use Resend OTP and enter it within the time allowed.
Electronic checks by integrated banks also fail when the account is dormant, frozen, restricted or closed, or when its KYC is out of date. Confirm with the bank that the account is active and the KYC is current before you submit again.
Getting paid from abroad for services exports without an AD code
The code is needed for goods that pass through Customs. If you bill overseas clients for services such as software, design or consulting, you file no shipping bill and need no registration on ICEGATE. You still need a record of each foreign payment for GST and income tax, usually an eFIRA.
With Xflow receiving accounts, your overseas clients pay you by local bank transfer. Once you withdraw, funds reach your Indian bank account within one business day of the withdrawal, at rates linked to inter-bank or mid-market rates. You also get a free FIRA from an RBI-authorised bank on every withdrawal.
Getting paid by clients abroad?
Frequently asked questions
An AD code is the code of the foreign-exchange branch linked to your current account, quoted on your bank letter. Customs and your bank use it to link each export and its payment to that account.
It depends on when the officer at your port of registration acts, or when your bank's electronic check returns. If the application stays pending, check ICEGATE for a query from the port of registration, or call the ICEGATE helpdesk on 1800-3010-1000.
Banks usually write the full code as 14 characters, often as two groups of seven. For courier shipments only, a CBIC courier advisory (Mumbai, 2023) asks for a 7-digit code. Use what your bank letter shows and ICEGATE accepts.
Yes, for goods exporters. You register once at one port, and under CBIC advisory 10/2022 the accepted code is valid at every Customs location.
No public search exists for your registration. Some banks publish lists of their branches that deal in foreign exchange, but your own code comes on your bank letter.
No. IFSC identifies a branch for domestic transfers, while the authorised dealer code links your account to Customs for foreign trade.
Your bank issues it. It is the code of the foreign-exchange branch linked to your account, and the bank quotes it in a letter.
For goods you ship against payment, you need a registered code before the shipping bill can be matched to your bank in EDPMS. Services exports need no such code.
The AD code in a bank is the code of the foreign-exchange branch linked to your account. Your bank quotes it on your letter so Customs can link your trade to your account.