Description
This knowledge base article provides definitions and explanations for handling dates and timezones within the software system. It introduces two key concepts: "Accounting Date" and "Timestamp". An Accounting Date is a date-only value (YYYY-MM-DD) without any associated timezone, while a Timestamp is a date and time value (YYYY-MM-DDThh:mm:ssZ) that includes a timezone identifier.
The article also discusses the concept of "Tenant Timezone," a per-tenant setting that controls how Timestamps are input, displayed, and converted to Accounting Dates in the user interface. It clarifies that while Accounting Dates are timezone-agnostic, Timestamps are affected by the Tenant Timezone setting.
Definitions
Accounting Date
YYYY-MM-DD
where there is NO TIMEZONE. For example, if a user in New York views enters an Accounting Date as 2024-03-10. A different user in Hong Kong will also view this Accounting Date as 2024-03-10, in the UI and API.Timestamp
YYYY-MM-DDThh:mm:ssZ
(Z = timezone identifier)Tenant Timezone
- Control what timezone Timestamps are input into the User Interface
- Control what timezone Timestamps are viewed in the User Interface
- Control what timezone Timestamps are presented in, when converted to an Accounting Date. For example when a Crypto Transaction Date is converted to a Journal Entry Posted Date.
How this affects the User Interface/App
How this affects the API
Timestamp Conversions to Accounting Dates
- Date =
2024-03-18T17:00:00 PDT,
which is2024-03-19T02:00:00Z
- Extract
YYYY-MM-DD
from the Timestamp,- View Database Timestamp
2024-03-19T02:00:00Z
in the Tenant Timezone2024-03-18T17:00:00 PDT
- Extract Date from it
2024-03-18
- View Database Timestamp
- Journal Entry Transaction Date =
2024-03-18
- Journal Entry Posted Date =
2024-03-18