Scheduled and ad hoc
The Reporting API allows you to schedule and customize the frequency of your reports as per your needs.
Before you begin
Determine the integration option you want to use:
Entity
Entity defines the level of the merchant relationship as it relates to the acquiring account. Contact your relationship manager to know your entity IDs across different entity types. Determine the entity type you want to use in the report configuration from the following:
Entity type | Description |
---|---|
PE | Processing Entity |
TD | Transaction Division |
FTI | Fund Transfer Instruction |
BU | Business Unit |
CO | Company |
RGPE | Reporting group for processing entity |
RGTD | Reporting group for transaction division |
RGFTI | Reporting group for fund transfer instruction |
RGBU | Reporting group for business unit |
RGCO | Reporting group for company |
For more information on reporting groups, refer to reporting groups and how to manage reporting groups.
Scheduling reports
The Reporting API uses the standard UTC format for all times and timestamps.
The following table shows the fields that are used for scheduling a report:
Field name | Description | Valid values |
---|---|---|
scheduleFrequency |
Specifies frequency of the report schedule. |
|
reportFileScheduleTime |
Specifies when report generation should begin, not when the report has completed. Applies only for daily, weekly, monthly, Month to date (mtd), and monthly-fiscal. |
|
reportingPeriodStartTime |
Specifies the starting point for data collection. |
|
reportingPeriodStartTimestamp |
Specifies the starting point for data collection. Applies only for ad hoc. | Time in UTC time zone. |
reportingPeriodEndTimestamp |
Specifies the ending point for data collection. Applies only for ad hoc. | Time in UTC time zone. |
Daily schedule
Schedule daily reports by setting scheduleFrequency
to daily
. The reportFileScheduledTime
and reportingPeriodStartTime
are set by the system based on your merchant end-of-day time (MEOD).
The following table shows how the daily schedule works based on your MEOD.
MEOD (EST) | Report availability by (EST) |
reportingPeriodStartTime |
reportFileScheduledTime |
Example for daily frequency |
---|---|---|---|---|
(in UTC i.e. MEOD in EST+5 hours; set by the system) |
(in UTC, set by the system) | (scheduleFrequency = daily) | ||
12:00 AM |
1:00 PM |
05:00:00 |
15:00:00 |
|
1:00 AM |
1:00 PM |
06:00:00 |
15:00:00 |
|
2:00 AM |
1:00 PM |
07:00:00 |
15:00:00 |
|
3:00 AM |
1:00 PM |
08:00:00 |
15:00:00 |
|
4:00 AM |
1:00 PM |
09:00:00 |
15:00:00 |
|
5:00 AM |
1:00 PM |
10:00:00 |
15:00:00 |
|
6:00 AM |
5:00 PM |
11:00:00 |
20:00:00 |
|
7:00 AM |
5:00 PM |
12:00:00 |
20:00:00 |
|
8:00 AM |
5:00 PM |
13:00:00 |
20:00:00 |
|
9:00 AM |
5:00 PM |
14:00:00 |
20:00:00 |
|
10:00 AM |
5:00 PM |
15:00:00 |
20:00:00 |
|
11:00 AM |
1:00 AM |
16:00:00 |
3:00:00 |
|
12:00 PM |
1:00 AM |
17:00:00 |
3:00:00 |
|
1:00 PM |
1:00 AM |
18:00:00 |
3:00:00 |
|
2:00 PM |
1:00 AM |
19:00:00 |
3:00:00 |
|
3:00 PM |
1:00 AM |
20:00:00 |
3:00:00 |
|
4:00 PM |
1:00 AM |
21:00:00 |
3:00:00 |
|
5:00 PM |
1:00 AM |
22:00:00 |
3:00:00 |
|
6:00 PM |
8:00 AM |
23:00:00 |
10:00:00 |
|
7:00 PM |
8:00 AM |
24:00:00 |
10:00:00 |
|
8:00 PM |
8:00 AM |
01:00:00 |
10:00:00 |
|
9:00 PM |
8:00 AM |
02:00:00 |
10:00:00 |
|
10:00 PM |
8:00 AM |
03:00:00 |
10:00:00 |
|
11:00 PM |
8:00 AM |
04:00:00 |
10:00:00 |
|
Weekly schedule
Schedule weekly reports by setting scheduleFrequency
to weekly|(day of the week)
. You can specify the day of the week when the report should be generated.
The reportFileScheduledTime
and reportingPeriodStartTime
are set by the system based on your merchant end-of-day time (MEOD).
The following table shows how the weekly schedule works based on your MEOD.
MEOD (EST) |
Report availability by (EST) |
reportingPeriodStartTime |
reportFileScheduledTime |
Examples for weekly frequency |
Examples for weekly frequency |
---|---|---|---|---|---|
(in UTC i.e. MEOD in EST+5 hours, set by the system) |
(in UTC, set by the system) | (scheduleFrequency = weekly|mon) |
(scheduleFrequency = weekly|wed) |
||
12:00 AM |
1:00 PM |
05:00:00 |
15:00:00 |
|
|
1:00 AM |
1:00 PM |
06:00:00 |
15:00:00 |
|
|
2:00 AM |
1:00 PM |
07:00:00 |
15:00:00 |
|
|
3:00 AM |
1:00 PM |
08:00:00 |
15:00:00 |
|
|
4:00 AM |
1:00 PM |
09:00:00 |
15:00:00 |
|
|
5:00 AM |
1:00 PM |
10:00:00 |
15:00:00 |
|
|
6:00 AM |
5:00 PM |
11:00:00 |
20:00:00 |
|
|
7:00 AM |
5:00 PM |
12:00:00 |
20:00:00 |
|
|
8:00 AM |
5:00 PM |
13:00:00 |
20:00:00 |
|
|
9:00 AM |
5:00 PM |
14:00:00 |
20:00:00 |
|
|
10:00 AM |
5:00 PM |
15:00:00 |
20:00:00 |
|
|
11:00 AM |
1:00 AM |
16:00:00 |
3:00:00 |
|
|
12:00 PM |
1:00 AM |
17:00:00 |
3:00:00 |
|
|
1:00 PM |
1:00 AM |
18:00:00 |
3:00:00 |
|
|
2:00 PM |
1:00 AM |
19:00:00 |
3:00:00 |
|
|
3:00 PM |
1:00 AM |
20:00:00 |
3:00:00 |
|
|
4:00 PM |
1:00 AM |
21:00:00 |
3:00:00 |
|
|
5:00 PM |
1:00 AM |
22:00:00 |
3:00:00 |
|
|
6:00 PM |
8:00 AM |
23:00:00 |
10:00:00 |
|
|
7:00 PM |
8:00 AM |
24:00:00 |
10:00:00 |
|
|
8:00 PM |
8:00 AM |
01:00:00 |
10:00:00 |
|
|
9:00 PM |
8:00 AM |
02:00:00 |
10:00:00 |
|
|
10:00 PM |
8:00 AM |
03:00:00 |
10:00:00 |
|
|
11:00 PM |
8:00 AM |
04:00:00 |
10:00:00 |
|
|
Monthly schedule
Schedule monthly reports by setting scheduleFrequency
to monthly|(day of the month)
. You can specify the day of the month when the report should be generated. This cannot be greater than 28, meaning a report cannot be scheduled to run on the 29th day of every month.
The reportFileScheduledTime
and reportingPeriodStartTime
are set by the system based on your merchant end-of-day time (MEOD).
The following table shows how the weekly schedule works based on your MEOD.
MEOD (EST) |
Report availability by (EST) |
reportingPeriodStartTime |
reportFileScheduledTime |
Examples for monthly frequency |
Examples for monthly frequency |
---|---|---|---|---|---|
(in UTC i.e. MEOD in EST+5 hours; set by the system) |
(in UTC, set by the system) | (scheduleFrequency = monthly|1) |
(scheduleFrequency = monthly|3) |
||
12:00 AM |
1:00 PM |
05:00:00 |
15:00:00 |
|
|
1:00 AM |
1:00 PM |
06:00:00 |
15:00:00 |
|
|
2:00 AM |
1:00 PM |
07:00:00 |
15:00:00 |
|
|
3:00 AM |
1:00 PM |
08:00:00 |
15:00:00 |
|
|
4:00 AM |
1:00 PM |
09:00:00 |
15:00:00 |
|
|
5:00 AM |
1:00 PM |
10:00:00 |
15:00:00 |
|
|
6:00 AM |
5:00 PM |
11:00:00 |
20:00:00 |
|
|
7:00 AM |
5:00 PM |
12:00:00 |
20:00:00 |
|
|
8:00 AM |
5:00 PM |
13:00:00 |
20:00:00 |
|
|
9:00 AM |
5:00 PM |
14:00:00 |
20:00:00 |
|
|
10:00 AM |
5:00 PM |
15:00:00 |
20:00:00 |
|
|
11:00 AM |
1:00 AM |
16:00:00 |
3:00:00 |
|
|
12:00 PM |
1:00 AM |
17:00:00 |
3:00:00 |
|
|
1:00 PM |
1:00 AM |
18:00:00 |
3:00:00 |
|
|
2:00 PM |
1:00 AM |
19:00:00 |
3:00:00 |
|
|
3:00 PM |
1:00 AM |
20:00:00 |
3:00:00 |
|
|
4:00 PM |
1:00 AM |
21:00:00 |
3:00:00 |
|
|
5:00 PM |
1:00 AM |
22:00:00 |
3:00:00 |
|
|
6:00 PM |
8:00 AM |
23:00:00 |
10:00:00 |
|
|
7:00 PM |
8:00 AM |
24:00:00 |
10:00:00 |
|
|
8:00 PM |
8:00 AM |
01:00:00 |
10:00:00 |
|
|
9:00 PM |
8:00 AM |
02:00:00 |
10:00:00 |
|
|
10:00 PM |
8:00 AM |
03:00:00 |
10:00:00 |
|
|
11:00 PM |
8:00 AM |
04:00:00 |
10:00:00 |
|
|
Monthly-fiscal schedule
Schedule monthly reports according to your specific fiscal schedules to aid in the reconciliation of reports based on your business calendar by using scheduleFrequency: monthly-fiscal
.
A few things to keep in mind:
- The
reportFileScheduledTime
andreportingPeriodStartTime
are set by the system based on your merchant end-of-day time (MEOD) and fiscal calendar. - Supported for 3000 series report types only.
- Entity types PE and RGPE are not supported, and will throw a validation error if used.
- You must have a fiscal calendar available when generating reports. If the calendar is deleted after the first execution, the next execution will not be triggered until the fiscal calendar is replaced.
The following table shows how monthly-fiscal reports work:
MEOD (EST) |
Fiscal start date |
Fiscal end date |
Montly-fiscal report details |
---|---|---|---|
10 PM |
1-Jan |
25-Jan |
|
10 PM |
25-Jan |
25-Feb |
|
Month to date (MTD) schedule
Generate reports that contain data from the start of the month to the current date (report generation date) or current date-1 based on your merchant end-of-day time (MEOD) by using scheduleFrequency: mtd
.
A few things to keep in mind:
- The
reportFileScheduledTime
andreportingPeriodStartTime
are set by the system based on your MEOD. - You can choose to have rolling data for the desired time period on your reports.
- For example , when a report is scheduled with
scheduleFrequency: mtd
- If a report runs on the 17th of a month , then it will have data from the beginning of the month till the current date or current date-1 based on MEOD.
- If a report runs on the 30th of a month , then it will have data from the beginning of the month till the current date or current date-1 based on MEOD.
- For example , when a report is scheduled with
- Rolling data feature is available for all the report types and entities.
The following table shows how MTD reports work:
MEOD (EST) | Report generation date | MTD report details |
---|---|---|
9 AM | 19-Jun |
|
10 PM | 20-Jun |
|
Report lag
Report Lag feature allows you to delay the report generation by a couple of days to accommodate the late arrival of information.
A few things to keep in mind:
- Report generation can be delayed up to a maximum of 5 days.
- Report lag is supported only for reports with daily frequency. (not supported for weekly, monthly, mtd, and monthly-fiscal)
- Available for all report types and entities.
The following table shows an example of how report lag works on daily reports:
MEOD (EST) | scheduleFrequency | reportLag | Report details |
---|---|---|---|
10 PM | daily | 2 |
|
9 AM | daily | 4 |
|
Ad hoc
Ad hoc is used to run scheduled reports on custom date ranges instead of daily, weekly, or monthly by setting scheduleFrequency
to adhoc
.
- You can control starting and ending point for data collection by using the fields
reportingPeriodStartTimestamp
andreportingPeriodEndTimestamp
. - You must adjust the time based on Day Light Savings (DST).
The following table shows examples of how the calculation works.
MEOD | reportingPeriodStartTimestamp | reportingPeriodEndTimestamp | Report generation date | Reporting data |
---|---|---|---|---|
3 AM UTC | 2nd Sept - 3 AM UTC | 9th Sept - 3 AM UTC | 9-Sep | From 2nd Sept 3 AM to 9th Sept 3 AM |
For example, the below ad hoc report will include data from 2nd September to 9th September:
HTTP method: POST
Endpoint: /reports
{
"frequencyConfig": {
"scheduleFrequency": "adhoc",
"reportingPeriodStartTimestamp": "2024-09-02 03:00:00",
"reportingPeriodEndTimestamp": "2024-09-09 02:59:59"
}
}
At any point, you can change the ad hoc frequency configuration when triggering the report to run. This does not require updating the report configuration first.
Handling daylight saving time
Reporting handles daylight saving time (DST) differently for scheduled and ad hoc reports.
- Scheduled Reports (Daily/Weekly/Monthly): Our system automatically adjusts for Daylight Saving Time when generating scheduled reports. This means you can rely on the system to deliver your reports at the expected times without any additional action required on your part.
- Ad hoc Reports: You need to manually convert timestamps to UTC. This ensures that the data you receive accurately reflects the intended time period, taking into account any DST changes. We recommend verifying the time adjustments during the DST transition periods to ensure the accuracy of your ad hoc reports.
Examples
The following examples will help you better understand how to handle DST in ad hoc reports.
During DST (March to November)
Let’s say your merchant end-of-day (MEOD) is set to 10 PM EST during DST, then you must update your reportingPeriodStartTimestamp
to 3 AM UTC during DST.
HTTP method: PUT
Endpoint: /report-configs/{report-configuration-id}
Scenario: Scheduling an ad hoc monthly report for April.
{
"frequencyConfig": {
"scheduleFrequency": "adhoc",
"reportingPeriodStartTimestamp": "2024-04-01 03:00:00",
"reportingPeriodEndTimestamp": "2024-05-01 02:59:59"
}
}
After Daylight Saving Time (November to March)
Let’s say your merchant end-of-day (MEOD) is set to 10 PM EST after DST, then you must update your reportingPeriodStartTimestamp
to 2 AM UTC (standard time) after DST.
HTTP method: PUT
Endpoint: /report-configs/{report-configuration-id}
Scenario: Scheduling an ad hoc monthly report for December.
{
"frequencyConfig": {
"scheduleFrequency": "adhoc",
"reportingPeriodStartTimestamp": "2024-12-01 02:00:00",
"reportingPeriodEndTimestamp": "2025-01-01 01:59:59"
}
}
Transition from Standard Time to DST (March)
Let's say your merchant end-of-day (MEOD) is 10 PM EST during March, then you must update your reportingPeriodEndTimestamp
from 2 AM UTC (standard time) to 3 AM UTC (DST).
HTTP method: PUT
Endpoint: /report-configs/{report-configuration-id}
Scenario: Scheduling an ad hoc monthly report for March.
{
"frequencyConfig": {
"scheduleFrequency": "adhoc",
"reportingPeriodStartTimestamp": "2024-03-01 02:00:00",
"reportingPeriodEndTimestamp": "2024-04-01 02:59:59"
}
}
Transition from DST to Standard Time (November)
Let's say your merchant end-of-day (MEOD) is 10 PM EST during November, then you must update your reportingPeriodEndTimestamp
from 3 AM UTC (DST) to 2 AM UTC (standard time).
HTTP method: PUT
Endpoint: /report-configs/{report-configuration-id}
Scenario: Scheduling an ad hoc monthly report for November.
{
"frequencyConfig": {
"scheduleFrequency": "adhoc",
"reportingPeriodStartTimestamp": "2024-11-01 03:00:00",
"reportingPeriodEndTimestamp": "2024-12-01 01:59:59"
}
}
Key Considerations
- DST Transition: Pay special attention to the transition periods in March and November, as the conversion between local time (EST) and UTC changes.
- Consistency: Ensure that the timestamps you provide for ad hoc reports are consistent with the DST status during the reporting period.
By following these guidelines and examples, you can ensure that your reports accurately reflect the intended time periods, whether DST is in effect or not.
Related
Get a report configuration
Get report configuration details
Update a report configuration
Set up a report schedule
Create advanced customizations