I'm not even remotely kidding when I say the cause of this is because Amazon sharded. Basically, the underlying data that populates the Amazon console, the manually exported reports from Amazon, and the API (your database) is separated into data shards that are independently updated. Any data discrepancies you see in your dash data relative to the Console or manually exported reports are primarily caused by this asynchronous updating done by Amazon.
It is important to note that per the below messages directly from the Amazon Advertising API team, Amazon has stated that none of the three respective data sets are the "source of truth" (*breathes heavy sigh of exasperation).
However, they have stated that, "After consulting with (the) team, it is recommended to use the API data." So, you can confidently rely on the API data when reporting to your clients/stakeholders, noting that there could be some discrepancies to the Console numbers.
With that said, the data sets will eventually match as Amazon closes the 42day restatement window. Our 60day data pulls will catch any restatements that are made, ensuring that your data is as accurate as possible over the restatement period.
We think the issue is likely to occur during periods of increased volume caused by events like Prime Day and Black Friday. And although that isn't an excuse on Amazon's part, it does explain some of the variability between their data shards (which uniquely drive the console vs. manual report vs. api data). Ideally, the variability will always be less than 1%, but in some smaller accounts, the difference may be more pronounced from a % standpoint. And per their response below, our 60day pulls every Saturday will ensure that any data restatements that happen outside of our daily 14day lookback pull will be caught: