EDPMS
How to Reconcile Amazon Settlement Reports with Shipping Bills
One payout covers 50-200 shipping bills. Order-to-SB mapping chain, proportional fee allocation, refund timing gaps, and the bank-ready mapping document.
By Aaryan Kakani · · 11 min read
Why doesn't one payout match one shipping bill?
Indian export regulation assumes a simple world: you ship goods against one invoice, the buyer wires you the money, and your bank ties that wire to that shipping bill. EDPMS (the Export Data Processing and Monitoring System run by RBI) is built on that assumption. Every shipping bill filed on ICEGATE creates its own EDPMS entry with status OPEN , and it stays open until your AD bank matches a remittance against it and closes it. The exporter cannot close it. Only the bank can.
Amazon Global Selling does not work that way. Amazon collects money from thousands of individual buyers, nets off its fees, holds back a reserve, deducts refunds from earlier periods, converts currency at its own rate, and then sends your bank one aggregated transfer per settlement cycle. That single credit has to be spread across every shipping bill in the period. And the relationship is not one-to-one in either direction.
A concrete illustration
You sell handicrafts on Amazon.com. In a fortnight you ship 340 orders. Your freight forwarder consolidates them into 4 export consignments, filing 4 shipping bills with a combined FOB of USD 41,200. Amazon then sends one settlement of USD 28,930.
- Shipping bill SB-7231044 alone contains 96 different Amazon orders . One bill, many orders.
- Order 402-8817263-4471529 was a 3-unit order; two units shipped in SB-7231044 and the backordered unit shipped four days later in SB-7238811. One order, two bills.
- USD 1,940 of the deduction is Sponsored Products advertising spend, which belongs to no order and therefore to no shipping bill.
- USD 612 of the deduction is refunds for orders that shipped last month, under shipping bills already closed in EDPMS.
- USD 3,100 is sitting in Amazon's reserve and will arrive in the next settlement, after the current period's shipping bills are already 15 days old.
So the honest statement of the problem is: orders map many-to-many onto shipping bills, and money maps many-to-one onto bank credits . Reconciliation means rebuilding both relationships from the underlying line items, then producing a per-shipping-bill figure that adds back up to the exact amount your bank received.
What is in the Amazon settlement report?
Everything starts with the settlement report. In Seller Central go to Reports → Payments → All Statements , find the settlement period you want, and download the flat file (tab-delimited) version. Not the summary PDF and not the on-screen view. Only the flat file has one row per transaction with the order-level detail you need. Each settlement report also carries a settlement-id that ties it to exactly one bank transfer.
These are the columns that matter for reconciliation. Ignore the rest.
| Column | What it holds | Why you need it |
|---|---|---|
| settlement-id | Unique ID of the payout batch | The key that ties the whole report to one SWIFT credit in your bank statement |
| transaction-type | Order, Refund, ServiceFee, Adjustment, Transfer, etc. | Decides whether the row is export revenue, a deduction, or just the payout line |
| order-id | Amazon order number (3-7-7 format) | First link in the chain to your invoice and shipping bill. Blank on account-level rows |
| shipment-id | The specific shipment within an order | Resolves split orders. This is what actually maps to a shipping bill |
| amount-type | ItemPrice, ItemFees, Promotion, ItemWithheldTax, other | Separates gross sale value from the fees netted against it |
| amount-description | Principal, Shipping, Commission, FBAPerUnitFulfillmentFee, RefundCommission | The line-item detail your bank and auditor will ask you to justify |
| amount | Signed value; negative for deductions | Sum of all rows in a settlement equals the net transfer |
| posted-date | Date the transaction hit the settlement | Reveals prior-period refunds sitting inside the current payout |
| currency | Marketplace currency (USD, GBP, EUR, CAD) | Must match the currency on the shipping bill, or you have a conversion to document |
The transaction-type column is what tells you how to treat each row. This is the treatment table you should hard-code into your process.
| transaction-type | What it is | Reconciliation treatment |
|---|---|---|
| Order | A completed sale, with Principal and the fees charged against it | Export revenue. Maps to a shipping bill via shipment-id. This is the backbone of the mapping |
| Refund | Money returned to a buyer, usually for an older order | Reduces realisable value of the original shipping bill if still open; otherwise a documented prior-period adjustment |
| ServiceFee | Subscription, Sponsored Products advertising, coupon redemption fees | Account-level. No order-id. Allocate proportionally by FOB value (see section 4) |
| FBA Inventory Fee | Monthly and long-term storage, removal, disposal, inventory placement | Account-level. Allocate proportionally. Never try to force it onto a single bill |
| Adjustment | Reimbursements for lost or damaged inventory, chargebacks, A-to-z claims, FBA corrections | Can be positive or negative. Positive reimbursements are not export proceeds. Exclude from EDPMS realisation |
| Transfer | The payout line itself, and reserve movements | Your control total. Match this against the bank credit before doing anything else |
How does an order map to a shipping bill?
There is no single field anywhere in Amazon that contains your shipping bill number. The link has to be built, hop by hop, from data you hold in four different places: Seller Central, your invoicing system, your forwarder's documents, and ICEGATE. This is the chain.
The order → EDPMS chain
- :
Step 3 is where most exporters lose the chain, because it is the only hop that depends entirely on your own record-keeping rather than on someone else's system. If your invoice does not carry the list of Amazon order-ids and shipment-ids it covers, the link between money and shipping bill is broken permanently, and no amount of later analysis recovers it.
How do I allocate platform fees across shipping bills?
Fees come in two flavours and they must be treated differently.
Order-level fees (referral commission, FBA per-unit fulfilment fee, refund commission) already carry an order-id in the flat file. Attach them straight to the shipping bill containing that order. No estimation, no judgement, no allocation policy needed.
Account-level fees (Sponsored Products advertising, Professional selling subscription, monthly and long-term storage, inventory placement, coupon redemption fees) carry no order-id. They are real deductions from your realisation, and they must land somewhere. The defensible method is proportional allocation by FOB value : each shipping bill in the settlement period absorbs account-level fees in the same ratio as its FOB value bears to the total FOB value of all shipping bills in that period.
The formula
Fee allocated to SB n = Total account-level fees × (FOB of SB n ÷ Total FOB of all SBs in the settlement)
Net realisable value of SB n = Gross order value in SB n − order-level fees of SB n − allocated account-level fees
Here is the arithmetic in full. Take a settlement covering three shipping bills with gross order values of USD 6,000, USD 4,000 and USD 2,000 (total USD 12,000) against which Amazon has charged USD 1,800 of account-level fees, leaving a net transfer of USD 10,200.
| Shipping bill | Gross FOB (USD) | Share of total | Fee allocation math | Fee (USD) | Net realised (USD) |
|---|---|---|---|---|---|
| SB-7231044 | 6,000.00 | 6,000 ÷ 12,000 = 50.00% | 1,800 × 0.5000 | 900.00 | 5,100.00 |
| SB-7234891 | 4,000.00 | 4,000 ÷ 12,000 = 33.33% | 1,800 × 0.3333 | 600.00 | 3,400.00 |
| SB-7238811 | 2,000.00 | 2,000 ÷ 12,000 = 16.67% | 1,800 × 0.1667 | 300.00 | 1,700.00 |
| Total | 12,000.00 | 100.00% | . | 1,800.00 | 10,200.00 |
The two checks that make this defensible: the fee column sums exactly to the USD 1,800 charged, and the net column sums exactly to the USD 10,200 your bank received. Your AD bank will close SB-7231044 for USD 5,100, SB-7234891 for USD 3,400 and SB-7238811 for USD 1,700. Three EDPMS closures against one remittance, with nothing unexplained.
Each shipping bill closes short of its FOB value, which is expected and permitted: eBRC and EDPMS record the amount actually realised. Keep the settlement report as the evidence for why the difference exists.
How do refunds, reserves and returns affect closure?
The clean case above assumes every rupee in the settlement belongs to a shipping bill in the same period. In practice it never does. These are the five things that break period alignment, and how each one is treated for EDPMS.
| Situation | What appears in the settlement | Effect on EDPMS closure | What to do |
|---|---|---|---|
| Refund, original SB still open | Negative Refund row with the original order-id, in a later settlement | Reduces the realisable value of that shipping bill | Net the refund off before submitting; close the SB for the reduced amount as a short realisation |
| Refund, original SB already closed | Negative Refund row referencing a prior-period order-id | None on that entry. Do not reopen a closed SB | Show as a prior-period adjustment line in the mapping statement, referencing the original order-id and SB number |
| Reserve withheld | Transfer/reserve movement reducing the current payout | Current-period SBs appear under-realised until release | Leave the affected SBs partly open and close the balance when the reserve releases. Flag the reserve amount explicitly to the bank |
| Reserve released | Positive reserve movement in a later settlement, with no order-id | Completes realisation on earlier SBs | Trace it back to the settlement that withheld it and apply to those same SBs. Never to the current period's bills |
| Return with goods not re-imported | Refund row plus possible disposal or removal fee | Permanent shortfall on that shipping bill | Close for the realised amount; where the shortfall is material, request a short-realisation write-off within the AD bank's delegated limit |
| Chargeback / A-to-z claim | Negative Adjustment row, sometimes with an order-id | Shortfall on the linked SB if the order-id is present | Treat like a refund where traceable; where untraceable, disclose as an unallocated deduction rather than spreading it silently |
| FX difference (Amazon rate vs bank rate) | Settlement in marketplace currency; bank credits a different INR figure | No effect on the FCY closure; INR values will differ | Reconcile and close in the currency of the shipping bill. Record the bank's conversion rate and date of credit separately |
What does my AD bank need from me?
Only your AD bank can close an EDPMS entry. It will do so against a single aggregated settlement covering many shipping bills. But only if you hand it a document that lets a trade finance officer verify each closure without doing any analysis. Submit four things together:
The submission pack
- Covering letter on company letterhead. IEC, AD code, settlement-id, remittance reference, total amount, number of shipping bills covered, signed by an authorised signatory.
- Settlement-to-shipping-bill mapping statement. The table below, one row per shipping bill, totals tying exactly to the credit.
- Raw Amazon settlement flat file. Unedited, as downloaded, so the bank can independently verify any row.
- Allocation policy note. One page explaining the FOB-proportional method and rounding rule, so the bank does not re-litigate the method every month.
This is the mapping statement layout. Copy these columns exactly; they are the fields a bank needs to populate its EDPMS closure screen without asking you a follow-up question.
| SB number | Port code | LEO date | FOB (USD) | Settlement ID | Allocated fees | Amount realised | Remittance ref | Date of credit |
|---|---|---|---|---|---|---|---|---|
| 7231044 | INBOM4 | 12-06-2026 | 6,000.00 | 28114772891 | 900.00 | 5,100.00 | IRM2606114093 | 04-07-2026 |
| 7234891 | INBOM4 | 14-06-2026 | 4,000.00 | 28114772891 | 600.00 | 3,400.00 | IRM2606114093 | 04-07-2026 |
| 7238811 | INDEL4 | 18-06-2026 | 2,000.00 | 28114772891 | 300.00 | 1,700.00 | IRM2606114093 | 04-07-2026 |
| Total. 3 shipping bills | 12,000.00 | . | 1,800.00 | 10,200.00 | Ties to credit of USD 10,200.00 |
Below the totals row, add three declaration lines: the total account-level fees allocated and the method used; any prior-period adjustments included in this settlement with their original SB references; and the opening and closing balance of the unallocated pool. Then a one-line certification that the amounts realised represent genuine export proceeds and that no amount has been claimed twice against any shipping bill.
Can I close many entries with one declaration?
Everything above describes full remittance-traced closure. For most e-commerce exporters there is a much lighter path, and it is under-used because it is recent.
RBI A.P. (DIR Series) Circular No. 12 (RBI/2025-26/89, dated 1 October 2025) permits declaration-based closure of EDPMS entries for exports valued under Rs 10 lakh , including through quarterly bulk declarations . Instead of tracing every rupee of a specific remittance to a specific bill, the exporter declares realisation for a batch of small-value shipping bills and the AD bank closes them on the strength of that declaration.
This matters enormously for e-commerce because the overwhelming majority of individual e-commerce shipments fall well under Rs 10 lakh . A courier-mode consignment of 40 consumer orders might total Rs 3. 6 lakh. The heavyweight bill-by-bill trace was designed for containerised exports worth crores; applying it to a stream of small parcel shipments is what creates the backlog in the first place.
| Aspect | Full remittance-traced closure | Declaration-based closure (under Rs 10 lakh) |
|---|---|---|
| Applies to | Any shipping bill, any value | Shipping bills valued below Rs 10 lakh |
| Evidence required | Per-bill allocation tied to a specific remittance reference | Exporter declaration of realisation, supported by platform settlement reports |
| Frequency | Per settlement, as remittances arrive | Can be filed quarterly as a single bulk declaration |
| Typical bank turnaround | Longer. Each row is verified against the settlement file | Shorter. The batch is processed as one instruction |
| Best used for | Large consolidated consignments, B2B orders, anything above the threshold | High-volume small-parcel and courier-mode e-commerce exports |
A quarterly bulk declaration should carry, at minimum: your IEC and AD code; the quarter covered; a schedule of every shipping bill in the batch with SB number, port code, LEO date and FOB value; the total FOB of the batch; the total realised in the quarter with the settlement-ids and remittance references it came from; a confirmation that no individual bill in the schedule exceeds Rs 10 lakh; and a signed declaration that the proceeds have been realised and repatriated within the permitted period.
Monthly reconciliation checklist
Every month, in this order
- Download every settlement flat file for the month from Reports → Payments → All Statements, across all marketplaces
- For each settlement, confirm the sum of the amount column equals the Transfer line, and that the Transfer equals the foreign currency credit in the bank statement
- Capture the inward remittance reference and date of credit for each settlement from the bank statement or IRM
- Split rows into order-level (has order-id) and account-level (no order-id) fees
- Explode orders to shipment-ids and join to commercial invoices via the invoice order annexure
- Join invoices to shipping bills; verify SB number, port code, LEO date and FOB value against ICEGATE
- Allocate account-level fees by FOB proportion; check the fee column sums exactly to the fees charged
- Identify prior-period refunds, reserve withholds and reserve releases; route each to the correct period rather than the current one
- Confirm no shipping bill's realised amount exceeds its FOB value
- Reconcile the unallocated pool: opening balance plus movements equals closing balance
- Produce the mapping statement; confirm the realised column ties to the credit to the last cent
- Submit to the AD bank trade finance desk with the raw settlement file and allocation policy note
- Age all open EDPMS entries by LEO date; escalate anything past 6 months
- File the quarterly bulk declaration for all under-Rs-10-lakh bills on a fixed calendar date
- Once EDPMS entries close, file the corresponding eBRCs on the DGFT portal by mapping IRMs to shipping bills
Update history
- First published.