---
title: "Dynamic sales day closing time"
description: "Change the sales day closing time for a specific night."
url: "https://docs.adyen.com/reporting/dynamic-sales-day"
source_url: "https://docs.adyen.com/reporting/dynamic-sales-day.md"
canonical: "https://docs.adyen.com/reporting/dynamic-sales-day"
last_modified: "2026-06-01T15:33:16+02:00"
language: "en"
---

# Dynamic sales day closing time

Change the sales day closing time for a specific night.

[View source](/reporting/dynamic-sales-day.md)

Every day, Adyen automatically closes the sales day at the same, static time. If in your own systems you often close the sales day at different times, you can dynamically change the sales day closing time with an API request whenever needed. This prevents reconciliation issues.

## Requirements

| Requirement                                                               | Description                                                                                                                                            |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Integration type**                                                      | Any payments integration.                                                                                                                              |
| **[API credential roles](/development-resources/api-credentials/roles/)** | To [set the closing time for this night](#change-eod), make sure that you have the following role:- **Management API—Sales Day Payout read and write** |
| **[Customer Area roles](/account/user-roles)**                            | To [set the static closing time](#set-static), make sure that you have one of the following roles:- **Change payout schedule**
- **Merchant admin**    |
| **Limitations**                                                           | In some cases you [cannot benefit from this feature](#limitations).                                                                                    |

## Solution to reconciliation problems

Hotels and restaurants use a nightly process called the 'Night Audit'. The night auditor closes the sales day in the business application that the hotel or restaurant uses, like a Property Management System (PMS), and opens the next sales day. The time when this takes place can be different each night based on the activity in the hotel or restaurant.

Your Adyen merchant account also has a sales day closing time. This determines in which settlement details report and payable batch the payments of the day end up. The closing time for your account is a **static time**, by default set to midnight, which is the earliest possible closing time. It is possible to change this static time, but not every day.

If the sales day closing time of your merchant account and the sales day closing time in your business application do not correspond, this causes reconciliation problems. To prevent reconciliation problems, you can send an API request every night to set the sales day closing time to the time you send the request.

If on a particular night you do not send a request to close the sales day, or if you send the request too late, we close the sales day at the static closing time.

## When dynamic closing times do not help

To benefit from dynamic sales day closing times:

* Your merchant account must be set to [Sales day payout](/account/sales-day-payout/) **T+1** or **T+2**.\
  Because Sales day payout is not available in Africa, Brazil, and Turkey, dynamic sales day closing is also not available in those regions.
* There must be a one-on-one relation between your merchant account and the business application where you close the sales day.

Dynamic sales day closing times **do not solve reconciliation problems** in the following situation:

* You use several business applications, for example, a Food & Beverage POS system as well as a PMS.\
  *AND*
* You consolidate the payments from those applications to a single merchant account.\
  *AND*
* You close the sales day in those applications at different times.

## Preparation: set the static closing time

To be able to use dynamic sales day closing times, you need to change the static closing time for your merchant account to a time after midnight. We recommend using the latest possible time, which is 6:00 AM. This ensures the sales day is not already closed when you try to close it through your API request.

Complete the following one-off task:

1. Log in to your [Customer Area](https://ca-test.adyen.com/).

2. Go to **Finance** > **Payout model**>

3. Select **Change** and follow the instructions using the following settings:

   * At **Payout model**, select **Sales day payout**, and **T+1** or **T+2**.
   * At **Timezone configuration**, set the **Closing time** to, for example, **06:00**.

4. Accept the **Terms & Conditions** and select **Submit**.

## Set the closing time for this night

To set the sales day closing time for a particular night, you need to send your request on time: after midnight, but before 6:00 AM in your time zone or the static closing time for your merchant account if that is earlier than 6:00 AM.

To close the sales day:

1. Make a POST request to the `/merchants/{merchantId}/closeSalesDay` endpoint of [Management API](https://docs.adyen.com/api-explorer/Management/latest/overview).

   It is optional to add a request body. If you want, you can specify:

   * `closeNow`: **true**.

   Sending the request without request body, with `closeNow`: **true**, or with `closeNow`: **false** will have the same effect: the sales day is closed at the time of sending the request.

   **Request to close the sales day**

   ```bash
   curl https://management-test.adyen.com/v3/merchants/YOUR_MERCHANT_ACCOUNT/closeSalesDay \
   -H 'x-api-key: ADYEN_API_KEY' \
   -H 'content-type: application/json' \
   -d '{
     "closeNow": true
   }'
   ```

2. Check if your request succeeded.

   **Response when the request succeeded**

   ```json
   {
       "salesDayClosed": true
   }
   ```

   If your request failed, see [Troubleshooting](#troubleshooing).

The next day, the sales day closing time for that night defaults to the static closing time of your merchant account, unless you send a new request.

## Troubleshooting

If the `/merchants/{merchantId}/closeSalesDay` request fails, the `title` and `detail` in the error response indicate what happened. The following example shows the most common error:

**Not allowed to close the sales day now**

```json
{
   "type": "https://docs.adyen.com/errors/validation",
   "title": "Not allowed to close the sales day now.",
   "status": 422,
   "detail": "The closing time is 6:00 AM at the latest; or you already closed the sales day.",
   "requestId": "JDD6LKT8MBLZNN84",
   "errorCode": "36_001"
}
```

This error can mean the following:

* You already sent a sales day closing request for the same night.
* You sent the request **before midnight**. To be precise: you sent the request between 6:00 AM or the static closing time for your account, and the earliest possible closing time of midnight. This can happen, for example, when you test the feature during the day.

## Booking of payments

When you send a request to close the sales day:

* Any payments captured before the time you sent the request to close the sales day, end up in the settlement details report for that sales day.
* Any payments captured after the time you sent the request to close the sales day, are booked to the payable pending batch for the next sales day. That means they end up in the settlement details report for the next day.

## See also

* [Getting paid](/account/getting-paid)
* [Sales day payout](/account/sales-day-payout)
* [Settlement details report](/reporting/settlement-detail-report)
