الفوترة الإلكترونية: فاتورة الإيجار لم تعد ملف PDF
تحوّل الفوترة الإلكترونية السعودية فاتورة الإيجار إلى مستند مهيكل مختوم تشفيريًا، تجيزه الهيئة قبل إصداره أو تتسلّمه خلال يوم من إصداره. ولمحفظة تُصدر فواتير مئات الوحدات دفعة واحدة، هذا قرار معماري لا تعديل قالب.
قبل الفوترة الإلكترونية كانت فاتورة الإيجار في السعودية ما ينتجه وكيل الإدارة: ملف PDF من نظام العقارات، أو جدولًا مطبوعًا، أو أحيانًا دفتر نماذج مطبوعة تُملأ باليد. كان المستند هو الفاتورة، وما يحفظه النظام سجلٌّ عنها.
وقلبت هيئة الزكاة والضريبة والجمارك هذه المعادلة. صارت الفاتورة ملفًّا مهيكلًا بصيغة محددة، له ختم تشفيري وموضع في سلسلة مرتبة — وتجيزه الهيئة قبل أن يُسلَّم إلى العميل، أو تتسلّم نسخته خلال يوم من إصداره. وما زال ملف PDF قائمًا، لكنه هبط إلى مرتبة العرض. الفاتورة هي ملف XML.
ووقع ذلك على النشاط العقاري أثقل مما وقع على متجر، لأن الإيجار يُفوتَر بالجملة. فالمتجر يصدر فاتورة كلما دخل عميل، أما وكيل الإدارة فيصدر ثماني مئة فاتورة في أول الربع، في تشغيلة واحدة، ولكل واحدة منها الآن اعتماد خارجي في منتصفها.
المراحل والموجات وحدود الإيرادات التي تُدخل المكلَّف في النظام تحددها الهيئة وقد تغيّرت مع تقدّم التطبيق. وهذا مكتوب لمن يصممون أنظمة الفوترة لا بوصفه استشارة ضريبية — تأكد من موجتك والتزاماتك والمواصفة الفنية السارية لدى الهيئة.
الإصدار والتكامل التزامان منفصلان
جاء النظام على مرحلتين تطلبان أمرين مختلفين. الأولى — الإصدار، السارية منذ ديسمبر ٢٠٢١ — تشترط أن تُنتَج الفاتورة ببرنامج إلكتروني متوافق. وقد أنهى ذلك وحده الفواتير المكتوبة بخط اليد، والمكتوبة في محرر نصوص، والمعدَّلة بعد إصدارها، واشترط رمز استجابة سريعة على الفواتير المبسطة.
والثانية — التكامل، من يناير ٢٠٢٣ على موجات بحسب إيرادات المكلَّف — تربط البرنامج بالهيئة. فتصير الفاتورة ملف XML بهيكل محدد، يحمل ختمًا تشفيريًا ومعرّفًا فريدًا، ومترابطًا في سلسلة: كل فاتورة تتضمن بصمة سابقتها، فيصير حذف فاتورة أو إعادة ترتيبها أمرًا قابلًا للكشف لا مجرد مخالفة.
وأيُّ المسارين تسلكه الفاتورة يتوقف على نوعها. فالفاتورة الضريبية القياسية — حالة الأعمال إلى الأعمال — يجب أن تُجاز: تُرسَل إلى الهيئة وتُختَم منها قبل تسليمها إلى العميل. أما الفاتورة المبسطة، حالة الأعمال إلى المستهلك، فتصدر فورًا ويُبلَّغ عنها بعد ذلك خلال يوم.
وهذا التمييز ليس تفصيلًا فنيًّا لمدير العقارات. فالعقد التجاري يُفوتَر على منشأة مسجَّلة، ومن ثمّ فإن فواتير الإيجار الخاضعة التي يصدرها وكيل الإدارة قياسية في معظمها — أي أنها تمرّ بالإجازة، أي أن الفاتورة ليست صحيحة حتى تجيب خدمة بعيدة.
الإجازة تُدخل خدمة بعيدة داخل تشغيلة الفوترة
تشغيلة تُصدر الفواتير محليًّا وتكتبها في قاعدة البيانات حلقةٌ إمّا أن تنجح أو تُتراجَع. أما تشغيلة يجب أن تُجيز كل فاتورة لدى جهة خارجية فهي سير عمل موزَّع، وتفشل بطرق لا تعرفها الحلقة: انقطاع المهلة، ونجاح جزئي، وردٌّ يصل بعد التخلي عن الطلب، ورفضٌ عند الفاتورة السابعة بعد الأربعمئة.
والشكل الذي يصمد فاتورةٌ لها دورة حياة صريحة — مسودة، مُرسَلة، مُجازة، مرفوضة — تُحفَظ قبل إرسال أي شيء، ويُعاد الطلب فيها على نحو لا يكرر الأثر، ولا يُعاد إرسالها بهوية جديدة لأن المحاولة الأولى بدت فاشلة. ففاتورة مُجازة مكررة أصعب في المعالجة بكثير من فاتورة ناقصة.
والترابط يزيد الأمر صرامة. فلأن كل فاتورة تحمل بصمة سابقتها، فالتسلسل متتابع فعلًا: لا يمكن إجازة الفواتير على التوازي ثم تسويتها لاحقًا، ولا يمكن سدّ فجوة بأثر رجعي. فالتزامن يُحسم قبل السلسلة لا داخلها.
- خصّص الرقم واحفظ الفاتورة قبل أول نداء، لا بعد ورود رد ناجح.
- اجعل الإرسال غير مكرر الأثر على مفتاح ثابت، كي لا تُنتج إعادةُ المحاولة فاتورةً مُجازة ثانية.
- رتّب السلسلة تتابعيًّا لكل وحدة إصدار، ووازِ بين الوحدات لا داخل الواحدة.
- عامل الرفض كحالة على الفاتورة لا كاستثناء يُجهض التشغيلة.
- احفظ الختم العائد وملف XML المُجاز — فهما الفاتورة لا إيصالًا عنها.
رمز الاستجابة السريعة بصيغة TLV، والعربية موضع انكسار الشفرة الساذجة
يحمل رمز الاستجابة السريعة بنية TLV مرمَّزة بـ base64: لكل حقل بايت وسم، ثم طول، ثم قيمة. وحقول المرحلة الأولى هي اسم البائع، والرقم الضريبي، والطابع الزمني، وإجمالي الفاتورة شاملًا الضريبة، ومقدار الضريبة. ويضيف التكامل بصمة الفاتورة والختم التشفيري والمفتاح العام.
والخلل الذي يشحنه الجميع تقريبًا مرة على الأقل يقع في الطول. فهو طول القيمة بالبايتات بعد ترميزها بـ UTF-8، لا عدد المحارف في النص. وفي الإنجليزية يتطابق الرقمان، فتنجح الشفرة في كل اختبار كُتب على اسم بائع إنجليزي. أما الاسم العربي فقرابة بايتين لكل حرف، فيخرج الطول المعلن نصف الحقيقي تقريبًا، فيقرأ كل ماسح الحقلَ مبتورًا وما بعده خليطًا لا معنى له.
وفي سوق يكون فيه اسم البائع على الفاتورة عربيًّا بحق — وتُشترط فيه العربية على الفاتورة الضريبية أصلًا — ليست هذه حالة طرفية. بل هي الحالة الأصل، ولا تُكتشف إلا متأخرة لأن بيانات الاختبار كان اسمها «Acme Trading».
اختبر الرمز باسم بائع عربي، بمسحه فعليًّا، قبل الإطلاق. فاختبار وحدة يقارن مخرج base64 بعيّنة ولّدتها الدالة المعطوبة نفسها سيوافق نفسه إلى ما لا نهاية.
الفاتورة المُجازة لا تُعدَّل بل يُردّ عليها
متى أُجيزت الفاتورة صارت لدى الهيئة. وتعديل السجل المحفوظ لتصحيح مبلغ خاطئ أو مدة خاطئة أو مستأجر خاطئ يضع النظام في خلاف معلن مع الهيئة، والختم التشفيري هو ما يجعل هذا الخلاف قابلًا للإثبات لا محلًّا للجدل.
والتصحيحات مستندات منفصلة: إشعار دائن أو مدين يشير إلى الفاتورة الأصلية، ويذكر السبب، ويمرّ بالإجازة نفسها. وهذا انضباط تطلبه المحاسبة الجيدة أصلًا، لكن الفوترة الإلكترونية أزالت خيار تجاهله. فالنظام الذي فيه زر تعديل على فاتورة صادرة ليس غير مرتب فحسب في السعودية، بل ينتج سجلات تناقض ما لدى الهيئة.
والمنطق نفسه يحكم الحفظ. فملف XML المُجاز وختمه هما السجل النظامي، ويجب الاحتفاظ بهما وإتاحة استرجاعهما للمدة النظامية، بصورة لا تعتمد على النسخة الحالية من قالب العرض. فالفاتورة المعاد طبعها بعد ثلاث سنوات يجب أن تُظهر ما صدر فعلًا.
ما الذي يعنيه ذلك لدفتر الإيجار تحديدًا
الإيجار متكرر، أي أن الفواتير تُولَّد وفق جدول لا استجابةً لحدث، وقبل المدة التي تغطيها في الغالب. وتاريخ التوريد وتاريخ الفاتورة وتاريخ الاستحقاق ثلاثة تواريخ مختلفة، والنظام الذي يدمجها في واحد سيخطئ في أحدها على الأقل عند حدود الربع.
والمحفظة مختلطة عادةً. فالعقود السكنية توريد معفى ولا تنتج فاتورة ضريبية أصلًا، بينما العقود التجارية في المبنى نفسه تنتجها — فلا يصح أن تفترض التشغيلة أن كل بند تمرّ عليه خاضع. وفرض فاتورة ضريبية على إيجار سكني معفى خطأ كإغفالها في عقد تجاري، وهو الأكثر شيوعًا لأنه يبدو اتساقًا.
والإعفاء أضيق مما يبدو أول الأمر. فأتعاب الإدارة وعمولة الوساطة ومعظم رسوم الخدمات المحمَّلة على المالك خدمات خاضعة بالنسبة الأساسية، حتى إن الوكيل الذي محفظته سكنية بالكامل يصدر فواتير ضريبية — إلى الملاك لا إلى المستأجرين.
- التصنيف تابع للوحدة واستعمالها، يُحسم مرة لا يُختار مع كل فاتورة.
- تاريخ التوريد وتاريخ الفاتورة وتاريخ الاستحقاق تُحفَظ منفصلة وتُشتق من العقد.
- الأتعاب والعمولات على الملاك تُعامَل خدماتٍ خاضعة قائمة بذاتها.
- النسبة تُحفَظ على البند كما صدر، فتُظهر إعادة الطبع بعد تغيّر النسبة ما حُصِّل فعلًا.
أسئلة شائعة
- هل تنطبق الفوترة الإلكترونية على الإيجار السكني؟
- العقود السكنية توريد معفى في السعودية، فلا تنشأ عنها فاتورة ضريبية ولا تلحقها أحكام الفوترة الإلكترونية الخاصة بالفواتير الضريبية. ولا يُخرج ذلك الوكيل السكني من النظام: فأتعاب الإدارة والعمولة ورسوم الخدمات المحمَّلة على الملاك خدمات خاضعة بالنسبة الأساسية، وفواتيرها داخلة في النطاق كغيرها.
- ما الفرق بين المرحلة الأولى والمرحلة الثانية؟
- المرحلة الأولى، الإصدار، سارية منذ ديسمبر ٢٠٢١ وتشترط إنتاج الفواتير ببرنامج إلكتروني متوافق مع رمز استجابة سريعة على الفواتير المبسطة. والمرحلة الثانية، التكامل، بدأت في يناير ٢٠٢٣ وتُطبَّق على موجات بحسب إيرادات المكلَّف؛ وتشترط فواتير بصيغة XML محددة، مختومة تشفيريًّا ومترابطة، تُجاز الفواتير القياسية منها لدى الهيئة قبل الإصدار ويُبلَّغ عن المبسطة خلال ٢٤ ساعة.
- هل يجب إجازة فاتورة الإيجار التجاري قبل إرسالها؟
- الفاتورة الضريبية القياسية — حالة الأعمال إلى الأعمال، وهي ما ينتجه العقد التجاري عادةً — يجب أن تُجاز لدى الهيئة قبل تقديمها إلى العميل، متى دخل المكلَّف مرحلة التكامل. أما الفواتير المبسطة فتصدر أولًا ويُبلَّغ عنها لاحقًا. وهذا يجعل الإجازة اعتمادًا داخل تشغيلة الفوترة لا خطوة بعدها.
- هل يمكن الاستمرار في إصدار فواتير الإيجار بصيغة PDF؟
- يمكن أن يبقى ملف PDF هو ما يتسلّمه المستأجر، لكنه لم يعد الفاتورة. فالفاتورة هي المستند الإلكتروني المهيكل المختوم، وملف PDF عرضٌ له. والنظام الذي مخرجه الوحيد ملف PDF غير متوافق مهما بدا المستند حسنًا، لأنه لا يوجد تحته ما يُختم أو يُربط أو يُجاز.
- لماذا يفشل رمز الاستجابة السريعة حين يكون اسم البائع بالعربية؟
- في الغالب لأن بايت الطول في TLV كُتب بعدد المحارف لا بعدد بايتات UTF-8. فالحرف العربي قرابة بايتين، فيخرج الطول المعلن نصف الحقيقي تقريبًا فيقرأ الماسح الحقل مبتورًا. والاختبار باسم بائع إنجليزي لا يكشفه أبدًا، لأن العددين متطابقان هناك.