Do report time limits apply to data being added or data within the report?


I’m looking specifically at the “FBA Customer Shipment Sales Report” report, but I believe the question applies more generally to most reports.

One of the columns in the report is the “Shipment Date”. When I request this report via the MWS API, I can specify a StartDate and an EndDate. Do these dates filter on the “Shipment Date” column, or do they instead filter based on the date that the data was added to the report?

For example, if an order ships at 2019-07-29T12:00:00Z, but Amazon doesn’t actually add it to the report until an hour later at 2019-07-29T13:00:00Z, then if I generate this report with an EndDate of 2019-07-29T12:00:00Z, will this shipment appear in the report? Or will it only appear if the EndDate is greater than or equal to 2019-07-29T13:00:00Z since that’s the time the shipment was actually added to the report?

I understand that in general this report is near real-time, so it may not matter 99% of the time, but I’m concerned about the rare times where the data my be delayed coming into the report. I want to make sure I will still be able to see the new data based on my data filters.


In most cases, it is pretty apparent in the report name when the date used for selection is for the update time.

In the report you mention, MWS will filter for records shipped equal to or greater than start date, but less than the end date. (start_date <= specified_date < end_date). So (like in your example) if you generate the report with an end date equal to the shipment date, it won’t be on the report. It will appear if your end date is one second later. This makes sense if you think about it.

When it is actually added to the report is material only in that you don’t ask for end dates that are within a few hours of the present time, or even within a few days of the present time if you want to be sure you get all the data for all marketplaces.


Thanks @Autonomoose. If that’s the case, then how are we supposed to handle delays on Amazon’s end? How do we know if there is no data or if there is just not data yet because of a delay. For example, let’s say every day at 4 o’clock in the morning I run the report and filter for start and end dates equal to the start and end of the previous day.

Now let’s imagine some of the shipments that took place towards the end of the day have been delayed in processing, and they are not yet appearing in the report. Now another day goes by and at 4 o’clock in the morning I run the report with start and end dates for that second day. I will never know about the data that was delayed and added to the first day’s report because the data was delayed and I have already fetched the report for that first day.


I think I found my answer here:

It says:

The report contains all completed shipments reported to FBA during the specified time period. This may not include all items that were shipped during that time frame if they have not yet been reported to our system. Those items will be reported in a future time period. This ensures that the report data will always be consistent for any given date range.


Shipment dates are based on when the shipment was reported to the system, which is generally a few hours after the actual ship date. Other reports may calculate shipment dates differently.

So the answer is actually that the “Shipment Date” is the date the shipment was reported and added to the report, which is not necessarily the same as the date and time the shipment actually took place.


I think you need to be careful that you do not confuse what is actually two things being described.
The shipment date value, and when the report is updated.

The shipment date is a fuzzy thing, I think almost everyone will eventually agree that the easiest consistent way to define it is when the order is “reported to our system”. (not when label created, or applied, or put in the back of the truck, or delivered to carrier, or first scanned by carrier) This does not mean it is instantaneously available on the report. If things are shipped, but not yet reported to the system, they will not be assigned a shipment date until they are reported.

In the link you mention, it states

Report data is updated shortly after an item has been shipped, typically within several hours. At times, data may not populate until 24 hours after shipment.

Also in the ReportType enumeration at

Tab-delimited flat file. Contains condensed item level data on shipped FBA customer orders including price, quantity, and ship to location. Content updated near real-time in Europe (EU), Japan, and North America (NA). In China, content updated daily. For FBA sellers only. For Marketplace and Seller Central sellers.

Note: In Japan, EU, and NA, in most cases, there will be a delay of approximately one to three hours from the time a fulfillment order ships and the time the items in the fulfillment order appear in the report. In some rare cases there could be a delay of up to 24 hours.

The answer is that you should not generate this report very close to the enddate unless you want to run the risk that you miss shipments. Not all marketplaces will update at the same speed, so this will be especially important if you are supporting multiple marketplaces.