القائمة

التحقق من المعرف الضريبي: ماذا يثبت رقم التحقق؟

التحقق من المعرف الضريبي يلتقط الأخطاء المطبعية ولا يكشف التزوير. تشرح المقالة كيف تبنى طبقات التحقق بين فحص الشكل والاستعلام الرسمي، ومتى يفيد رقم التحقق.

تاريخ النشر

  • الرقم الضريبي
  • التحقق
  • بيانات اختبار

التحقق من المعرف الضريبي هو ممارسة فحص معرف ضريبي قبل تخزينه أو إصدار فاتورة به أو الإبلاغ عنه، وهو أيضا الحقل الذي يوضع فيه السقف المتوقع عاليا أكثر من غيره. فالفحص المصمم جيدا يمنع انتقال الأرقام المقلوبة إلى قاعدة بياناتك، لكنه لن يقول لك هل العمل موجود، ولا هل صدر الرقم يوما، ولا هل الشركة التي تقف خلفه مخولة بأي شيء.

تشرح هذه المقالة ما هو المعرف الضريبي، ولماذا يمكن فحص بعض التنسيقات حسابيا وبعضها لا، وكيف تبنى طبقات التحقق بحيث تجيب كل طبقة عن سؤال تستطيع الإجابة عنه فعلا، ولماذا لا يجوز أبدا الإبلاغ عن فحص فاشل بأن الشركة غير موجودة.

ما هو المعرف الضريبي؟

هو المعرف الذي تخصصه إدارة ضريبية لمكلف. وهذا هو التعريف كله، وهو واسع عن قصد، لأن البلدان تنظم التسجيل الضريبي بطرق مختلفة جدا.

فقد يكون في بلد ما رقم ضريبي وطني واحد يستخدم لكل شيء. وقد يكون في بلد آخر أرقام منفصلة لضرائب مختلفة، فتحمل الشركة معرفا للضرائب المباشرة ومعرفا آخر لضريبة القيمة المضافة. وقد يستخدم بلد ثالث رقما يسبق نظام الضرائب نفسه، إذ أدخل لغرض إداري آخر ثم تبناه النظام الضريبي لاحقا. وولايات قضائية عدة تستخدم معرفا واحدا يصلح أيضا كرقم تسجيل للشركة، وأخرى تفصلهما فصلا تاما.

وتتبع ذلك نتيجتان فورا. الأولى أن الرقم الضريبي ليس حقلا واحدا في الواقع، بل عائلة حقول يتحدد أعضاؤها بالبلد. والثانية أن أي عبارة من قبيل أن الرقم الضريبي يحتوي دائما عنصرا معينا تكون خاطئة في مكان ما، ولهذا يجب أن يكتب التحقق عندك بأسلوب متحفظ.

لماذا تحمل بعض الأرقام الضريبية رقم تحقق؟

لأن الهيئة المصدرة صممتها كذلك. فرقم التحقق تكرار حسابي: يحسب المحرف الأخير أو محرف في الوسط من بقية المحارف بقاعدة منشورة، فمحرف واحد مخطأ أو مقلوب ينتج عادة قيمة تفشل في القاعدة.

وحيث ينشر بلد قاعدة كهذه، فتنفيذها مفيد فعلا. فهو يلتقط أكثر أخطاء الإدخال شيوعا عند لحظة الإدخال، بلا نداء شبكة وبلا اعتمادية خارجية وبلا مسألة خصوصية. وهو زهيد وسريع وحتمي، وهو أقوى فحص يمكن إجراؤه محليا.

وأما حيث لا ينشر بلد قاعدة كهذه، فالمعرف مجرد تخصيص: خصصته الهيئة وسجلته، ولا تستطيع أي عملية حسابية أن تفرق بين رقم حقيقي ورقم مخترع. وهذا أكثر شيوعا مما يتوقع المطورون، فبعض الولايات القضائية الكبيرة جدا تصدر أرقاما متسلسلة بسيطة بلا أي تكرار حسابي.

والتعليمات التي تتبع ذلك صريحة. نفذ خوارزمية رقم تحقق فقط للبلدان التي تحققت بنفسك أن الخوارزمية فيها منشورة ولا تزال سارية. ولا تخمن خوارزمية من شكل الرقم، ولا تفترض أن تشابه تنسيق بين بلدين يعني تطبيق القاعدة نفسها.

شكل الرقم ما يمكن التحقق منه بصدق
خوارزمية منشورة مع رقم تحقق مجموعة المحارف والطول والقاعدة الحسابية
تخصيص بسيط بلا قاعدة منشورة مجموعة المحارف وحد طول سخي فقط
تنسيق يحمل بادئة بلد أو هيئة أن البادئة تطابق البلد المعلن
تنسيق يصلح أيضا كرقم تسجيل ما يستطيع السجل نفسه تأكيده

هل اجتياز التحقق يعني أن الرقم حقيقي؟

لا. فصحة الشكل والوجود خاصيتان مختلفتان، والخلط بينهما أكثر خطأ تصميمي شيوعا في هذا الباب.

فرقم سليم نحويا قد لا يخص أحدا. فمن يفهم النمط يستطيع إنتاج رقم يستوفي كل قاعدة محلية، بما فيها رقم التحقق، لأن رقم التحقق مصمم لالتقاط الأخطاء العارضة لا الخصوم. وقد يكون رقم حقيقي تماما ويفشل مع ذلك في قاعدتك المحلية، إن كانت القاعدة قد كتبت على تخطيط أقدم أو على بلد آخر أو على مستند نسق الرقم بطريقة غير معتادة.

