ZATCA QR ใบกำกับภาษี (Saudi FATOORA)
ZATCA (หน่วยงานซะกาต ภาษี และศุลกากร) ของซาอุดีอาระเบียกำหนดให้มี QR บนใบกำกับภาษีทุกใบที่ออกในราชอาณาจักร ขั้นตอนที่ 1 คือ TLV แบบง่าย ขั้นตอนที่ 2 เพิ่มการประทับตราเข้ารหัสผ่านการผสานรวมกับแพลตฟอร์ม FATOORA ใบกำกับที่ไม่เป็นไปตามข้อกำหนดจะถูกปฏิเสธโดยซอฟต์แวร์บัญชีของผู้ซื้อและไม่ถูกต้องสำหรับการขอคืน VAT
ข้อกำหนดหลัก:ZATCA E-Invoicing Resolution & Implementing Regulations, ปัจจุบันถึงปี 2026
ขั้นตอนที่ 1 (การสร้าง): มีผลบังคับใช้ตั้งแต่ 4 ธันวาคม 2021 ธุรกิจที่จดทะเบียน VAT ทั้งหมดต้องออกใบกำกับดิจิทัลพร้อม QR
ขั้นตอนที่ 2 (การผสานรวม): เริ่มใช้งานตามขนาดธุรกิจเป็นระยะตั้งแต่ 1 มกราคม 2023 เพิ่มลายเซ็นดิจิทัล + การอนุมัติ ZATCA สำหรับใบกำกับมาตรฐาน และการรายงานแบบเรียลไทม์สำหรับใบกำกับแบบง่าย
ขั้นตอนที่ 1 (การสร้าง): มีผลบังคับใช้ตั้งแต่ 4 ธันวาคม 2021 ธุรกิจที่จดทะเบียน VAT ทั้งหมดต้องออกใบกำกับดิจิทัลพร้อม QR
ขั้นตอนที่ 2 (การผสานรวม): เริ่มใช้งานตามขนาดธุรกิจเป็นระยะตั้งแต่ 1 มกราคม 2023 เพิ่มลายเซ็นดิจิทัล + การอนุมัติ ZATCA สำหรับใบกำกับมาตรฐาน และการรายงานแบบเรียลไทม์สำหรับใบกำกับแบบง่าย
คืออะไร
QR เข้ารหัสสตริง Base64 ถอดรหัส Base64 เพื่อรับลำดับ TLV ไบนารีที่มี 5 ฟิลด์บังคับในลำดับที่กำหนด:
| แท็ก | ฟิลด์ | ประเภท | หมายเหตุ |
|---|---|---|---|
01 | ชื่อผู้ขาย | สตริง UTF-8 | ชื่อทางการค้าของผู้ขาย รับทั้งอาหรับและละติน |
02 | หมายเลขจดทะเบียน VAT | 15 หลัก | ขึ้นต้นด้วย 3 สำหรับนิติบุคคลซาอุดี รูปแบบ: 3XXXXXXXXXXXXX3 |
03 | ประทับเวลาใบกำกับ | ISO 8601 | เช่น 2026-04-18T10:30:00Z ต้องระบุเขตเวลา |
04 | ยอดรวมใบกำกับ (รวม VAT) | สตริงทศนิยม | เช่น 115.00 สกุลเงินเป็น SAR โดยปริยาย |
05 | จำนวน VAT | สตริงทศนิยม | เช่น 15.00 อัตรามาตรฐานปัจจุบัน 15% |
06 | แฮชใบกำกับ (ขั้นตอนที่ 2) | Base64 SHA-256 | SHA-256 ของ XML ใบกำกับมาตรฐาน |
07 | ลายเซ็นดิจิทัล (ขั้นตอนที่ 2) | Base64 | ECDSA บนแฮชใบกำกับโดยใช้ใบรับรอง CSID ของผู้ขาย |
08 | คีย์สาธารณะ (ขั้นตอนที่ 2) | Base64 X.509 | คีย์สาธารณะ ECDSA ของผู้ขาย (จาก CSID) |
09 | ตรา ZATCA (ขั้นตอนที่ 2) | Base64 | ลายเซ็นตอบกลับของ ZATCA มีเฉพาะหลังการอนุมัติ ZATCA เท่านั้น |
แต่ละบันทึก TLV คือ 1 ไบต์แท็ก + 1 ไบต์ความยาว + <ความยาว> ไบต์ค่า จากนั้นลำดับทั้งหมดจะถูกเข้ารหัส Base64 เป็น QR payload
ขั้นตอนที่ 1 (แบบง่าย) เทียบกับขั้นตอนที่ 2 (การผสานรวม)
| ด้าน | ขั้นตอนที่ 1 | ขั้นตอนที่ 2 |
|---|---|---|
| เนื้อหา QR | แท็ก 01–05 เท่านั้น | แท็ก 01–05 พร้อมกับ 06, 07, 08, และ 09 ตามต้องการ |
| การผสานรวม ZATCA | ไม่มี, ออฟไลน์ | API แบบเรียลไทม์สำหรับใบกำกับแบบง่าย กระบวนการอนุมัติสำหรับใบกำกับมาตรฐาน |
| ใบรับรองที่ต้องการ | ไม่ต้องการ | ต้องการ, CSID (Cryptographic Stamp Identifier) ออกโดย ZATCA |
| วันที่มีผลบังคับใช้ | 2021-12-04 (ทุกธุรกิจ) | 2023-01-01 (เริ่มใช้งานเป็นระยะตามรายได้) |
| ขอบเขตใบกำกับ | B2C (แบบง่าย) + B2B (มาตรฐาน) | B2C แบบง่าย: รายงานแบบเรียลไทม์ B2B มาตรฐาน: การอนุมัติ (ตรวจสอบล่วงหน้า) ก่อนออกใบกำกับ |
เวกเตอร์ทดสอบมาตรฐาน
ตัวอย่าง TLV (ก่อน Base64):
01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"หลังการเข้ารหัส Base64:
AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw| กรณี | ข้อมูลนำเข้า | คำนำหน้า Base64 |
|---|---|---|
| ขั้นตอนที่ 1 แบบง่ายขั้นต่ำ | seller=Acme Saudi | AQpBY21lIFNhdWRp... |
| ชื่อผู้ขายภาษาอาหรับ | seller=شركة أكمي | ชื่อผู้ขายถูกเข้ารหัส UTF-8 ภายใน TLV ก่อน Base64 |
| ใบกำกับมาตรฐานขั้นตอนที่ 2 | ทุกรายการข้างต้น พร้อมกับ hash=<SHA-256 Base64> | Base64 ที่ยาวกว่ามาก ตัวถอดรหัสต้องรองรับแท็กพิเศษหลัง 05 |
ข้อผิดพลาดที่พบบ่อย
- ความยาวหมายเลข VAT. หมายเลข VAT ของ ZATCA ต้องมี 15 หลักพอดี ขึ้นต้นและลงท้ายด้วย
3ค่าอื่นจะล้มเหลวในการตรวจสอบฝั่งรับใบกำกับ - ประทับเวลาไม่มีเขตเวลา. ข้อกำหนดกำหนดให้ใช้ ISO 8601 พร้อมเขตเวลาชัดเจน (
Zหรือ+03:00) ประทับเวลาท้องถิ่นแบบเรียบง่ายจะถูกปฏิเสธ - ลำดับการเข้ารหัส. ฟิลด์ TLV ต้องปรากฏตามลำดับหมายเลขแท็ก (01, 02, 03, 04, 05, …) การเรียงลำดับใหม่ทำให้ QR ถอดรหัสสำเร็จ แต่บางตัวตรวจสอบจะทำเครื่องหมายว่าไม่ใช่มาตรฐาน
- รูปแบบทศนิยม. ยอดรวมใบกำกับและจำนวน VAT ใช้จุดทศนิยม (
115.00) ไม่ใช่ลูกน้ำทศนิยม (115,00) และไม่มีตัวคั่นหลักพัน - สกุลเงินเป็น SAR โดยปริยาย. ใบกำกับสกุลเงินต่างประเทศยังคงแปลงเป็น SAR สำหรับฟิลด์ QR XML พื้นฐานอาจมีสกุลเงินเดิม แต่ QR ไม่มี
- ความล้มเหลวในการอนุมัติขั้นตอนที่ 2. ใบกำกับมาตรฐานที่ส่งไปยัง API อนุมัติของ ZATCA อาจถูกปฏิเสธ (CSID ไม่ถูกต้อง XML เสียหาย คำนวณภาษีผิด) ใบกำกับมีผลทางกฎหมายจนกว่าจะได้รับการอนุมัติ ควรมีลูปลองใหม่พร้อมการถอยหลังแบบเอ็กซ์โพเนนเชียล และอย่าออกใบกำกับจนกว่าการอนุมัติจะสำเร็จ
- การหมุนใบรับรอง CSID. CSID ขั้นตอนที่ 2 จะหมดอายุ (โดยทั่วไปคือ 1 ปี) ควรสร้างการตรวจสอบการต่ออายุในระบบ e-invoicing ไม่เช่นนั้นจะหยุดออกใบกำกับได้กะทันหัน
ความเข้ากันได้ของเครื่องสแกน
| เครื่องอ่าน | การรองรับ | หมายเหตุ |
|---|---|---|
| แอป ZATCA FATOORA | เนทีฟ | แอปกระทรวงอย่างเป็นทางการ ตรวจสอบลายเซ็นขั้นตอนที่ 2 กับ ZATCA PKI |
| ซอฟต์แวร์บัญชีซาอุดี (SAP B1, Oracle, Microsoft Dynamics) | เนทีฟ (หลัง 2023) | รุ่นซาอุดีที่แปลเป็นภาษาท้องถิ่นมีการแยกวิเคราะห์ ZATCA ในไปป์ไลน์ AP |
| กล้อง iOS | Base64 ดิบ | ไม่ถูกจดจำเป็นใบกำกับภาษี ผู้ใช้ต้องเปิดแอป FATOORA |
| กล้อง Android / Google Lens | Base64 ดิบ | เหมือนกัน, ไม่มีการแยกวิเคราะห์เนทีฟ |
| เครื่องมือตรวจสอบบุคคลที่สาม (PwC, KPMG, หน่วย Deloitte Saudi) | เนทีฟ | ชุดเทคโนโลยีการตรวจสอบแยกวิเคราะห์และตรวจสอบลายเซ็นขั้นตอนที่ 2 |
ดูเพิ่มเติม
- /zatca-saudi-einvoice-qr-code/, ตัวสร้าง
- /standards/, กลับไปที่ดัชนีมาตรฐาน
- พอร์ทัลนักพัฒนา ZATCA, ทรัพยากรอ้างอิงและแซนด์บ็อกซ์ FATOORA