> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Report object

> Report object of Mangopay's Reporting Service (2025)

### Description

Mangopay's Reporting Service replaces the legacy reports endpoints.

The Reporting Service enables your platform to download large amounts of data in CSV format for accounting or analysis purposes.

Read about the reporting feature and how to generate a report in the [guide](/reports).

The type of report to generate is specified in the `ReportType`. Each `ReportType` has different available data `Columns` and `Filters`.

Report types useful for all platforms:

* `USER_WALLET_TRANSACTIONS` – All successful transactions crediting or debiting user wallets: pay-ins, transfers, conversions, and payouts, as well as refunds of all types and repudiations (from chargebacks).
* `COLLECTED_FEES`– Detail of transactions crediting or debiting the fees wallet: successful transactions of all types (pay-ins, transfers, refunds, payouts, etc.) that have a positive or negative fees amount.

Report types useful for platforms using [Echo](/guides/echo), Mangopay's solution for integrations working with third-party PSPs:

* `ECHO_INTENT` – Summary of all intents declared during the selected period, detailing the total funds expected to enter the platform’s escrow wallets.
* `ECHO_INTENT_ACTION` – Summary of all operations related to intents processed during the selected period, detailing the expected money movements to be escrowed — including payments, refunds, refund reversals, and chargebacks.
* `ECHO_SETTLEMENT` – Summary of all settlement files uploaded during the selected period to initiate the reconciliation process, confirming the expected money movements to be escrowed.
* `ECHO_SPLIT` – Summary of all splits related to intents during the selected period, detailing the transfer of funds to the declared destination.

### Differences with legacy reports

