History subpanel shows the day before date

Hello everyone,

Running into a strange behavior and want to confirm it’s not just my environment (well 3 actually). I used n8n to run a bunch of automation and to create a Call record with relationship(s) using API. All working but i had some struggle with time consistency seeing somethings in UTC and some in local and some in utc calculated from entered… Ensured my Ubuntu 24.04 server was set to Local timezone, ensured my SuiteCRM 8.9.1 user profile was set to same Local Timezone. This got things better but my last remaining issue is the date/time for that Call in the History subpanel shows proper time now but on the day before. I tried to test it with manual GUI Call creation and the results are identical, so doesnt seem that it is API issue. The records show exact same dates/times. It shows correct date/time in the record in GUI, as well as on the Timeline in both Contact and Account Details page. But History subpanel in both Account and Contact shows the day before.

Any thoughts?


I’ve struggled with this before as well. I’ve found setting my server to UTC 0 helped if my memory serves me correctly.

Hi John, thank you for quick reponse!

so i have 2 php.ini files:
/etc/php/8.3/apache2/php.ini
/etc/php/8.3/cli/php.ini

Both have same ; and no value:
[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
;date.timezone =

What is strange is that all data in the DB/Record/GUI/API point to the correct date+time, and only the rendering of date on History subpanel seems to be affected by the 24 hrs

Do you think the php.ini would have effect on history subpanel only?

Here is what the get Call looks like:

“date_entered”: “2026-04-22T03:32:00+00:00”,
“date_modified”: “2026-04-22T03:32:00+00:00”,
“date_start”: “2026-04-22T03:17:00+00:00”,
“date_end”: “2026-04-22T03:32:00+00:00”,

this is UTC and for my local is 4/21 17:32. I use date_start = now - 15 minutes (thus 4/21 17:17)

I do the -15 minutes because SuiteCRM while allowing me to put custom Duration in the API, does not allow to save the record with anything other than 15/30/45 in the GUI. So since i dont really care about the exact duration 15 min is ok. After doing some testing, i decided to create record with Call date_start be 15 min ago, just so i don’t create a Held Call in the future (just in case, but i did try both).

So i am not sure if this is some weird logic and is by design, or yarn rebuild tricks/glitch, or the php.ini date.timezone, or just a code bug.

Thank you @pstevens !

I believe the server was originally set to UTC and i had a bunch of miss-matched times then as well. After setting it to my local zone it seems to fix all but then i noticed the history. I can go back and re-try…

It appears to be only rendering which makes me feel it is the code/bug, but if others don’t have same experience it could be my environment/instance, i just don’t know what to check anymore…

And of course, rebooted the server, rebuild cache, deleted old cache folder contents, hard browser refresh, and apache service restart (multiple times through out my troubleshooting) …