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.

ColumnWhat it holdsWhy you need it
settlement-idUnique ID of the payout batchThe key that ties the whole report to one SWIFT credit in your bank statement
transaction-typeOrder, Refund, ServiceFee, Adjustment, Transfer, etc.Decides whether the row is export revenue, a deduction, or just the payout line
order-idAmazon order number (3-7-7 format)First link in the chain to your invoice and shipping bill. Blank on account-level rows
shipment-idThe specific shipment within an orderResolves split orders. This is what actually maps to a shipping bill
amount-typeItemPrice, ItemFees, Promotion, ItemWithheldTax, otherSeparates gross sale value from the fees netted against it
amount-descriptionPrincipal, Shipping, Commission, FBAPerUnitFulfillmentFee, RefundCommissionThe line-item detail your bank and auditor will ask you to justify
amountSigned value; negative for deductionsSum of all rows in a settlement equals the net transfer
posted-dateDate the transaction hit the settlementReveals prior-period refunds sitting inside the current payout
currencyMarketplace 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-typeWhat it isReconciliation treatment
OrderA completed sale, with Principal and the fees charged against itExport revenue. Maps to a shipping bill via shipment-id. This is the backbone of the mapping
RefundMoney returned to a buyer, usually for an older orderReduces realisable value of the original shipping bill if still open; otherwise a documented prior-period adjustment
ServiceFeeSubscription, Sponsored Products advertising, coupon redemption feesAccount-level. No order-id. Allocate proportionally by FOB value (see section 4)
FBA Inventory FeeMonthly and long-term storage, removal, disposal, inventory placementAccount-level. Allocate proportionally. Never try to force it onto a single bill
AdjustmentReimbursements for lost or damaged inventory, chargebacks, A-to-z claims, FBA correctionsCan be positive or negative. Positive reimbursements are not export proceeds. Exclude from EDPMS realisation
TransferThe payout line itself, and reserve movementsYour 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

  1. :

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 billGross FOB (USD)Share of totalFee allocation mathFee (USD)Net realised (USD)
SB-72310446,000.006,000 ÷ 12,000 = 50.00%1,800 × 0.5000900.005,100.00
SB-72348914,000.004,000 ÷ 12,000 = 33.33%1,800 × 0.3333600.003,400.00
SB-72388112,000.002,000 ÷ 12,000 = 16.67%1,800 × 0.1667300.001,700.00
Total12,000.00100.00%.1,800.0010,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.

SituationWhat appears in the settlementEffect on EDPMS closureWhat to do
Refund, original SB still openNegative Refund row with the original order-id, in a later settlementReduces the realisable value of that shipping billNet the refund off before submitting; close the SB for the reduced amount as a short realisation
Refund, original SB already closedNegative Refund row referencing a prior-period order-idNone on that entry. Do not reopen a closed SBShow as a prior-period adjustment line in the mapping statement, referencing the original order-id and SB number
Reserve withheldTransfer/reserve movement reducing the current payoutCurrent-period SBs appear under-realised until releaseLeave the affected SBs partly open and close the balance when the reserve releases. Flag the reserve amount explicitly to the bank
Reserve releasedPositive reserve movement in a later settlement, with no order-idCompletes realisation on earlier SBsTrace 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-importedRefund row plus possible disposal or removal feePermanent shortfall on that shipping billClose 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 claimNegative Adjustment row, sometimes with an order-idShortfall on the linked SB if the order-id is presentTreat 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 figureNo effect on the FCY closure; INR values will differReconcile 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 numberPort codeLEO dateFOB (USD)Settlement IDAllocated feesAmount realisedRemittance refDate of credit
7231044INBOM412-06-20266,000.0028114772891900.005,100.00IRM260611409304-07-2026
7234891INBOM414-06-20264,000.0028114772891600.003,400.00IRM260611409304-07-2026
7238811INDEL418-06-20262,000.0028114772891300.001,700.00IRM260611409304-07-2026
Total. 3 shipping bills12,000.00.1,800.0010,200.00Ties 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.

AspectFull remittance-traced closureDeclaration-based closure (under Rs 10 lakh)
Applies toAny shipping bill, any valueShipping bills valued below Rs 10 lakh
Evidence requiredPer-bill allocation tied to a specific remittance referenceExporter declaration of realisation, supported by platform settlement reports
FrequencyPer settlement, as remittances arriveCan be filed quarterly as a single bulk declaration
Typical bank turnaroundLonger. Each row is verified against the settlement fileShorter. The batch is processed as one instruction
Best used forLarge consolidated consignments, B2B orders, anything above the thresholdHigh-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.