In general, when the SLA is defined and incorporated in CRM, we take care of working business hours and holiday calendar and define the Failure and the warning duration for the SLA KPI instance. Let’s assume the SLA is based on the Resolve by KPI instance.
The timer / clock will start and will be adjusted based on the Failure time of the related SLA KPI instance (calculated automatically). Based on this the SLA Due date can be set, programmatically.
Because the system calculates the failure due date and time, at times it maybe be the close to start of business hours and so is the SLA Due time.
This is common scenarios, but it may lead to working issues for the team on the floor.
To avoid this, we can write a plugin on the SLA KPI instance entity, which will be executed on create or updates (if there is SLA updates on the parent record), and the failure time can be set as 11:59 PM of that day.
Changing the failure time would mean the timer/ clock will show the extended days and hours (as compared to original) and the SLA due date can be extended.