Last month, a container we shipped to Riyadh got stuck at customs. Why? The invoice didn't pass ZATCA verification. Honestly, this has been happening a lot since May—Saudi Customs and the tax authority (ZATCA) have linked their systems.
Many sellers thought e-invoicing was only for local companies. Wrong. Phase 2 of the mandatory e-invoice system, effective 2026, covers all imported goods. Cross-border parcels are not exempt. From what I've seen, Riyadh Customs detained over 300 shipments during the first week of May alone for missing compliant invoices. Fines? Up to SAR 10,000 (about USD 2,660) per shipment.
In my experience, there are three common failures: 1) sellers didn't register on ZATCA to get an invoice serial number; 2) the invoicing system used doesn't generate the required XML + QR code; 3) the freight forwarder didn't upload the e-invoice during customs declaration. Simply put, the customs system reads the invoice data automatically—any missing field flags it red.
Here's what you need to do: First, register at fatoora.zatca.gov.sa to get your VAT number and invoice serial. Second, use a ZATCA-approved e-invoicing solution (even the free simplified version works). Generate an XML invoice with QR code for each shipment. Hand both the XML file and a PDF copy to your forwarder before dispatch, and confirm they will submit it during clearance.
One more thing: the invoice value must match the customs declaration, and the currency should be Saudi Riyal. If the declared value exceeds SAR 100,000 (≈USD 26,600), you'll also need a certificate of origin and an inspection report—but that's another story.
Are you checking invoice compliance before every shipment now? Or waiting to learn the hard way?