في هذا المقال سنتحدث عن الحسابات الافتراضية.
read_time: 8–10 minutes
تمهيد: لماذا الحسابات الافتراضية ضرورية في Yaomy ERP؟
أي نظام ERP حقيقي يخدم الشركات الصغيرة والمتوسطة في السعودية والخليج ومصر لا يكفيه أن «يُسجِّل فواتير» فقط؛ يجب أن يحوّل هذه الفواتير تلقائياً إلى قيود محاسبية متسقة تحترم دليل الحسابات وسياسة الشركة المحاسبية ومتطلبات ضريبة القيمة المضافة. هنا يأتي دور **الحسابات الافتراضية** (Default Ledger Accounts) في Yaomy ERP، وهي طبقة ذكية تربط بين منطق الأعمال (مبيعات، مشتريات، مخزون، خزائن وبنوك) وبين الحسابات الدفترية الفعلية في وحدة المحاسبة.
بدلاً من أن يضطر المحاسب في شركة متوسطة في الرياض أو جدة أو القاهرة إلى إخبار كل مستخدم «أي حساب يختار» في كل مرة يرحّل فيها فاتورة أو سند، يتيح له Yaomy ERP تعريف خريطة ثابتة تربط مفاتيح منطقية مثل sales أو inventory أو vat_output بحسابات محددة في دليل الحسابات. بعد ذلك، كل ترحيل يتم من خلال هذه الخريطة دون تدخل بشري، مع إمكانية مراجعتها وتعديلها من واجهة خاصة في النظام.
المفاتيح المنطقية (Account Keys) في Yaomy ERP
نقطة القوة في تصميم الحسابات الافتراضية في Yaomy ERP هي استخدامه لمجموعة من **المفاتيح المنطقية** (account_key) الثابتة التي تمثل أدواراً محاسبية واضحة داخل النظام. من بين هذه المفاتيح على سبيل المثال:
– sales: لحساب إيرادات المبيعات.
– cost_of_sales: لحساب تكلفة البضاعة المباعة.
– accounts_receivable: لحساب الذمم المدينة (العملاء).
– accounts_payable: لحساب الموردين.
– inventory: لحساب المخزون.
– cash_default: لحساب الصندوق الافتراضي.
– bank_default: لحساب البنك الافتراضي.
– vat_output: لحساب ضريبة المخرجات.
– vat_input: لحساب ضريبة المدخلات.
– retained_earnings: لحساب الأرباح المحتجزة.
– sales_discount: لحساب خصومات المبيعات.
– loyalty_liability: لالتزامات برامج الولاء إن استخدمت الشركة هذه الميزة.
في واجهة «تعيين الحسابات الأساسية» داخل Yaomy ERP، يرى المحاسب قائمة بهذه المفاتيح ويقوم باختيار حساب من دليل الحسابات لكل مفتاح. النتيجة تخزن في جدول `company_default_ledger_accounts` على مستوى كل شركة (company_id، account_key، ledger_account_id)، بحيث يحصل كل مستأجر في المنصة السحابية على إعداداته الخاصة.
هذا التصميم يمكّن النظام من الفصل بين منطق الأعمال (حركة مبيعات أو مشتريات) وبين حسابات الدفتر الفعلية، مما يسهل على المطورين توحيد منطق الترحيل، وعلى المحاسبين تعديل الإعدادات دون الحاجة إلى تغيير الكود.
التحقق قبل الترحيل: حماية من القيود الناقصة
واحدة من أكثر الأخطاء شيوعاً في الأنظمة البسيطة هي السماح بترحيل فواتير أو سندات بدون التأكد من أن كل الحسابات اللازمة معرّفة، ما ينتج عنه قيود ناقصة أو غير متوازنة. في Yaomy ERP، لا يُسمح للترحيل بأن يمر إذا كانت الحسابات الافتراضية الحرجة غير مكتملة.
عند محاولة ترحيل فاتورة مشتريات مثلاً، تقوم خدمة الترحيل مثل `PurchaseDocumentPostingService` بتنفيذ خطوة التحقق التالية:
– التأكد من وجود حساب `inventory` لحركة المخزون.
– التأكد من وجود حساب `vat_input` لضريبة المدخلات.
– التأكد من وجود حساب `accounts_payable` للمورد.
إذا وجد النظام أن أحد هذه المفاتيح لا يملك حسابًا محددًا في `company_default_ledger_accounts`، فإنه يرمي استثناءً من نوع `DefaultLedgerAccountsRequiredException` ويعيد للمستخدم رسالة واضحة بما ينقص. نفس الفكرة تطبق على فواتير المبيعات والإشعارات وسندات القبض والصرف وحركات أخرى.
بهذا التصميم، يكون لدى الشركات في السعودية والخليج ومصر طبقة حماية تمنع ظهور قيود غير مكتملة في ميزان المراجعة أو تقارير VAT، وتقلل الوقت الذي يقضيه فريق المحاسبة في تصحيح الأخطاء اليدوية.
كيف تُربط المستندات بالحسابات عند الترحيل؟
عندما يضغط المستخدم في وحدة المبيعات أو المشتريات على زر «ترحيل» أو «اعتماد مع ترحيل»، لا يكتب Yaomy ERP قيودًا عشوائية، بل يحتكم إلى خريطة الحسابات الافتراضية التي أعدها المحاسب للشركة.
الآلية يمكن تلخيصها في الخطوات التالية:
1. تستدعي خدمة الترحيل (مثل `AutoJournalService` أو خدمة مخصصة لكل نوع مستند) دالة مثل `getDefaultAccountId(companyId, accountKey)` لكل مفتاح مطلوب في القيد.
2. تُرجع الدالة رقم الحساب من دليل الحسابات المرتبط بالمفتاح (مثلاً حساب المخزون لحركة الشراء).
3. تُنشأ بنود القيد (Journal Lines) وفق هذا الربط، مثل:
– مدين مخزون (inventory) بقيمة تكلفة المشتريات.
– مدين ضريبة مدخلات (vat_input) بقيمة الضريبة.
– دائن موردين (accounts_payable) بقيمة الإجمالي.
4. يُحفظ القيد في جدول القيود ويرتبط بالمستند الأصلي عبر `journal_entry_id`.
بهذا الشكل، يمكن الرجوع من أي فاتورة أو مرتجع أو إشعار إلى القيود التي أنشأها النظام تلقائيًا، والعكس، مما يسهل عملية المراجعة الداخلية أو الخارجية والتدقيق الضريبي.
دور الحسابات الافتراضية في وحدات المبيعات والمشتريات والمخزون
تظهر أهمية الحسابات الافتراضية بوضوح عندما ننظر إلى كيفية ترحيل المستندات الأساسية في Yaomy ERP:
– **في المبيعات**: عند ترحيل فاتورة مبيعات، يستخدم النظام الحسابات الافتراضية لـ sales (الإيراد)، accounts_receivable (العميل)، vat_output (ضريبة المخرجات)، وربما sales_discount (الخصومات). إذا كان هناك ترابط مع المخزون (مبيعات أصناف مخزنية)، يمكن أيضاً استخدام cost_of_sales و inventory لحساب تكلفة البضاعة المباعة.
– **في المشتريات**: عند ترحيل فاتورة مشتريات، يستخدم النظام inventory للمخزون الداخل، vat_input للضريبة، و accounts_payable للمورد. في حال كانت المشتريات خدمية، يمكن توجيهها إلى حسابات مصروفات أخرى محددة.
– **في المخزون**: حركات الجرد أو التسويات أو التحويلات بين المستودعات قد تستخدم حسابات مثل inventory و expense_other أو revenue_other لتسجيل فروقات الجرد أو تسويات التكلفة حسب سياسة الشركة.
هذا الترابط يجعل من Yaomy ERP أداة عملية للشركات الصغيرة والمتوسطة في السعودية والخليج ومصر التي تريد الاستفادة من ترحيل تلقائي دقيق من المبيعات والمشتريات إلى المحاسبة دون أن تفقد السيطرة على خريطة حساباتها.
اعتبارات خاصة بسوق الخليج ومصر (VAT وZATKA)
في بيئات مثل السعودية والإمارات ومصر، حيث تُطبق ضريبة القيمة المضافة وتوجد منصات تنظيمية مثل منصة زاتكا في المملكة، يصبح التعامل مع الحسابات الافتراضية مسألة امتثال قبل أن تكون مسألة راحة فقط.
من خلال ضبط الحسابات الافتراضية لضريبة المخرجات والضريبة على المشتريات بشكل صحيح، تضمن الشركات أن:
– كل فاتورة مبيعات خاضعة للضريبة تُسجَّل قيمتها وضريبتها في الحسابات المناسبة.
– كل فاتورة مشتريات خاضعة للضريبة تسجَّل في حسابات ضريبة المدخلات، بما يسمح لاحقاً باحتساب الضريبة المستردة أو القابلة للخصم.
– الإشعارات الدائنة والمدينة ومرتجعات المبيعات والمشتريات تعكس عكساً صحيحاً لهذه الحسابات، بحيث لا تتراكم ضرائب غير مستحقة.
عند دمج هذا مع ترقيم الفواتير الضريبي (ZATKA Tax Numbering) الذي يوفره Yaomy ERP، تحصل الشركات على سلسلة كاملة من الامتثال: من لحظة إصدار الفاتورة وحتى ظهورها في تقرير VAT دون الحاجة لمعالجة يدوية بين أنظمة مختلفة.
كيف يستفيد المطورون من تصميم الحسابات الافتراضية؟
لم ينسَ Yaomy ERP المطورين الذين يوسّعون النظام أو يربطونه بأنظمة أخرى. وجود طبقة `company_default_ledger_accounts` يسمح للـ API والخدمات الداخلية بأن تبقى مستقلة عن أسماء الحسابات أو أرقامها. يكفي للمطور أن يعرف أنه يتعامل مع مفتاح منطقي (مثل sales أو inventory)، ويترك للنظام مهمة ترجمة هذا المفتاح إلى رقم حساب محدد.
هذا يقلل التشابك بين الكود ودليل الحسابات، ويسمح للشركات بتعديل دليل الحسابات أو تغيير أرقام الحسابات دون الحاجة لتعديل الكود أو الـ API. كما يمكن مستقبلاً أن تُبنى أدوات إعداد تلقائي (Wizards) فوق هذه الطبقة تساعد الشركات الجديدة على Yaomy ERP في اقتراح حسابات افتراضية جاهزة بناء على نوع النشاط (تجارة، خدمات، تصنيع، إلخ) في السوق الخليجي أو المصري.
ملخص سريع
باختصار، **الحسابات الافتراضية** في Yaomy ERP ليست مجرد إعداد جانبي، بل هي قلب الترحيل التلقائي الذي يربط بين موديولات المبيعات والمشتريات والمخزون والخزائن والبنوك وبين وحدة المحاسبة. من خلال ربط مفاتيح منطقية ثابتة بحسابات دفترية حقيقية، ومنع الترحيل عند نقص هذه الربوط، وضمان أن كل مستند يُنشئ قيوداً متسقة يمكن تتبعها، يقدّم Yaomy ERP للشركات في السعودية والخليج ومصر أساساً متيناً لمحرك المحاسبة الآلي.
أسئلة شائعة حول الحسابات الافتراضية في Yaomy ERP
هل يمكن أن تملك الشركة أكثر من خريطة حسابات افتراضية؟
على مستوى الشركة الواحدة داخل Yaomy ERP توجد خريطة واحدة للحسابات الافتراضية، لكن يمكن تخصيص الحسابات حسب الفروع أو أنواع المستندات من خلال سياسات إضافية أو إعدادات متقدمة. الأهم أن كل شركة (Tenant) لديها جدولها الخاص `company_default_ledger_accounts` المنفصل عن باقي الشركات على المنصة.
ماذا يحدث إذا غيّر المحاسب حساباً افتراضياً بعد فترة من التشغيل؟
تغيير الحساب الافتراضي يؤثر على القيود الجديدة التي تُنشأ بعد التعديل، ولا يغيّر القيود التاريخية التي تم ترحيلها في السابق. هذا يحافظ على سلامة التقارير السابقة، ويسمح للشركة بتطوير دليل حساباتها تدريجياً دون كسر التوازن في الفترات الماضية.
هل يمكن ربط الحسابات الافتراضية بقوالب مختلفة حسب نوع النشاط؟
نعم، يمكن لفريق الاستشارات في Yaomy ERP استخدام قوالب مُعدة مسبقاً للحسابات الافتراضية حسب نوع النشاط (تجاري، خدمي، صناعي)، ثم تعديلها مع المحاسب المسؤول في الشركة عند بدء تشغيل النظام. هذا يقلل الوقت اللازم للإعداد لأول مرة، خصوصاً للشركات الصغيرة والمتوسطة التي لا تملك فريقاً محاسبياً كبيراً.
دعوة للعمل (CTA)
إذا كنت محاسباً أو مديراً مالياً في شركة صغيرة أو متوسطة في السعودية أو الخليج أو مصر وتبحث عن نظام ERP يوفّر ترحيلاً محاسبياً تلقائياً يمكن الوثوق به، فإن إعداد **الحسابات الافتراضية** في Yaomy ERP هو الخطوة الأولى لبناء هذا المحرك.
ابدأ بتجربة النظام، واستكشف واجهة «تعيين الحسابات الأساسية»، واضبط مفاتيح مثل sales، inventory، vat_output، accounts_receivable وفق دليل حسابات شركتك، ثم جرّب ترحيل أول فاتورة مبيعات أو مشتريات لترى كيف تتحول مباشرة إلى قيود جاهزة للمراجعة والتقارير.
يومي نظام متكامل قابل للتخصيص لهذا السبب يناسب مجالك أياً كان
يومي ERP يتميز بمرونته وقابليته للتخصيص، لذلك يجعله مناسباً لإدارة الأعمال في مختلف المجالات. يمكنك تعديل التطبيقات والوظائف لتتوافق مع احتياجات شركتك، سواء كانت تشمل إدارة المخزون، إصدار الفواتير، أو تتبع العملاء. يتيح النظام كذلك دمج التطبيقات بسلاسة ويوفر تجربة استخدام متكاملة وأمناً كاملاً للبيانات. بغض النظر عن مجال عملك، يوفر يومي ERP الحلول الشاملة لتحقيق النجاح والنمو في السوق المتغيرة.
اقتراحات الربط الداخلي
• وحدة المحاسبة في يومي ERP
• الترحيل التلقائي من المبيعات والمشتريات إلى المحاسبة
• الفاتورة الإلكترونية وZATKA في يومي ERP
• وحدة المبيعات والفواتير في يومي ERP
• وحدة المشتريات والموردين في يومي ERP
• وحدة المخزون وإدارة المستودعات في يومي ERP
• إعداد دليل الحسابات في Yaomy ERP
• إدارة الفروع والشركات المتعددة في يومي ERP
• يومي ERP — نظام تخطيط موارد مؤسسي عربي متكامل
• طلب تجربة مجانية ليومي ERP
