Amazon SellerCentral- How to get Deferred Transactions for Accrual?

Amazon has changed the old system of holding money from merchant payouts in settlements. Now they have started holding at the order level. Certain orders are marked as Deferred and their payments are released at a future date. This has create a problem for financial systems, revenue managers, and General Ledger accounts.IT departments are also puzzled about how to get details of deferred transactions programatically. I am sure you will find the details below super useful. If needed, do not hesitate to contact me.
To retrieve transaction details with Deferral Status and Expected Release Date, you can use the Finances API v2024-06-19. Specifically, the listTransactions operation (GET /finances/2024-06-19/transactions) returns the transaction details you are looking for.

Deferral Status:
Each transaction in the response includes a transactionStatus field with one of the following values:
- DEFERRED – Transaction is currently on hold
- RELEASED – Transaction has been released
- DEFERRED_RELEASED – Transaction was previously deferred but is now released

You can filter results by a specific status using the transactionStatus query parameter.

Expected Release Date:
Each transaction's contexts array may include a DeferredContext object containing:
- deferralReason – The deferral policy applied to the transaction (e.g., B2B for invoiced orders, DD7 for delivery date policy)
- maturityDate – The expected release date of the deferred transaction (ISO 8601 format)

Key Implementation Details
- Role required: Finance and Accounting (must be approved in your developer profile and selected in your app registration)
- Availability: Sellers only (NA, EU, FE)
- Rate limit: 0.5 req/sec (burst: 10)
- Max results per page: 500 (paginate using nextToken)
- Max date range per request: 180 days
- Note: Financial events may not reflect orders from the last 48 hours

Alternative Option: Deferred Transaction Report (GET_DATE_RANGE_FINANCIAL_HOLDS_DATA)

As an alternative, you can also retrieve a bulk point-in-time flat-file report of all deferred transactions using the Reports API v2021-06-30.

Important Pre-Requisite: Before you can retrieve this report via the API, the selling partner must first enable it through the Payments Reports Repository in Seller Central. This is a mandatory setup step that needs to be completed before your API calls will work.

Once enabled, the retrieval workflow follows three steps:

Step 1 – Request the Report
Call the createReport operation with the following parameters:
- reportType: GET_DATE_RANGE_FINANCIAL_HOLDS_DATA (required)
- marketplaceIds: list of marketplace identifiers (required)
- dataStartTime: start of the date range in ISO 8601 format (optional)
- dataEndTime: end of the date range in ISO 8601 format (optional)

A successful response returns a reportId.

Step 2 – Confirm Report Processing is Complete
Use the getReport operation with the reportId to poll the processing status. Once processing is complete, the response will include a reportDocumentId.

Step 3 – Retrieve the Report
Call the getReportDocument operation with the reportDocumentId. The response returns a pre-signed URL (valid for 5 minutes) to download the report, and optionally a compressionAlgorithm value if the file is compressed. Use the pre-signed URL to download the report file.

Report Output Details:
- Output format: Comma-separated flat file
- Data coverage: Up to 10 years
- Availability: Seller Central sellers only
- Required role: Finance and Accounting
- Report fields include: date/time, settlement-id, order-id, sku, description, quantity, store, fulfillment, product-sales, selling-fees, fba-fees, other-transaction-fees, total, Tax Amount, Total Amount, and more (30+ attributes)

Choosing Between the Two Options:

Finances API listTransactions:
- Best for real-time, programmatic transaction lookup within your application
- Returns structured JSON via API response
- Supports granular filtering by status, order ID, date range, and marketplace
- Covers up to 180 days per request
- No pre-requisite setup required on the selling partner's account

Deferred Transaction Report:
- Best for bulk historical data analysis
- Returns a flat file (CSV) for download and processing
- Supports filtering by date range only
- Covers up to 10 years of data
- Requires the selling partner to enable the report via Seller Central Payments Reports Repository before your API calls will succeed

If you have any other questions or require additional assistance, requesting you to please create a new case via https://developer.amazonservices.com/support as this helps us address your specific issue and helps us make continuous improvements to our services.

Sources:
- [Get the Latest Transactions - Finances API](https://developer-docs.amazon.com/sp-api/docs/get-latest-transactions)
- [Finances API Overview and Operations](https://developer-docs.amazon.com/sp-api/docs/finances-api)
- [Deferred Transaction Report (GET_DATE_RANGE_FINANCIAL_HOLDS_DATA)](https://developer-docs.amazon.com/sp-api/docs/report-type-values-payment)
- [Request a Report - Reports API](https://developer-docs.amazon.com/sp-api/docs/request-a-report)
- [Retrieve a Report - Reports API](https://developer-docs.amazon.com/sp-api/docs/retrieve-a-report)
- [Reports API v2021-06-30 Overview](https://developer-docs.amazon.com/sp-api/docs/reports-api)