تقارير مالية عربية في التطبيقات: دليل التوليد التلقائي

فريق كودينُشِر في آخرُ تحديثٍ
تقارير مالية عربية في التطبيقات: دليل التوليد التلقائي

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

ما الذي يجعل التقرير «تلقائياً» فعلاً؟

التقرير التلقائي ليس زراً تضغطه فيظهر جدول. هو سلسلة مغلقة: بيانات تُسجَّل لحظة حدوث المعاملة، ثم تُجمَّع حسب فترة زمنية، ثم تُصبّ في قالب مصمَّم مسبقاً، ثم تُرسَل لمن يحتاجها.

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

ثلاثة مستويات تختار بينها حسب حجم مشروعك:

  • تقرير عند الطلب: المستخدم يحدد الفترة ويضغط «تصدير». الأبسط، ويكفي في البداية.
  • تقرير مجدول: يومي أو أسبوعي أو شهري، يُرسل تلقائياً بالبريد أو واتساب للأعمال.
  • تقرير تفاعلي: لوحة مؤشرات حيّة داخل التطبيق، مع إمكانية تصدير لحظي.

نصيحتي؟ لا تبنِ الثلاثة دفعة واحدة. ابدأ بالتقرير عند الطلب، راقب أي تقرير يطلبه المستخدمون فعلاً خلال شهرين، ثم أتمت المطلوب منه فقط. رأيت مشاريع بنت أربعة عشر تقريراً، واستُخدم منها اثنان. الوقت الضائع في الباقي كان يكفي لبناء ميزة تجلب دخلاً.

لماذا تظهر التقارير المالية العربية مشوّهة؟

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

خذ مثالاً واقعياً. تكتب في التقرير «صافي الربح: -1,250 ر.س»، فيظهر في PDF هكذا: «1,250- ر.س» أو أسوأ، تتحرك الإشارة لنهاية السطر تماماً. السبب أن المتصفح أو محرك التصدير يعامل الرقم ككتلة لاتينية داخل نص عربي، ويحسب الاتجاه بطريقته.

العلاج بسيط: ضع الأرقام والعملة داخل عنصر مستقل باتجاه محدد صراحةً، أو استخدم الأقواس بدل الإشارة السالبة كما يفعل المحاسبون أصلاً — (1,250) ر.س. هذه الطريقة معتمدة محاسبياً وتتجنب مشكلة الاتجاه كلياً.

المشكلة الثانية أقل وضوحاً وأكثر إزعاجاً. حين تُقلب الجداول إلى اليمين، ينعكس ترتيب الأعمدة تلقائياً، فيصبح عمود «الإجمالي» في اليسار بدل اليمين، ويختل منطق القراءة المحاسبية. تحقق من الترتيب بصرياً بعد كل تعديل على التخطيط، ولا تثق بأن الانعكاس التلقائي أنجز كل شيء. مراجعة أساسيات دعم RTL في التطبيقات توفّر عليك أسبوعاً من التجارب العشوائية.

البيانات التي يجب تجهيزها قبل بناء أي تقرير

التقرير الجميل فوق بيانات فوضوية يساوي صفراً. قبل أن ترسم أي جدول، تأكد أن كل معاملة في قاعدة بياناتك تحمل الحقول التالية:

  • التاريخ والوقت بتوقيت موحّد، مع تحويل العرض لتوقيت الخليج (+3 للسعودية والكويت، +4 للإمارات وعُمان). أهملها وستكتشف أن مبيعات آخر يوم في الشهر هبطت في تقرير الشهر التالي.
  • المبلغ بأصغر وحدة — الهللة أو الفلس — كعدد صحيح. لا تخزّن المبالغ كأرقام عشرية؛ ستفقد هللات في التقريب وتظهر فروق غريبة عند الجمع.
  • رمز العملة لكل معاملة (SAR، AED، KWD، QAR)، لا عملة واحدة مفترضة على مستوى النظام.
  • التصنيف: إيراد، مصروف، ضريبة، خصم، استرداد. صنّف لحظة الإدخال لا لاحقاً.
  • معرّف العميل والفرع، لأن أول سؤال سيطرحه أي شريك هو: أي فرع يربح أكثر؟

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