* **Report coverage** – The `USER_WALLET_TRANSACTIONS` report provides the same data as the legacy Transactions report. A report serving the same purpose as the legacy Wallets report is planned in future. Any new types of reports developed in future will only be added to the Reporting Service.
* **Webhook-based notification** – The Reporting Service introduces two [event types](/webhooks/event-types#reports) for [webhook notifications](/webhooks), `REPORT_GENERATED` and `REPORT_FAILED`, which replace the legacy system based on a callback URL for each report.
* **Transitional status** – The Reporting service also introduces a new transitional `Status` value, `GENERATING`, which indicates that the report is being generated and no longer awaiting processing (`PENDING`). The `GENERATING` value may be particularly useful when the report contains large volumes of data.
* **Historical data availability** – The Reporting Service can return data from January 1 of the previous calendar year (N-1) through to the present (N). The data availability period may vary for future report types.
* **Expiry** – The Reporting Service reports can be downloaded during 31 days, at which point they expire. A new report with the same data can be generated. The expiry date may vary for future report types.
* **Dashboard features** – The Reporting Service underpins the reporting features of the <a href="https://hub.mangopay.com/" target="_blank">Mangopay Dashboard</a>. In the Dashboard, you can generate and manage all reports, and schedule them for regular download.

[Read more about reports](/reports) **→**

### Attributes

<ResponseField name="Id" type="string">
  Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

  The unique identifier of the object.
</ResponseField>

<ResponseField name="Tag" type="string">
  Max. length: 255 characters

  Custom data that you can add to this object.

  For reports, this parameter can be useful to give the report a name.
</ResponseField>

<ResponseField name="CreationDate" type="Unix timestamp">
  The date and time at which the object was created.
</ResponseField>

<ResponseField name="ReportDate" type="Unix timestamp | null">
  The date and time at which the report was generated.
</ResponseField>

<ResponseField name="Status" type="string">
  **Returned values:** `PENDING`, `READY_FOR_DOWNLOAD`, `FAILED`, `EXPIRED`

  The status of the report:

  * `PENDING` – The report is being generated.
  * `READY_FOR_DOWNLOAD` – The report has been created, and can be downloaded.
  * `FAILED` – The report cannot be generated.
  * `EXPIRED` – The report was created, but is no longer available for download (it can be re-run to be downloaded again with fresh data).
</ResponseField>

<ResponseField name="ResultCode" type="string">
  The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
</ResponseField>

<ResponseField name="ResultMessage" type="string">
  The explanation of the result code.
</ResponseField>

<ResponseField name="DownloadFormat" type="string">
  **Returned values:** `CSV`

  The format in which the report is going to be downloaded.
</ResponseField>

<ResponseField name="DownloadURL" type="string | null">
  The URL at which the report file can be downloaded when the `Status` is `GENERATED`.
</ResponseField>

<ResponseField name="ReportType" type="string">
  **Possible values:** `COLLECTED_FEES`, `USER_WALLET_TRANSACTIONS`, `ECHO_INTENT`, `ECHO_INTENT_ACTION`, `ECHO_SETTLEMENT`, `ECHO_SPLIT`.

  The type of the report. Each `ReportType` has different available `Columns` and `Filters`.

  Useful for all platforms:

  * `USER_WALLET_TRANSACTIONS` – All successful transactions crediting or debiting user wallets: pay-ins, transfers, conversions, and payouts, as well as refunds of all types and repudiations (from chargebacks).
  * `COLLECTED_FEES`– Detail of transactions crediting or debiting the fees wallet: successful transactions of all types (pay-ins, transfers, refunds, payouts, etc.) that have a positive or negative fees amount.

  Useful for platforms using [Echo](/guides/echo), Mangopay's solution for integrations working with third-party PSPs:

  * `ECHO_INTENT` – Summary of all intents declared during the selected period, detailing the total funds expected to enter the platform’s escrow wallets.
  * `ECHO_INTENT_ACTION` – Summary of all operations related to intents processed during the selected period, detailing the expected money movements to be escrowed — including payments, refunds, refund reversals, and chargebacks.
  * `ECHO_SETTLEMENT` – Summary of all settlement files uploaded during the selected period to initiate the reconciliation process, confirming the expected money movements to be escrowed.
  * `ECHO_SPLIT` – Summary of all splits related to intents during the selected period, detailing the transfer of funds to the declared destination.
</ResponseField>

<ResponseField name="Sort" type="string">
  The sorting direction of the CreationDate column. By default, the generated report is sorted by ascending creation date.
</ResponseField>

<ResponseField name="DateRangeBy" type="string | null">
  **Possible values:** `CreationDate`, `ExecutionDate`

  **Default value:** `CreationDate`

  The date to which `BeforeDate` and `AfterDate` apply. The `DateRangeBy` property can only be sent on `USER_WALLET_TRANSACTIONS` and `COLLECTED_FEES` reports. It is returned `null` for other types.

  The `ExecutionDate` value is likely to be more useful, because this is the date and time that the transaction `Status` became `SUCCEEDED`. Note also that these reports only contain successful transactions.
</ResponseField>

<ResponseField name="AfterDate" type="Unix timestamp">
  **Possible values:** Any date and time (before the `BeforeDate`) between the present and 24 months ago.

  The date and time after which the report's transaction was created, based on the transaction's `CreationDate`.

  **Note:** The period between the `AfterDate` and the `BeforeDate` cannot exceed 12 months.
</ResponseField>

<ResponseField name="BeforeDate" type="Unix timestamp">
  **Possible values:** Any date and time (after the `AfterDate`) between the present and 24 months ago.

  The date and time before which the report's transaction was created, based on the transaction's `CreationDate`.

  **Note:** The period between the `AfterDate` and the `BeforeDate` cannot exceed 12 months.
</ResponseField>

<ResponseField name="Filters" type="object">
  The filters sent in the request. Different filters are available for each `ReportType`.
</ResponseField>

<ResponseField name="Columns" type="array (string)">
  **Possible values:** The columns listed in the [Reports](/reports) guide, which differ according to the report type.

  **Default values:** The default columns listed in the [Reports](/reports) guide, which differ according to the report type.

  The data columns to be included in the report.
</ResponseField>
