Modification to signing time which uses system time instead of AST

Hi Team,

We use the ZATCA SDK to sign simplified tax invoices. The SDK utilises the local system time to calculate the signing time. Some of the systems/servers hosted in KSA also are in the UTC timezone due to which there is a difference between the invoice issue time which is in AST and signing time which is UTC.

If we modify the signing time after the xml is signed then we get this error message during reporting - The invoice hash API body does not match the (calculated) Hash of the XML.

One suggestion is if the ZATCA SDK can use the time in AST instead of the system time (which could be set incorrectly also) so that the signing time of all invoices is uniform and in AST. Any modifications from our side will lead to errors and ensuring that the system time is in AST for all systems is difficult.

The function in the SDK for signing time currently is:
private String getCurrentTimestamp() {
LocalDateTime localDateTime = LocalDateTime.now();
return this.dateTimeFormatter.format(localDateTime);
}

The modified function for the timestamp in AST would be:
private String getCurrentTimestamp() {
LocalDateTime localDateTime = LocalDateTime.now(ZoneId.of(“Asia/Riyadh”));
return this.dateTimeFormatter.format(localDateTime);
}

Please check the feasibility of this and let us know.