Buyer address must contain a street (BT-50), city (BT-52), country code (BT-55). This rule does not apply on the simplified tax invoices and associated credit notes and debit notes (KSA-2, position 1 and 2 = 02).
ماذا يعني هذا؟
القاعدة تطلب من عنوان المشتري ثلاثة عناصر لا أكثر: اسم الشارع (BT-50) في cbc:StreetName، والمدينة (BT-52) في cbc:CityName، ورمز الدولة (BT-55) في cac:Country/cbc:IdentificationCode — وكلها داخل cac:AccountingCustomerParty/cac:Party/cac:PostalAddress. وتستثني بنصّها الفاتورة المبسطة وإشعاراتها الدائنة والمدينة (KSA-2، الخانتان الأولى والثانية = 02).
والنص المطبوع فوق هذه الصفحة هو نصّ الهيئة كما يرد في المستخرج المنشور مع حزمة تطويرها، وهو مصدر قائمتنا كاملة. لكن الرسالة التي ترجعها الواجهة الحيّة اليوم أطول منه: رأيناها على فاتورة حقيقية بتاريخ 2026-09-19 تبدأ بشرط لا وجود له في النص المخزَّن — Where the Buyer Country Code (BT-55) is other than 'SA' — ثم تكمل بالجملة نفسها حرفًا بحرف. ولم نغيّر المخزَّن: هو نصّ الهيئة كذلك، ومن يطابق شاشته على صفحتنا يجد الجملة التي بيده.
وهذا الشرط يقسم العمل بين قاعدتين، وهو السبب الذي من أجله كُتبت هذه الصفحة: هذه للمشتري الذي رمز دولته ليس SA وتطلب منه ثلاثة عناصر، وBR-KSA-63 للمشتري الذي رمز دولته SA وتطلب منه ستة — الشارع ورقم المبنى والرمز البريدي والمدينة والحي ورمز الدولة. فالفاتورة الضريبية لا تخرج من تحت إحداهما: مشترٍ في الخارج تحت هذه، ومشترٍ في الداخل تحت تلك.
والفاتورة التي رأينا عليها الرسالة لم تكن لمشترٍ في الخارج أصلًا. كانت فاتورة ضريبية لمشترٍ لا عنوان له في الملف بتاتًا — لا شارع ولا مدينة ولا رمز دولة، لأن نظامنا لا يكتب عنصر عنوان حين لا يعرف منه شيئًا — وعادت عليها هذه القاعدة بنصّها الطويل، ومعها BR-KSA-63 وكودان من أطوال حقول عنوان المشتري. فرمز الدولة الغائب يقع عند الهيئة تحت «غير SA» كما يقع رمز أجنبي. ونرويها كما رأيناها ولا نزيد: المستخرج الذي نعمل عليه يعطينا نص كل قاعدة ودرجتها لا شرط تنفيذها، فهذه مشاهدة لا إعادة بناء للشرط.
ودرجتها تحذير: الفاتورة تُجاز ويعود الكود مع القبول في warningMessages، فلا يتوقف بيع على عنوان ليس في اليد. لكن المقبول ليس بالضرورة مكتملًا: المستند الضريبي يبقى بلا عنوان مشترٍ في سجلاتك وسجلات عميلك، والتحذير يعود مع كل فاتورة لذلك العميل ما دام سجله على حاله.
لماذا يحدث؟
مرتّبة من الأشيع إلى الأقل شيوعًا — الأرجح أن سببك في الأول أو الثاني.
- مشترٍ خارج السعودية أُنشئ سجله من توقيع بريد إلكتروني أو أمر شراء: اسم ومدينة وربما شارع، بلا رمز دولة في خانته.
- عميل لا عنوان له في الملف بتاتًا ثم صدرت له فاتورة ضريبية — وهذه أشيع صورة رأيناها، والتي عادت علينا بهذا الكود.
-
العنوان كله سطر واحد في خانة الشارع:
cbc:StreetNameممتلئ، والمدينة ورمز الدولة لا يصلان خانتيهما. - مستند كان بيع صندوق فحُرِّر مبسطًا، ثم أُعيد إصداره فاتورة ضريبية لمشترٍ كان سجله اسمًا ورقم هاتف.
-
نظام يفترض السعودية لكل عميل فلا يسأل عن الدولة أصلًا، فيخرج المشتري الأجنبي برمز
SA— وليس هذا خطأ هذه القاعدة بل خطأ في وصف المشتري، ويضعه تحت BR-KSA-63 بستة عناصر بدل ثلاثة. - عملاء مستوردون من جدول بيانات بعمود عنوان واحد، فلا يُقسَّم إلى شارع ومدينة.
كيف تصلحه
3 خطوات، ثم أعد إرسال الفاتورة.
-
1
العناصر الثلاثة في خاناتها، ورمز الدولة حرفان
اكتب الشارع في
cbc:StreetName، والمدينة فيcbc:CityName، ورمز الدولة فيcac:Country/cbc:IdentificationCode— وهو حرفان بمعيار ISO:AEوKWوEGوSA، لاKSAولا اسم الدولة مكتوبًا. والعنصر الذي لا تملك قيمته اتركه غائبًا لا فارغًا: العنصر الفارغ يقع تحت قواعد أطوال الحقول التي حدّها الأدنى محرف واحد. -
2
المشتري السعودي: الثلاثة لا تكفيه
متى كان رمز دولة المشتري
SAصار المطلوب ستة عناصر لا ثلاثة بنص BR-KSA-63: يزيد عليها رقم المبنى والحي والرمز البريدي. وأسرع طريق إليها أن تطلب من العميل عنوانه الوطني المختصر — أربعة أحرف ثم أربعة أرقام — أو شهادة عنوانه الوطني، فمنهما تُستخرج الستة مفصّلة. وأين يجدها في العنوان الوطني في الفاتورة الإلكترونية: الحقول الستة وأين تجدها. -
3
ولا تخترع عنوانًا لمستند لا يطلبه
القاعدة تستثني المبسطة وإشعاراتها بنصّها. فإن كان البيع بيع صندوق فالمستند مبسط ولا حاجة فيه إلى عنوان مشترٍ أصلًا، وحشو عنوان فيه لإسكات تحذير لا يخصّه يضع على المستند ما ليس صحيحًا. والفرق بين العائلتين وما تشترطه كلٌّ منهما في الفاتورة الضريبية والفاتورة المبسطة.
هذا الكود لا يمنع القبول، فالفاتورة الحالية نظامية. صحّح البيانات لتختفي التحذيرات من الفواتير القادمة.
هل يمنعه ZATCA Tools؟
لا يمنعه، وهذا قرار. عناصر عنوان المشتري في ZATCA Tools تنبيه لا شرط — الشرط هو الهوية: رقم ضريبي أو معرّف بديل بنوعه. فحين تُصدر فاتورة ضريبية لمشترٍ ينقص عنوانه شيء، تسمّي نافذةٌ الناقصَ بالاسم وتعرض «إكمال البيانات» أو «متابعة»، والنافذة نفسها تظهر عند إصدار مسودة محفوظة. أما واجهة البرمجة فلا نافذة فيها: تُصدر بعنوان ناقص ما دامت الهوية حاضرة، ويعود التحذير في ردّها. وما هو معروف من العنوان يُكتب عنصرًا عنصرًا، والناقص يُترك غائبًا لا فارغًا، ومشترٍ بلا أي جزء من عنوانه يخرج بلا عنصر عنوان أصلًا. وحدٌّ نذكره صريحًا لأن هذه القاعدة هي التي تكشفه: لا يوجد في ZATCA Tools حقل تختار منه دولة المشتري — لا في نموذج العميل ولا في واجهة البرمجة ولا في الاستيراد — فكل عنوان مشترٍ يخرج من عندنا برمز SA. ومعناه أن مشتريًا في الخارج لا يمكن وصفه اليوم بما هو، وفاتورته تقع تحت BR-KSA-63 بعناصرها الستة بدل هذه القاعدة بثلاثتها.
أكواد لها علاقة
أسئلة شائعة
هل رُفضت فاتورتي بسبب عنوان المشتري؟ +
errorMessages التي ترفض عن warningMessages التي تُسجَّل فقط. وطريقة قراءته في فاتورتي مرفوضة من الهيئة.الرسالة التي وصلتني أطول من النص المعروض هنا — أيّهما الصحيح؟ +
Where the Buyer Country Code (BT-55) is other than 'SA'. وهذه الزيادة هي كل قيمة هذه الصفحة، ولذلك نقتبسها بدل أن نستبدل بها المخزَّن.عميلي سعودي، فلماذا ظهر لي كود يتكلم عن دولة غير SA؟ +
هل تنطبق على الإشعار الدائن والمدين؟ +
عميلي في الخارج ولا يملك «شارعًا» بالمعنى المعروف — ماذا أكتب؟ +
ما الفرق بينها وبين BR-KSA-63 في سطر واحد؟ +
ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. ابدأ مجانًا، وبدون بطاقة ائتمانية.
ابدأ مجانًا