أخيراً، احتفظ بسجل لا يُعدَّل للمعاملات الملغاة بدل حذفها. المراجع المالي سيسألك عنها، والتقرير الذي لا يفسّر الفروق لا يُبنى عليه قرار.

كيف تنشئ تقريراً مالياً عربياً تلقائياً خطوة بخطوة؟

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

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

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

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

الرابعة: التوليد. المنصات الحديثة لبناء التطبيقات تتيح هذا دون كتابة كود؛ إن كنت تبدأ من الصفر فاطّلع على دليل بناء التطبيقات بالذكاء الاصطناعي لفهم كيف تصف ما تريده بالعربية وتحصل على الشاشة جاهزة.

الخامسة: الجدولة والإرسال. اختبرها على بريدك أنت لمدة شهر قبل أن تفتحها للعملاء.

الخطوط والأرقام وتنسيق العملات الخليجية

اختيار الخط في التقرير المالي قرار وظيفي لا جمالي. تحتاج خطاً يوفّر أرقاماً جدولية (tabular figures) بعرض ثابت، وإلا لن تتراصف خانات الآحاد والعشرات في عمود المبالغ، وسيبدو الجدول مائلاً بصرياً.

الخيارات التي أثق بها: IBM Plex Sans Arabic لوضوحه العالي في الأرقام، وTajawal لخفّته، وNoto Naskh Arabic إن كان جمهورك يفضّل الطابع النسخي التقليدي. تجنّب الخطوط الزخرفية تماماً في التقارير. ولو أردت مقارنة أعمق فهناك مقال مخصص عن الخطوط العربية في واجهات التطبيقات.

سؤال يتكرر: أرقام عربية-هندية (١٢٣) أم غربية (123)؟ في المستندات المالية الخليجية الواقع واضح — البنوك والمحاسبون وهيئة الزكاة والضريبة والدخل في السعودية يستخدمون الأرقام الغربية. استخدمها، ووفّر على عميلك الارتباك.

أما موضع رمز العملة فيأتي بعد المبلغ في النص العربي: «1,450.00 ر.س»، «980.50 د.إ»، «12.750 د.ك». لاحظ الخانات الثلاث في الدينار.

وللتاريخ، اعرض الميلادي أساساً وأضف الهجري بين قوسين إن كان جمهورك حكومياً أو سعودياً بالدرجة الأولى. صيغة «2026/09/21» أوضح من الصيغ الحرفية لأنها لا تحتمل لبساً بين اليوم والشهر.

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

تصدير PDF وExcel دون كوارث

أكثر مرحلة تنكسر فيها التقارير العربية هي التصدير. إليك ما تعلمته بالطريقة الصعبة.

في PDF: كثير من مكتبات التوليد القديمة لا تُشكّل الحروف العربية، فتخرج الكلمة «مبيعات» على هيئة حروف منفصلة ومعكوسة. الحل الذي أوصي به بلا تردد: ولّد صفحة HTML عربية مضبوطة، ثم اطبعها إلى PDF عبر متصفح بلا واجهة (Headless Chrome أو Puppeteer). محرك المتصفح يتولى التشكيل والاتجاه نيابةً عنك، والنتيجة مطابقة تماماً لما تراه على الشاشة.

لا تنسَ تضمين ملف الخط داخل المستند. تقرير يبدو مثالياً على جهازك قد يظهر بخط بديل مشوّه على جهاز العميل لأن الخط غير مثبّت عنده.

في Excel وCSV: هذه أشهر مصيدة على الإطلاق. إذا صدّرت ملف CSV بترميز UTF-8 عادي وفتحه العميل ببرنامج Excel على ويندوز، سيرى رموزاً غريبة بدل العربية. السبب أن Excel يحتاج علامة ترتيب البايتات (BOM) في بداية الملف ليتعرف على الترميز.

