Timestamp difference between what's seen in D365 and what I retrieve in Databricks

Alexis Blas 0 Reputation points
2025-12-11T08:08:46.03+00:00

Hello !

Sorry for the tags I didn't find the appropriate one

My company has D365 F&O. We use Azure Synapse Link to put D365 data into parquet files in a storage account so we can use it in Databricks. Nothing weird

I am on France time zone. I know that the timestamp that a person sees inside D365 depends on the time zone he is in. I figured that between the timestamp in D365 and the timestamp I receive in Databricks by Synapse link there's an 8h difference (D365 hour - 8h). I guessed it was because of UTC, location of the subscription things like that

The issue is for the same timestamp in d365 (8/1/2025 6pm) I have 8/1/2025 10 am (I'm used to it) for a validfrom in hcmpositionhierarchy and 7/31/2025 10pm (a 20h difference!!) for a validfrom in hcmpositionworkerassigment. The classic 8h difference line on validfrom has been modified by a person located in Bulgaria, the line with a 20h difference has been modified by a service account

Do anyone knows where it could come from? What I fear is that there's a big amount of cases like that which will be painful as I work with time window for several subjects

Thanks for your help and the time you took to read this!

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Vinodh247 40,056 Reputation points MVP Volunteer Moderator
    2025-12-11T15:57:48.09+00:00

    Hi,

    D365 stores datetimes in UTC, but it renders them in the user’s time zone. Synapse Link exports the raw UTC. Different users (France, Bulgaria, service account) wrote the records, so D365 converted their inputs using their own time-zone settings. HR effective-dated tables (like HcmPositionWorkerAssignment) also auto-shift ValidFrom/ValidTo to avoid overlaps, which creates odd offsets like 20 hours.

    Bottom line: the offsets are normal. They depend on the writer’s time zone and HR table logic. Treat everything from Synapse as UTC and convert explicitly in Databricks.

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.