DueDateConfigDto
Configuration for the projected DueDate on tasks created from a recurring task.
Different properties are required based on the Type value:
- RelativeToStart: IntervalValue + IntervalUnit (e.g., 2 weeks after StartDate)
- SpecificDate: FixedMonth + FixedDay (DD/MM annual; invalid days clamped to end-of-month)
- ClientKeyDate: ClientDateSourceType + Timing + OffsetDays + OffsetMonths, plus ClientDateType (KeyDate) or CustomFieldDefinitionCode (CustomField)
- DayOfMonth: DayOfMonth (1-31, clamped to end-of-month for shorter months) - requires monthly cadence
- MonthDay: MonthDayPatterns (positional weekday list, e.g. First Monday) - requires monthly/yearly cadence
- RelativeToStatutory: IntervalValue + IntervalUnit (Due = Statutory - interval) - requires TaskDateBasis=StatutoryDate
Properties
| Name | Type | Description |
|---|---|---|
| type | enum | RelativeToStart SpecificDate ClientKeyDate DayOfMonth MonthDay RelativeToStatutory |
RelativeToStart SpecificDate ClientKeyDate DayOfMonth MonthDay RelativeToStatutory | ||
| intervalValue | integer | Numeric value for the interval. Required when Type is RelativeToStart (Due is set this many |
Numeric value for the interval. Required when Type is RelativeToStart (Due is set this many | ||
| intervalUnit | enum | Day Week Month Year |
Day Week Month Year | ||
| fixedMonth | integer | Month (1-12). Required when Type is SpecificDate. |
Month (1-12). Required when Type is SpecificDate. | ||
| fixedDay | integer | Day of month (1-31). Required when Type is SpecificDate. Clamped to last day of month at projection time. |
Day of month (1-31). Required when Type is SpecificDate. Clamped to last day of month at projection time. | ||
| clientDateSourceType | enum | KeyDate CustomField |
KeyDate CustomField | ||
| clientDateType | enum | IncorporationDate YearEnd AccountsNextDue AccountsNextPeriodStart AccountsNextPeriodEnd AccountsLastPeriodFiled AccountsLastPeriodStart AccountsLastPeriodEnd AccountsLastMadeUpTo ConfirmationStatementDue ConfirmationStatementNextMadeUpTo LastConfirmationStatementFiled LastConfirmationStatementMadeUpTo NextVatReturnDue NextVatPeriodEndQuarterly NextVatReturnDueQuarterly NextVatPeriodEndMonthly NextVatReturnDueMonthly NextTaxQuarterPeriodEnd NextTaxQuarterSubmissionDeadline NextPayeCisFilingDue PensionReEnrolmentDate |
IncorporationDate YearEnd AccountsNextDue AccountsNextPeriodStart AccountsNextPeriodEnd AccountsLastPeriodFiled AccountsLastPeriodStart AccountsLastPeriodEnd AccountsLastMadeUpTo ConfirmationStatementDue ConfirmationStatementNextMadeUpTo LastConfirmationStatementFiled LastConfirmationStatementMadeUpTo NextVatReturnDue NextVatPeriodEndQuarterly NextVatReturnDueQuarterly NextVatPeriodEndMonthly NextVatReturnDueMonthly NextTaxQuarterPeriodEnd NextTaxQuarterSubmissionDeadline NextPayeCisFilingDue PensionReEnrolmentDate | ||
| customFieldDefinitionCode | string | Custom field code. Required when Type is ClientKeyDate and ClientDateSourceType is CustomField. |
Custom field code. Required when Type is ClientKeyDate and ClientDateSourceType is CustomField. | ||
| customFieldDefinitionLabel | string | Custom field label. Populated in responses only. |
Custom field label. Populated in responses only. | ||
| timing | enum | OnActualDate DaysBefore DaysAfter |
OnActualDate DaysBefore DaysAfter | ||
| offsetDays | integer | Number of days before or after the client date. Required when Type is ClientKeyDate. |
Number of days before or after the client date. Required when Type is ClientKeyDate. | ||
| offsetMonths | integer | Number of months before or after the client date. Paired with OffsetDays. NULL when no months |
Number of months before or after the client date. Paired with OffsetDays. NULL when no months | ||
| dayOfMonth | integer | Day of month (1-31). Required when Type is DayOfMonth. Clamped to end-of-month for shorter |
Day of month (1-31). Required when Type is DayOfMonth. Clamped to end-of-month for shorter | ||
| monthDayPatterns | array of WeekDayPatternDto | Positional weekday patterns within each occurrence's month. Required when Type is MonthDay. |
Positional weekday patterns within each occurrence's month. Required when Type is MonthDay. | ||
JSON Example
{
"type": "RelativeToStart",
"intervalValue": 0,
"intervalUnit": "Day",
"fixedMonth": 0,
"fixedDay": 0
}