BR-KSA-04 📑 Invoice Types & Structure error

BR-KSA-04: Invoice Issue Date Cannot Be in Future

BR-KSA-04: تاريخ إصدار الفاتورة لا يمكن أن يكون في المستقبل

Official ZATCA Specification:

The document issue date (BT-2) must be less or equal to the current date. Future-dated invoices are strictly rejected.

XPath Context: /ubl:Invoice/cbc:IssueDate

📌 Overview & Impact

The document issue date (BT-2) must be less than or equal to the current server date (KSA timezone AST / UTC+3).

الوصف بالعربية: تاريخ إصدار الفاتورة (BT-2) يجب أن يكون أقل من أو مساوياً للتاريخ الحالي بتوقيت المملكة العربية السعودية (UTC+3).

⚠️ Common Causes for Rejection

  • System clock misconfiguration on server issuing invoices (running in future timezone)
  • Setting an IssueDate beyond the current Gregorian calendar date
  • Timezone discrepancy between local application server and ZATCA UTC+3 time

How to Fix & Resolve

1

Sync Server Clock with NTP

Synchronize your host server clock using NTP against reliable time servers (e.g. time.google.com or pool.ntp.org).

2

Use Current KSA Date

Format IssueDate in YYYY-MM-DD representing the current date in Asia/Riyadh timezone.

💻 Code Comparison: Invalid vs Compliant UBL 2.1 XML

❌ Invalid XML (Rejected by ZATCA) Invalid Payload
<!-- Issue date in the future -->
<cbc:IssueDate>2029-12-31</cbc:IssueDate>
✓ Valid XML (Compliant UBL 2.1) Valid Payload
<cbc:IssueDate>2026-08-29</cbc:IssueDate>
<cbc:IssueTime>14:30:00</cbc:IssueTime>

Verify Your Invoice XML Online

Use Qeemah's free developer tools to inspect transforms, C14N digests, and Phase 2 QR codes.

Frequently Asked Questions

What timezone does ZATCA use for issue date validation?

ZATCA validates issue date and time against Arabian Standard Time (AST / UTC+3). Ensure your server clock matches Saudi local time.

Stop Fighting Cryptic ZATCA XML Errors

Qeemah handles Phase 2 e-invoicing, cryptographic signing, and real-time clearance automatically. Integrate in minutes.