الفاتورة الإلكترونية (فاتورة) المرحلة الثانية: ما تعلّمناه من ربط أنظمة نقاط البيع والمخزون بهيئة الزكاة
لا توجد ميزة يطلبها التاجر السعودي قبل «هل النظام مربوط بالهيئة؟». المرحلة الثانية من الفاتورة الإلكترونية (الربط والتكامل) حوّلت الفاتورة من ورقة مطبوعة إلى وثيقة XML موقّعة رقمياً تُبلَّغ بها هيئة الزكاة والضريبة والجم…

لا توجد ميزة يطلبها التاجر السعودي قبل «هل النظام مربوط بالهيئة؟». المرحلة الثانية من الفاتورة الإلكترونية (الربط والتكامل) حوّلت الفاتورة من ورقة مطبوعة إلى وثيقة XML موقّعة رقمياً تُبلَّغ بها هيئة الزكاة والضريبة والجمارك. ربطنا TtaKkaa POS للمطاعم، وSanmoris للمتجر الواحد، وAutoParts System لقطع الغيار — وهذه الدروس التي لا تجدها في الدليل الرسمي.
الأساسيات في دقيقة
- نوعان من الفواتير: ضريبية (B2B) تحتاج مقاصة (Clearance) قبل تسليمها للعميل، ومبسّطة (B2C) تُصدَر فوراً ثم تُبلَّغ (Reporting) خلال 24 ساعة.
- XML بمعيار UBL 2.1 + توقيع رقمي + تجزئة سابقة (سلسلة فواتير) + عدّاد + رمز QR بحقول محدّدة.
- الإعداد: شهادة رقمية لكل جهاز/فرع عبر CSR وOTP من بوابة فاتورة.
الدرس 1: الفاتورة كيان غير قابل للتعديل
أكبر تغيير معماري: بعد الإصدار لا تُعدَّل الفاتورة أبداً. الخطأ يُصحَّح بإشعار دائن/مدين مرتبط بالأصل. في TtaKkaa كان الكاشير يعدّل الطلب بعد الطباعة؛ أعدنا تصميم المسار: الطلب قابل للتعديل حتى لحظة الإصدار، ثم يصبح الإصدار حدثاً نهائياً يُولّد XML ويُوقّعه ويُخزّنه.
الدرس 2: السلسلة لا تنكسر — حتى عند سقوط الإنترنت
كل فاتورة تحمل تجزئة الفاتورة السابقة وعدّاداً متسلسلاً لكل جهاز. المطعم يفقد الإنترنت في ذروة الغداء؛ الفواتير المبسّطة تُصدَر محلياً بالتوقيع والسلسلة، وتُبلَّغ حين يعود الاتصال ضمن المهلة. الطابور المحلي مع إعادة المحاولة المرتّبة كان الجزء الأهم من التكامل كله.
إن كان نظامك يستطيع إصدار فاتورتين برقم متسلسل واحد تحت أي ظرف، فأنت لست ممتثلاً بعد.
الدرس 3: البيئة التجريبية (Sandbox) لا تشبه الإنتاج تماماً
اختبرنا كل شيء على بيئة المطابقة، ثم اختلفت التفاصيل في الإنتاج: تنسيقات التاريخ، الأحرف العربية في أسماء الأصناف، ومعالجة الخصومات على مستوى البند مقابل مستوى الفاتورة. أمسكنا بمعظمها بمجموعة اختبارات ذهبية: 40 فاتورة حقيقية بحالاتها (خصم، إرجاع، ضريبة صفرية، عملة أجنبية) تُشغَّل قبل كل نشر.
الدرس 4: المخزون والفاتورة حدث واحد
في AutoParts، خصم المخزون كان يحدث عند إنشاء المسودّة، فصارت الأرقام تختلف عند إلغاء المسودّات. القاعدة الجديدة: خصم المخزون والإصدار الضريبي في معاملة واحدة (transaction)؛ إمّا كلاهما أو لا شيء.
الدرس 5: لوحة الامتثال للتاجر لا للمحاسب فقط
شاشة واحدة: فواتير اليوم، ما تمّ الإبلاغ عنه، ما ينتظر، وما رُفض ولماذا (بلغة بشرية). حين يرى التاجر «3 فواتير بانتظار الإبلاغ — سيُعاد الإرسال تلقائياً» يهدأ، ولا يتصل بالدعم.
ماذا يعني هذا لأي نظام جديد؟
- صمّم الفاتورة ككيان نهائي من اليوم الأول.
- الطابور المحلي وإعادة المحاولة ليسا «تحسينات».
- مجموعة اختبارات ذهبية من فواتير حقيقية.
- الرواتب والمشتريات والمخزون تتبع الفاتورة لا العكس.
الامتثال الضريبي ليس ميزة تسويقية؛ هو ما يجعل النظام يُباع أصلاً في السعودية. وحين يُبنى صحيحاً، يصبح مصدراً للثقة: كل ريال له فاتورة، وكل فاتورة لها أثر.


