Why can records be missing when filtering a Date/Time field using YESTERDAY or a specific date in an Apsona report?

This behavior is caused by how Salesforce stores Date/Time fields. Unlike Date fields, Date/Time values are always stored internally in UTC (Coordinated Universal Time), regardless of the user's local timezone. When a report uses a relative date filter such as YESTERDAY or a specific date (for example, 7/1/26), Salesforce evaluates the stored UTC value rather than the user's local date. As a result, records processed near the beginning or end of the day may fall outside the expected date range.

For example, if a user is in a timezone that is 5 hours behind UTC and a transaction is processed on 1 July at 9:00 PM local time, Salesforce stores it as 2 July at 2:00 AM UTC. Although the user sees the transaction as occurring on 1 July, a filter such as Processed Date = 1 July or YESTERDAY may exclude the record because the stored UTC date is 2 July. This can make it appear as though transactions are missing until a later report.

To avoid this timezone-related behavior, filter using an explicit Date/Time range instead of a single date or relative date filter. For example:

  • Processed Date On or After: 7/1/26 12:00 AM

  • Processed Date On or Before: 7/1/26 11:59 PM

Configure the filter logic as 1 AND 2.

Using an explicit Date/Time range evaluates the entire intended time window instead of relying solely on the stored UTC date, making it a more reliable way to retrieve all records for a specific local day. When filtering on Salesforce Date/Time fields, prefer explicit Date/Time ranges over relative date filters such as YESTERDAY to avoid timezone-related discrepancies.