أضف الـ BOM وستختفي المشكلة فوراً. بديل أنظف: صدّر ملف XLSX حقيقي بدل CSV، فهو يحمل الترميز والتنسيق والاتجاه داخله، ويسمح لك بضبط اتجاه ورقة العمل من اليمين لليسار وتثبيت صف العناوين.

واختبر دائماً على ثلاثة أجهزة: ويندوز، ماك، وهاتف. ملف مالي يُفتح على الجوال أكثر مما تتخيل، ومعظم التقارير المصممة بعرض A4 تصبح غير قابلة للقراءة هناك.

الامتثال الضريبي في الخليج داخل تقاريرك

التقرير المالي في السوق الخليجي ليس رقماً فقط، بل مستند قد يُطلب منك رسمياً. لذلك اجعل بنية تقاريرك متوافقة من اليوم الأول.

في السعودية، ضريبة القيمة المضافة 15%، وهيئة الزكاة والضريبة والدخل تفرض الفوترة الإلكترونية بمرحلتيها، بما فيها الربط والتكامل مع منظومة «فاتورة». يعني ذلك أن مستندات البيع يجب أن تتضمن اسم المنشأة والرقم الضريبي وتفصيل الضريبة ورمز الاستجابة السريعة. في الإمارات النسبة 5% مع ضريبة شركات 9% على الأرباح فوق الحد المعفى، وفي البحرين 10%، وفي عُمان 5%.

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

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

إن كان تطبيقك يُصدر فواتير أيضاً، فالمنطق مشترك بين الفواتير والتقارير، ويستحق قراءة مقال الفوترة العربية في التطبيقات قبل أن تكرر العمل مرتين. أنا أبني القالبين على نفس مكوّن التنسيق دائماً.

الجدولة والصلاحيات والأخطاء الشائعة

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

وأرفق دائماً وسيلتي تسليم: البريد الإلكتروني للأرشفة، ورابط داخل التطبيق للاطلاع السريع. الملفات المرفقة الثقيلة تُحجب أحياناً في بريد الشركات.

الصلاحيات

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

أخطاء تتكرر كثيراً

  • تقرير بلا فترة مكتوبة عليه. بعد أسبوع لن يعرف أحد إلى أي شهر ينتمي الملف.
  • جمع عملات مختلفة في رقم واحد دون تثبيت سعر صرف وتاريخه. خطأ يفسد كل مقارنة لاحقة.
  • الاعتماد على الترجمة الحرفية للمصطلحات. «Revenue» ليست «العائد» في السياق المحاسبي بل «الإيرادات»، و«Cash Flow» هي «التدفق النقدي» لا «تدفق الكاش».
  • إرسال التقرير لكل المستخدمين افتراضياً. اجعل الاشتراك اختيارياً.
  • عدم تخزين نسخة من التقرير المُولَّد. إن تغيّرت بيانات سابقة، فلن تتمكن من تفسير الفرق بين نسختين.

خطة عملية للأسبوعين القادمين

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

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

الأسئلة الشائعة

هل أحتاج مبرمجاً لبناء تقارير مالية عربية في التطبيقات؟

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

كيف أمنع ظهور الحروف العربية مقطّعة في ملف PDF؟

ولّد التقرير كصفحة HTML ثم اطبعها إلى PDF عبر متصفح بلا واجهة مثل Headless Chrome، لأن محرك المتصفح يشكّل الحروف ويضبط الاتجاه تلقائياً. تأكد كذلك من تضمين ملف الخط داخل المستند، وإلا سيستبدله جهاز العميل بخط بديل قد لا يدعم العربية بشكل صحيح.

ما التقارير المالية التي يجب أن يوفرها تطبيقي أولاً؟

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

كيف أتعامل مع عملات خليجية متعددة في تقرير واحد؟

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

اقرأْ أيضًا