Update: 2026-05-11 22:31:36
This commit is contained in:
@@ -19,13 +19,16 @@ class InvoiceExtractionService
|
||||
- لا تخترع أي بيانات غير موجودة — أعد null إذا لم تجد المعلومة
|
||||
|
||||
════════════════════════════════════════
|
||||
## التحقق الرياضي (إلزامي):
|
||||
## التحقق الرياضي والفواتير الشاملة للضريبة (إلزامي):
|
||||
════════════════════════════════════════
|
||||
- line_total = (quantity × unit_price) - discount لكل سطر
|
||||
- معظم فواتير التجزئة والسوبرماركت (POS) في الأردن تكون "شاملة للضريبة" (Tax Inclusive).
|
||||
- هذا يعني أن السعر المطبوع على الفاتورة (unit_price) والمجموع الجزئي للسطر (line_total) يحتويان أصلاً على الضريبة إن وجدت.
|
||||
- line_total = (quantity × unit_price) - discount لكل سطر (وهذا المبلغ شامل للضريبة).
|
||||
- subtotal = مجموع كل line_total
|
||||
- tax_amount = مجموع (line_total × tax_rate) لكل سطر
|
||||
- grand_total = subtotal - discount_total + tax_amount
|
||||
- إذا وجدت تناقضاً في الفاتورة بين الأرقام المطبوعة والحسابات: سجِّله في validation_warnings، واستخدم القيم المحسوبة
|
||||
- grand_total = subtotal - discount_total (يجب أن يتطابق تماماً مع المبلغ الكلي المطلوب من العميل في الفاتورة).
|
||||
- tax_amount = مجموع الضرائب المحسوبة عكسياً من line_total (أو كما هي مذكورة صراحةً في أسفل الفاتورة). إياك أن تضيف tax_amount فوق subtotal إذا كانت الفاتورة شاملة للضريبة.
|
||||
- إذا كانت الفاتورة من النوع النادر غير الشامل للضريبة (Tax Exclusive): grand_total = subtotal - discount_total + tax_amount
|
||||
- إذا وجدت تناقضاً في الفاتورة بين الأرقام المطبوعة والحسابات: يجب أن تعطي الأولوية القصوى لتطابق `grand_total` مع الرقم المطبوع الذي تم دفعه فعلياً، وسجِّل أي ملاحظات في validation_warnings.
|
||||
|
||||
════════════════════════════════════════
|
||||
## جدول الضرائب الأردنية (مرجعك الإلزامي):
|
||||
@@ -90,7 +93,8 @@ class InvoiceExtractionService
|
||||
- زيت الزيتون غير المعدل كيماوياً
|
||||
- سكر مكرر (عدا سكر القصب)
|
||||
- الشاي الأسود (عبوات ≤ 3 كغ)
|
||||
- الحليب المعبأ (≤ 5 كغ) والحليب المجفف (≤ 3 كغ)
|
||||
- الحليب المعبأ (≤ 5 كغ) والحليب المجفف (مثل حليب نيدو)
|
||||
- الألبان (اللبن الرائب، الشنينة، لبن حمودة، الخ) والأجبان البيضاء العادية.
|
||||
- بيض المائدة
|
||||
- خضروات طازجة أو مبردة: بصل، ثوم، خيار، بندورة، بطاطا، فول
|
||||
- أجهزة الهواتف الذكية
|
||||
@@ -106,8 +110,8 @@ class InvoiceExtractionService
|
||||
════════════════════════════════════════
|
||||
## قواعد تصنيف الضريبة لكل سطر:
|
||||
════════════════════════════════════════
|
||||
1. ابحث أولاً في قوائم الإعفاء والصفر والنسب المخفضة
|
||||
2. إذا لم تجد السلعة في أي قائمة → نسبة 16% هي الافتراضية
|
||||
1. ابحث أولاً في قوائم الإعفاء والصفر والنسب المخفضة. المواد الغذائية الأساسية في السوبرماركت (ألبان، أجبان، حليب، خبز) غالباً معفاة (0% أو 4%). لا تفرض 16% إلا على الكماليات (منظفات، حلويات، عصائر مصنعة، الخ).
|
||||
2. إذا لم تجد السلعة في أي قائمة → نسبة 16% هي الافتراضية للسلع غير الغذائية والخدمات.
|
||||
3. إذا صرّحت الفاتورة بنسبة مختلفة عن المتوقع → استخدم ما في الفاتورة وسجِّل ملاحظة في validation_warnings
|
||||
4. tax_category: استخدم "S" للخاضعة (16% أو مخفضة)، "Z" للصفري، "E" للمعفاة، "O" للخاصة
|
||||
|
||||
|
||||
Reference in New Issue
Block a user