والوجود تثبته الهيئة التي أصدرت المعرف وحدها. وحيث تنشر إدارة ضريبية خدمة استعلام رسمية تكون تلك الخدمة جوابا على سؤال الوجود، وحيث لا تنشرها فقد لا يكون الوجود قابلا للتأكيد إلا من مستندات يقدمها العمل نفسه. وتلك ضمانة أضعف فعلا، وينبغي وصفها كذلك لا تزيينها بوصف التحقق.

وثمة دقيقة تفاجئ الفرق: حتى القيد المؤكد واقعة في لحظة معينة. فقد يكون الرقم ساريا اليوم وملغى الشهر القادم، فالتخزين المؤقت المتشدد لحقيقة أن الرقم سليم يناقض الواقع في النهاية. فخزن مؤقتا بوعي، وفضل تخزين الجواب مع طابع زمني على تخزينه إلى الأبد.

كيف يجب أن يكون التحقق على طبقات؟

على ثلاث مراحل مرتبة حسب التكلفة، الأرخص والأكثر يقينا أولا.

المرحلة الأولى محلية وبنيوية: هل الحقل غير فارغ، وهل هو داخل حد أقصى سخي، وهل لا يحتوي إلا محارف تظهر في بعض التنسيقات، وهل يطابق البلد المعلن أي بادئة موجودة. وينبغي أن لا ترفض هذه المرحلة مدخلا معقولا إلا نادرا، فوظيفتها التقاط القيم الفارغة والتالفة بوضوح.

والمرحلة الثانية خاصة بالبلد: طبق قاعدة رقم التحقق المنشورة حيث تملكها، وهناك فقط. وأبلغ بالنتيجة كتحذير خطأ مطبعي ملحق بالحقل، بصيغة تقول إن هذا لا يبدو صحيحا وتطلب مراجعته، لأن هذا هو ما يعنيه فشل رقم التحقق فعلا.

والمرحلة الثالثة هي الاستعلام المرجعي، غير متزامن ولا يعيق النموذج أبدا. وله ثلاث نتائج تستحق التمييز، أي مؤكد وغير موجود وغير متاح، وينبغي أن يستطيع أن يقول أيها حدث. فالاستعلام الذي لا يفرق بين لا يوجد رقم كهذا وبين الخدمة متوقفة سيرفض في النهاية عميلا مشروعا في يوم شبكة سيئ.

للمطورين: الأخطاء والذاكرة المؤقتة وسجل التدقيق

معظم عمل التصميم هنا يتعلق بالصدق في معالجة الأخطاء. وينبغي أن تنتج كل طبقة نتيجة قابلة للتمييز، وأن تسم الرسالة التي يراها المستخدم الطبقة التي فشلت. فعبارة تقول إننا لم نستطع الوصول إلى الهيئة الضريبية وإن البيانات محفوظة وإن الفحص سيعاد قابلة للاستخدام، أما عبارة تقول إن الرقم الضريبي غير صالح وملحقة بقيمة نسخها المستخدم من شهادة رسمية فليست كذلك.

وفكر في نوع نتيجة صريح بدلا من قيمة منطقية. فأربع حالات، أي غير محقق وشكل سليم واستعلام مؤكد واستعلام غير موجود، تغطي المجال دون فرض تمييز لا يستطيع النظام إجراءه. أما القيمة المنطقية فتجمعها كلها وتضمن أن بعض قيمة مشروعة ستعامل كخطأ في النهاية.

وينبغي أن يكون التخزين المؤقت غير متماثل. فالنتيجة المؤكدة تستحق الاحتفاظ لفترة معقولة، والنتيجة غير الموجودة ينبغي أن تنتهي بسرعة، لأن التسجيلات تتغير ولأن غياب الأمس سبب ضعيف لرفض عميل اليوم. والنتيجة غير المتاحة لا تخزن مؤقتا كسلبية إطلاقا.

ودون ما فحصته دون أن يتحول السجل إلى نسخة من قاعدة بيانات العملاء. سجل وقوع الفحص ووقته والطبقة المطبقة والنتيجة، وتجنب تكرار المعرف الخام في أنظمة لا تحتاجه. وحيث يجب الاحتفاظ بالمعرف فتعامل معه كبيانات أعمال بالعناية نفسها، واحتفظ بالقيم المنشأة منفصلة بوضوح عن القيم الحقيقية، وهذا ما تنشأ من أجله حقول المعرف الضريبي الاصطناعية على هذا الموقع. وتغطي مقالة تنسيقات رقم VAT أشهر أعضاء هذه العائلة، وتوضح مقالة بيانات الشركة الوهمية شكل بقية سجل العمل الاصطناعي.

الخطوات التالية

اجرد كل فحص لرقم ضريبي في منتجك وسم كلا منها بالطبقة التي ينفذها. وأي فحص يرفض قيمة استنادا إلى نمط مخمن ينبغي أن يخفض إلى تحذير، وأي رسالة تقول إن الرقم غير موجود بناء على اختبار حسابي ينبغي أن تعاد صياغتها لتقول ما اختبر فعلا. ثم استخدم أداة إنشاء بيانات الشركة لإنتاج سجلات لبلدان عدة وتأكد أن نموذجك يعالج بلدا لا يعرف عنه شيئا دون رفض الإدخال رفضا تاما.

تابع القراءة

أدلة منشئ بيانات شركات للاختبار