Fixed due date calendar management strategy

In the fixed due date calendar management strategy, the due date is fixed, and the Pismo platform uses it to calculate the cycle closing date. When you create a program using Create program or Create program (async), you set the due_dates field to an array of due date objects. When you create an account in the program, you assign one of these due date objects to it.

📘

You can also create a program using Pismo Control Center. This method also enables you to set up an array of due date objects to be used by accounts in the program.

Each due date object contains a day field, which represents the day of the month for the due date. This is the nominal date by which the cardholder must pay the minimum amount due (MAD) to avoid accruing late charges. In some cases, a later date, called the real due date is used in place of the due date. For information about how the real due date is determined, refer to the Credit cycle dates and time periods guide.

The day of the month that a cycle ends is called the cycle closing date. This is specified using the Number of days before due date to set the closing date of the statement program parameter, which you set in Control Center. The value of this parameter is subtracted from the due date to determine the cycle closing date. In other words,

day - Number of days before due date to set the closing date of the statement = cycle closing date

Number of days before due date to set the closing date of the statement represents the grace period—the number of days after the cycle closing that the customer has to pay the minimum amount due (MAD) without incurring a penalty.

It's possible to override the value of this default parameter for certain accounts. For example, you might wish to offer some customers a longer grace period than the program standard. To do this, set thegrace-period-days field of the account's assigned due date object to the new value.

Since multiple accounts can share the same due date object, there are several possible scenarios. In the following scenarios, assume that you want to set the grace period of each account to X number of days.

  • You want to override the grace period for all the accounts that share a certain due date object.—Use the Update program due date endpoint to set the grace-period-days field to X in the due date object that all the accounts share. In this case, you are done, because the due dates are already assigned to the accounts.
  • All other scenarios—Create a new due date object for the account(s). Use the Save program due date endpoint to create a new due data object with its grace-period-days field set to X. Then use the Change due date endpoint to assign the due date object to each account.
📘

Notes

  • It's best to set cycle date parameters at program and account initiation. You should only use the Save program due date , Update program due date, and Change due date endpoints to modify these parameters at a later date if absolutely necessary.
  • You can add "addition grace days" to give the cardholder extra time to pay the MAD. For more information, refer to Adding "additional grace days".
  • The fixed due date calendar management strategy is the default strategy. An alternative is to use a program calendar strategy. Program calendar strategies don't use the program due date objects. However, they still calculate a due date and the Pismo platform uses this due date in the same way it uses the program due date object for the fixed due date strategy. For more information, refer to Fixed cycle closing calendar management strategy.

Examples

Example 1

Suppose you have the following settings.

  • Number of days before due date to set the closing date of the statement is set to 10.
  • Defines the number of additional grace days granted to the program is set to 3.
  • In the due date object assigned to the program, day = 5, and grace_period_days is not set.

For the month of June 2025, the due date is the fifth day of the month: 2025-06-05.

Since Number of days before due date to set the closing date of the statement = 10, the cycle closing date is 10 days prior to the due date, which would be 2025-05-26.

Since Defines the number of additional grace days granted to the program = 3, you calculate the real due date by adding 3 to the due date: 5 + 3 = 8. So, the real due date is 2025-06-08, assuming this is a business day. If it's not a business day, then the real due date is the next date after the 8th that is a business day.

Example 2

Suppose you have the following settings.

  • Number of days before due date to set the closing date of the statement is set to 10.
  • Defines the number of additional grace days granted to the program is set to 3.
  • In the due date object assigned to the program, day = 5, and grace_period_days = 7.

Setting grace_period_days to 7 overrides the setting in Number of days before due date to set the closing date of the statement, so you can ignore that parameter for this example.

For the month of June 2025, the due date is the 5th day of the month: 2025-06-05.

Since grace-period-days = 7, and Number of days before due date to set the closing date of the statement is ignored, the cycle closing date is 7 days prior to the due date, which would be 2025-05-30.

Since Defines the number of additional grace days granted to the program = 3, you calculate the real due date by adding 3 to the due date: 5 + 3 = 8. So, the real due date is 2025-06-8, assuming this is a business day. If it's not a business day, then the real due date is the next date after the 8th that is a business day.

Example 3

Suppose you have the following settings.

  • Defines the number of additional grace days granted to the program is set to 2.
  • Non-business days is set to 67 (Saturday and Sunday).
  • In the due date object assigned to the program, day = 5, and grace_period_days = 0.

For the month of June 2025, the due date is the 5th day of the month: 2025-06-05.

To get the real due date, you follow these steps.

  1. 2025-06-05 + 2 additional grace days = 2025-06-07.
  2. 2025-06-07 is a Saturday, so this date must be adjusted to the following Monday, which is 2025-06-09.
  3. Run 2025-06-09 through the Get holiday endpoint to find out if it's a holiday. Assume the call returns a non-empty response, and that next_business_date is 2025-06-10 in the response. This means 2025-06-09 is a holiday, and the next business day that isn't a holiday is 2025-06-10. So, the real due date is 2025-06-10.