KSA - ZATCA PHASE 2

Rounding & Decimal Precision Mismatches

The Challenge

ERP systems typically store unit prices, quantities and taxable amounts at a different decimal precision than ZATCA’s Phase 2 schema expects at the line, tax-subtotal and invoice-total levels. When these values are pushed to the e-invoicing layer without normalization, the cryptographic hash and totals no longer reconcile - and ZATCA rejects the invoice, often without an error message that points clearly back to the root cause.

Our Approach

DynamicSoft’s dsConnectMW sits between the ERP and ZATCA’s Fatoora platform and applies a standardized precision-normalization layer before any XML is generated. Every line item, tax subtotal and invoice total is recalculated and rounded according to ZATCA’s rules - consistently, every time - before the UBL 2.1 invoice is signed and submitted.

Process Flow

Process Flow diagram: Rounding & Decimal Precision Mismatches
Click the diagram to open it full size.

Outcome & Impact

Across a live KSA retail deployment processing over 1,000,000 invoices in two months across 305+ POS branches, this normalization layer has resulted in zero precision-based rejections - removing what is otherwise one of the most common and hardest-to-diagnose ZATCA Phase 2 errors.

Facing the same problem?

Tell us about your ERP and the mandate you fall under — we’ll show you how we’d handle it.

Book a Demo