رقم تحقق GSTIN الهندي
لجسم الرقم 27AAPFU0939F1Z يكون حرف التحقق V، فيصبح رقم GSTIN الكامل 27AAPFU0939F1ZV. احسب هذا الحرف الأخير لنموذج أو لاستيراد بيانات، أو افحص رقم GSTIN أرسله مورّد قبل حفظه. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- العدد
- 27AAPFU0939F1Z
- وضع الحساب
- Compute
- المُدخَل
- 27AAPFU0939F1Z
- حرف التحقق
- V
- مع رقم التحقق
- 27AAPFU0939F1ZV
رقم GSTIN الهندي (Goods and Services Tax Identification Number) معرّف ضريبي أبجدي رقمي من خمسة عشر رمزاً يُستخدم في الفواتير وفواتير e-way bill وسجلات التسجيل. الرمز الأخير هو حرف تحقق يُشتق من الأربعة عشر الأولى وفق قاعدة أوزان ثابتة في الأساس ستة وثلاثين، فيفشل التحقق عادة عند خطأ حرف أو رقم واحد قبل تخزين الرقم. تنفّذ هذه القدرة الخوارزمية بأسلوب رسمي: تُعيَّن كل رمز إلى نقطة ترميز من صفر إلى خمسة وثلاثين، وتُضرب بعوامل متناوبة واحد واثنين من اليسار، ويُطوى كل حاصل بقسمة صحيحة على ستة وثلاثين مع الباقي، وتُجمع التجزئات، ويُعاد الباقي المتمم إلى صفر–تسعة أو A–Z. استخدم وضع compute عندما يتوفر لديكم جسم من أربعة عشر رمزاً فقط وتحتاجون حرف التحقق النهائي لنموذج أو استيراد بيانات رئيسية؛ واستخدموا validate عندما يرسل شريك أو ERP أو مستخدم GSTIN كاملاً من خمسة عشر رمزاً وتحتاجون مؤشراً valid واضحاً مع حرف التحقق المتوقع لرسائل الخطأ.
كيف يُحسب حرف التحقق لـ GSTIN الهندي
يكون GSTIN دائماً خمسة عشر رمزاً عند كتابته بلا مسافات ولا ترقيم. الرقمان الأولان يرمزان رمز الولاية؛ والعشرة التالية هي permanent account number (PAN) لدافع الضريبة بالنمط المألوف: خمسة أحرف ثم أربعة أرقام ثم حرف واحد؛ والرمز الثالث عشر يميّز الكيانات التي تشترك في نفس PAN؛ والرابع عشر غالباً Z لتسجيل عادي؛ والخامس عشر حرف تحقق لا ينبغي اختراعه يدوياً. لحسابه خذوا الأربعة عشر الأولى فقط وحوّلوا كلاً منها بأبجدية من صفر إلى تسعة ثم A إلى Z بحيث يقابل الصفر الرمز صفر وZ الرمز خمسة وثلاثين.
من اليسار اضربوا نقاط الترميز المتتالية بالعوامل المتناوبة واحد واثنين وواحد واثنين وهكذا. لكل حاصل P أضيفوا حاصل القسمة الصحيحة لـ P على ستة وثلاثين زائد P modulo ستة وثلاثين إلى مجموع جارٍ. بعد المواضع الأربعة عشر خذوا المجموع modulo ستة وثلاثين، واطرحوا الباقي من ستة وثلاثين، واختزلوا مجدداً modulo ستة وثلاثين ليصبح الباقي صفر رمزاً تحققياً صفراً، ثم أرجعوا الرمز عبر الأبجدية نفسها.
يجب أن تحمل السلسلة الكاملة من خمسة عشر رمزاً ذلك الحرف الختامي بالضبط. الخوارزمية حتمية ومحلية: بلا استدعاء شبكة لبوابة GST، وبلا كتالوج دافعي ضرائب، وبلا ساعة. لا تتحقق هذه الأداة من نشاط التسجيل، ولا توسّع GSTIN إلى اسم قانوني أو تجاري، ولا تدّعي أن checksum صالحاً يعني نظاماً ضريبياً معيناً—بل تثبت فقط أن السلسلة سليمة الشكل تحت قاعدة الأوزان في الأساس ستة وثلاثين.
مقارنةً بمدققي المعرّفات متعددة الدول، نية البحث ضيقة: من يحتاجون حاسبة رقم تحقق GSTIN الهندي لأجسام من أربعة عشر رمزاً، لا مدققاً عاماً لـ VAT أو EIN.
أين تندرج أرقام تحقق GSTIN في سير العمل الحقيقي
تتلقى فرق المالية والبيانات الرئيسية أجساماً داخلية من أربعة عشر رمزاً ويجب إلحاق حرف التحقق الرسمي لـ GSTIN قبل كتابة المعرّف على الفواتير الضريبية أو حمولات e-invoice أو ملفات بائعي الأسواق التي ترفض أرقام GST غير الصالحة. تتحقق بوابات الحسابات الدائنة من GSTIN بخمسة عشر رمزاً عند تأهيل الموردين حتى لا تُنشئ تبديلة واحدة مورداً وهمياً واختلافاً في الدفع تحت reverse charge. تمرّ مهام جودة البيانات على كل عمود GSTIN في تصدير CRM أو ERP، وتستدعي وضع validate وتعزل الصفوف ذات valid false—فتلتقط تعديلات بشرية وأخطاء مولّدات.
لا تعاملوا نجاح تحقق GSTIN كإثبات تسجيل نشط لدى السلطة الضريبية أو نظام معين؛ فهو يثبت فقط أن حرف التحقق base-36 متسق مع جسم الأربعة عشر رمزاً تحت الأوزان المتناوبة القياسية.
حالات الاستخدام
مراجعة أعمدة GSTIN في صادرات ERP وCRM
تحققوا دفعياً من كل GSTIN بخمسة عشر رمزاً في ملف موردين أو عملاء واعزلوا الصفوف التي لم يعد حرف تحققها يطابق القيمة المتوقعة المعاد حسابها.
الأسئلة الشائعة
ما رقم تحقق GSTIN الهندي؟
هو الرمز الخامس عشر من GSTIN، يُحسب بنقاط ترميز base-36 وعوامل متناوبة على الأربعة عشر الأولى، فيُلتقط عادةً أخطاء الكتابة والاستيراد قبل تخزين المعرّف أو طباعته على فاتورة ضريبية.
ماذا يحدث عند طول خاطئ أو رموز أو شكل غير صالح؟
GSTIN كامل لا يطابق حرف تحققه يعيد valid false. مهام التحقق الفاشلة لا تُحاسب.
ماذا يعني كل جزء من رقم GSTIN؟
الرقمان الأولان رمز الولاية، والأحرف العشرة التالية رقم PAN لدافع الضرائب، والحرف الثالث عشر يميّز الكيانات التي تشترك في PAN نفسه، والرابع عشر غالبًا Z، والأخير حرف التحقق.
متى أحسب ومتى أتحقق من رقم GSTIN؟
احسب عندما تملك أول 14 حرفًا فقط وينقصك الحرف الأخير. وتحقق عندما يصلك رقم GSTIN كامل من 15 حرفًا وتريد معرفة هل يطابق حرفه الأخير الحساب.
هل يعني حرف التحقق الصحيح أن المنشأة مسجلة؟
لا. يؤكد الفحص فقط أن الأحرف الخمسة عشر متسقة حسابيًا، ولا يستعلم من بوابة GST أو من أي سجل لدافعي الضرائب، لذا لا يخبرك هل المنشأة مسجلة فعلًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/gstin-india \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"27AAPFU0939F1Z"}'const res = await fetch("https://api.kit.forhosting.com/enc/gstin-india", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "27AAPFU0939F1Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/gstin-india",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "27AAPFU0939F1Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/gstin-india", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"27AAPFU0939F1Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"27AAPFU0939F1Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/gstin-india", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"number": "27AAPFU0939F1Z"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.gstin_india",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
المدخلات غير الأبجدية الرقمية والأطوال الخاطئة والأجسام التي لا تطابق شكل الولاية زائد PAN تفشل بـ invalid_input بدل التنظيف الصامت، فلا تُخزَّن هوية ضريبية نصف منظّفة. تعمل الحسابات النقية نفسها مجاناً في المتصفح وبسعر API المنشور.
عقد الإدخال والأوضاع وسلوك الأخطاء
أرسلوا حقل number يحتوي فقط أحرفاً من A إلى Z وأرقاماً من صفر إلى تسعة؛ تُحوَّل الأحرف الصغيرة تلقائياً إلى كبيرة. الطول الخاطئ خطأ صريح يسمي الوضع والطول المُرسل—أربعة عشر لـ compute وخمسة عشر لـ validate—فتظهر النماذج رسالة دقيقة دون تخمين. السلاسل الفارغة وغياب number وقيم mode غير الصالحة والأجسام التي تفشل شكل الولاية زائد PAN تفشل قبل الوثوق بأي مجموع موزون ولا تُحاسب. فضّلوا compute عند إصدار المعرّفات أو إكمالها؛ وفضّلوا validate عند تقييد استعلام أو استيراد بـ GSTIN كامل من مستخدم أو ملف شريك. تُرفض المسافات والنقاط والشرطات والخطوط المائلة والرموز الأخرى كمدخل غير أبجدي رقمي بـ invalid_input حتى لا يصل قيمة مقطوعة بصمت إلى التخزين. وضع compute هو الافتراضي: يطلب المحرك أربعة عشر رمزاً بالضبط مطابقة لشكل جسم GSTIN القياسي (ولاية برقمين، مقطع PAN من خمسة أحرف وأربعة أرقام وحرف، ثم رمزان ختاميان للكيان والقيمة الافتراضية)، ويعيد check_character كرمز واحد وwith_check كـ GSTIN من خمسة عشر رمزاً يمكن طباعته أو حفظه. يتطلب وضع validate خمسة عشر رمزاً بالضبط؛ تُبلغ الاستجابة valid true عندما يطابق الرمز الختامي expected_check_character المعاد حسابه، وتشمل payload (الأربعة عشر الأولى) وأحرف التحقق المعطاة والمتوقعة وlength خمسة عشر. تُقبل الأسماء البديلة مثل gstin وcode وtext لنفس حقل الحمولة حتى لا تحتاج التكاملات التي تتحدث أصلاً عن «gstin» إلى إعادة تسمية. لأن المسار pure parse بلا ساعة ولا عشوائية ولا شبكة، يعطي نفس جسم JSON دائماً نفس النتيجة على أداة المتصفح المجانية وعلى API بسعر $0.002 لكل طلب ناجح.
أين تندرج أرقام تحقق GSTIN في سير العمل الحقيقي
يمكن لنماذج تسجيل التجارة الإلكترونية وB2B إعادة حساب expected_check_character وعرض تصحيح ودّي عندما تلصق شركة هندية رقماً بحرف أخير خاطئ. تثبت اختبارات التكامل with_check لتجهيزات معروفة مثل 27AAPFU0939F1ZV حتى لا تنحرف مكتبات الفوترة وهذه API.
حالات التكامل
إكمال جسم GSTIN من 14 رمزاً للفواتير
استدعوا وضع compute بجسم أربعة عشر رمزاً، واحفظوا with_check، وأدخلوا GSTIN بخمسة عشر رمزاً في e-invoice أو e-way bill أو ملف بائع السوق.
التحقق من GSTIN كامل مكتوب أو مستورد عند الإدخال
عندما يرسل نموذج أو CSV خمسة عشر رمزاً، استدعوا وضع validate وامنعوا الحفظ إذا كان valid false، مع عرض expected_check_character لتصحيح خطأ كتابة واحد.
أسئلة تقنية
كيف أحسب حرف تحقق GSTIN بهذه API؟
أرسلوا POST مع number من أربعة عشر رمزاً أبجدياً رقمياً بالضبط وmode compute (أو احذفوا mode). تشمل الاستجابة check_character وwith_check (GSTIN الكامل من خمسة عشر رمزاً).
كيف أتحقق من GSTIN كامل من خمسة عشر رمزاً؟
أرسلوا POST بالسلسلة ذات الخمسة عشر رمزاً وmode validate. تشمل الاستجابة valid وcheck_character وexpected_check_character وpayload (الرموز دون التحقق الأخير).
هل أداة رقم تحقق GSTIN الهندي مجانية؟
أداة المتصفح مجانية وتعمل محلياً. استدعاءات API تستخدم رصيد KIT المدفوع مسبقاً بالسعر الأساسي المنشور $0.002؛ والمدخل غير الصالح لا يُحاسب أبداً.