🎉 انطلقنا يوم 17 أكتوبر 2026 — أول حلقة من الحزام الأبيض نزلت. ابدأ دلوقتي مجاناً.
Accounting basics for Odoo

أساسيات المحاسبة لـ Odoo

مش محاسب؟ دي المحاسبة اللي محتاجها عشان تفهم اللي Odoo بيعمله من ورا كل فاتورة ودفعة — كلها بأمثلة من «نينجا للتجارة»، الشركة اللي بتطبّق عليها في المنصة، وكل درس بيقولك فين ده في Odoo 20. جاوب بنفسك قبل ما تشوف الحل.

تقدمك بيتحفظ على الجهاز ده — سجّل مجاناً عشان يتحفظ على حسابك.

الأصول1,325,190
=
الخصوم171,000
+
حقوق الملكية1,154,190
✔ متوازنة
1

المعادلة المحاسبية والميزان الافتتاحي

هتتعلم إيه: المعادلة اللي المحاسبة كلها مبنية عليها، وإزاي بتتوازن بأرقام «نينجا للتجارة» يوم ما بدأت على Odoo.

الأصول = الخصوم + حقوق الملكية. الأصول هي كل اللي الشركة عندها: فلوس في الخزنة والبنك، بضاعة، فلوس ليها عند العملاء، أثاث ومعدات.

والأصول دي جاية من مصدرين بس: فلوس على الشركة لحد تاني، ودي الخصوم (يعني التزامات زي الموردين والضرايب والقروض — مش «خصم» على السعر)؛ أو فلوس أصحاب الشركة، ودي حقوق الملكية (رأس المال والأرباح).

عشان كده الطرفين لازم يتساووا دايماً. كل عملية بتتسجل في الدفاتر كـ «قيد» (Journal Entry)، وكل قيد في Odoo بيحافظ على التساوي ده. الشريط اللي فوق بيوريك المعادلة بأرقام «نينجا للتجارة»، وهيتحرك مع كل قيد تكشفه في الدرس 4.

ده الميزان الافتتاحي لـ «نينجا للتجارة» يوم 2026-09-30 — نفس الملف 05_opening_balances اللي بتستورده في التدريب:

الحسابمديندائن
160101 النقدية (الخزنة)
الأصول
25,000
160100 البنك
الأصول
164,000
777777 العملاء — فواتير مفتوحة (AR Clearing)
الأصول
82,000
120100 المخزون
الأصول
958,190
110800 أثاث ومعدات
الأصول
120,000
110900 مجمع إهلاك الأثاث والمعدات
الأصول (بالسالب)
24,000
888888 الموردين — فواتير مفتوحة (AP Clearing)
الخصوم
159,600
220300 ضريبة القيمة المضافة على المبيعات
الخصوم
11,400
601000 رأس المال
حقوق الملكية
1,000,000
603000 الأرباح المحتجزة
حقوق الملكية
154,190
الإجمالي1,349,1901,349,190
مثال من «نينجا للتجارة»

الميزان الافتتاحي اللي فوق هو رصيد كل حساب يوم ما «نينجا للتجارة» بدأت على Odoo (ومتقلقش من «مدين» و«دائن» دلوقتي، ليهم الدرس 3). نفس الـ 10 سطور متجمّعين على طرفين المعادلة:

الطرفالسطور من الميزان الافتتاحيالإجمالي
الأصولالخزنة 25,000 + البنك 164,000 + العملاء (777777) 82,000 + المخزون 958,190 + أثاث ومعدات 120,000 − مجمع الإهلاك 24,0001,325,190
الخصومالموردين (888888) 159,600 + ضريبة القيمة المضافة على المبيعات 11,400171,000
حقوق الملكيةرأس المال 1,000,000 + الأرباح المحتجزة 154,1901,154,190
الخصوم + حقوق الملكية171,000 + 1,154,1901,325,190 = الأصول

طيب ليه الأصول 1,325,190 مش 1,349,190 (إجمالي المدين)؟ عشان «مجمع الإهلاك» 24,000 بيتطرح من الأصول: 1,349,190 − 24,000 = 1,325,190. الإهلاك هو النقص في قيمة الأثاث والمعدات مع الاستعمال على السنين، والمجمع هو مجموعه لحد النهارده، فالأثاث قيمته في الدفاتر 120,000 − 24,000 = 96,000. أما 777777 و888888 فحسابات وسيطة مؤقتة (Clearing): الـ 82,000 فلوس لينا عند 5 عملاء، والـ 159,600 فلوس علينا لـ 4 موردين. لما تستورد ملفات 06 و06b الرصيدين بيتنقلوا لحساب العملاء وحساب الموردين، والحسابين الوسيطين بيرجعوا صفر.

فين ده في Odoo 20؟
Accounting ▸ Reporting ▸ Balance Sheet

تقرير Balance Sheet (الميزانية) هو المعادلة دي نفسها في Odoo 20: الأصول قصاد الخصوم + حقوق الملكية في تاريخ معيّن (هتلاقيه في Reporting تحت مجموعة Statement Reports). والميزان الافتتاحي بيدخل Odoo كقيد واحد في دفتر Miscellaneous Operations، من Accounting ▸ Accounting ▸ Journal Entries ▸ ⚙ ▸ Import، وده اللي هتعمله بإيدك في حلقة الأرصدة الافتتاحية. ولو فتحت Balance Sheet بعد القيد ده وقبل ما تستورد 06 و06b، هتلاقي 888888 جوه الأصول بالسالب (لأن نوعه Current Assets): الأصول 1,325,190 − 159,600 = 1,165,590 = الخصوم 11,400 + حقوق الملكية 1,154,190 — نفس المعادلة. بعد 06 و06b الرصيد بيتنقل لـ 220100 Payables والأرقام بترجع زي الجدول.

سؤال سريع: في الميزان الافتتاحي فيه 159,600 دائن على 888888 (فواتير موردين مفتوحة). الرقم ده إيه في المعادلة؟

2

أنواع الحسابات الخمسة وشجرة الحسابات

هتتعلم إيه: العيلات الخمسة للحسابات، وكل حساب في «نينجا للتجارة» تابع لأنهي عيلة ونوعه (Type) إيه في Odoo 20.

أي حساب تابع لنوع من خمسة — وهنسميهم «عيلات» عشان ما يتلخبطوش مع حقل Type في Odoo: الأصول والخصوم وحقوق الملكية، ودول بيظهروا في Balance Sheet (الميزانية: صورة الشركة في يوم معيّن)؛ والإيرادات والمصروفات، ودول في Profit and Loss (قائمة الدخل: أداء فترة). الربح = الإيرادات − المصروفات، وبيصبّ في حقوق الملكية، وعشان كده المعادلة بتفضل متوازنة.

في Odoo العيلة بتتحدد من حقل Type (نوع الحساب)، مش من الكود ولا الاسم. والـ Type أدق من العيلة: Bank and Cash وReceivable وCurrent Assets مثلاً كلهم تحت عيلة الأصول. والـ Type هو اللي بيقرر الحساب يظهر فين في التقارير.

شجرة الحسابات المصرية في Odoo 20 أكوادها 6 أرقام، وأول رقم غالباً بيدلّك على العيلة: 1 أصول، 2 خصوم، 4 مصروفات، 5 إيرادات، 6 حقوق ملكية. ودي كل الحسابات اللي هتقابلها في الميزان الافتتاحي والقيود التلاتة:

مثال من «نينجا للتجارة»

حسابات «نينجا للتجارة» على شجرة مصر. الكود والاسم زي ما هيظهروا في Odoo، والـ Type مكتوب بالظبط زي قايمة Odoo 20:

العيلةالحسابType في Odoo 20فين قابلناه
الأصول160101 Cash Account - EGP (الخزنة)Bank and Cashافتتاحي 25,000
الأصول160100 Bank (البنك)Bank and Cashافتتاحي 164,000، ودخله 114,000 تحصيل «شركة الأمل»
الأصول150100 Accounts Receivable (العملاء)Receivable114,000 من INV/2026/00031، واتقفلوا بالتحصيل
الأصول120100 Inventory - Raw Materials (المخزون)Current Assetsافتتاحي 958,190، ودخله 140,000 من فاتورة المورد، وخرج منه 70,000 تكلفة اللي اتباع
الأصول151100 VAT Input (ضريبة المشتريات)Current Assets19,600 من BILL/2026/10/0044
الأصول110800 Furniture and Equipment (أثاث ومعدات)Fixed Assetsافتتاحي 120,000
الأصول (بالسالب)110900 Accumulated Depreciation of Furniture & Office Equipment (مجمع الإهلاك)Fixed Assetsافتتاحي 24,000 دائن
الخصوم220100 Payables (الموردين)Payable159,600 من BILL/2026/10/0044
الخصوم220300 VAT Output (ضريبة المبيعات)Current Liabilitiesافتتاحي 11,400، و14,000 من INV/2026/00031
حقوق الملكية601000 Share Capital (رأس المال)Equityافتتاحي 1,000,000
حقوق الملكية603000 Retained Earnings (الأرباح المحتجزة)Equityافتتاحي 154,190
الإيرادات500100 Sales Account (المبيعات)Income100,000 من INV/2026/00031
المصروفات400100 Cost of Goods Sold in Trading (تكلفة البضاعة المباعة)Cost of Revenue70,000 مع INV/2026/00031

كلمة Current في الـ Type معناها «متداول»: هيتحوّل فلوس أو هيتدفع خلال سنة؛ وFixed Assets أصول ثابتة الشركة بتستخدمها سنين، زي الأثاث. وسطر تكلفة البضاعة المباعة بينزل على Expense Account بتاع المنتج أو فئته، والافتراضي في شجرة مصر 424800 Other Expenses (Type: Expenses)، فحط 400100 على فئة المنتج عشان مجمل الربح يطلع صح. أما الحسابين الوسيطين 777777 AR Clearing و888888 AP Clearing من الدرس 1 فمش من الشجرة: بتعملهم إنت بنوع Current Assets، وبيرجعوا صفر بعد ما تستورد الفواتير المفتوحة (ملفات 06 و06b).

فين ده في Odoo 20؟
Accounting ▸ Configuration ▸ Chart of Accounts

هنا الشجرة كلها، وبتيجي جاهزة مع حزمة مصر (Fiscal Localization) لما تختار البلد وإنت بتعمل الداتابيز. رتّب الحسابات أو جمّعها حسب Type عشان تشوف العيلات، وافتح أي حساب: Code وAccount Name وType هما الحد الأدنى لأي حساب جديد.

سؤال سريع: حساب 120100 Inventory - Raw Materials عليه 958,190 مدين في الافتتاحي. إيه اللي بيخلّي Odoo يحطه تحت الأصول في Balance Sheet؟

3

مدين ودائن

هتتعلم إيه: إمتى الحساب يبقى مدين وإمتى دائن، وتجرّب بنفسك على 6 حركات.

كل قيد له طرفين: مدين (Debit) ودائن (Credit)، ومجموع المدين لازم يساوي مجموع الدائن. ومدين ودائن مش معناهم «زيادة ونقص» على طول، ولا «كويس ووحش»: كل عيلة حسابات بتزيد في ناحية وتقل في الناحية التانية.

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

نوع الحساببيزيد فيبيقل في
الأصول Assets
البنك، الخزنة، المخزون، العملاء
المدينالدائن
المصروفات Expenses
تكلفة البضاعة المباعة، الرواتب، الإيجار
المدينالدائن
الخصوم Liabilities
الموردين، الضريبة المستحقة، القروض
الدائنالمدين
حقوق الملكية Equity
رأس المال، الأرباح المحتجزة
الدائنالمدين
الإيرادات Income
إيرادات المبيعات والخدمات
الدائنالمدين

جرّب: مدين ولا دائن؟

اشترينا مكتب خشب (ترابيزة) لموظف ودفعنا كاش — حساب «أثاث ومعدات»؟
اشترينا مكتب خشب (ترابيزة) لموظف ودفعنا كاش — حساب «النقدية»؟
دفعنا إيجار الشهر — حساب «مصروف الإيجار»؟
أخدنا قرض من البنك — حساب «القرض»؟
بعنا خدمة استشارة — حساب «الإيرادات»؟
سدّدنا للمورد اللي علينا — حساب «الموردين»؟

مثال من «نينجا للتجارة»

حركتين من كشف بنك أكتوبر بتاع «نينجا للتجارة» (ملف 28_bank_statement)، وكل حركة قيد لوحدها:

الحركةالحسابمديندائنليه؟
«شركة الأمل» حوّلت 15,000 سداد فاتورتها OPEN-C-001160100 Bank15,000البنك أصل وزاد ← مدين
150100 Accounts Receivable15,000اللي على العميل (أصل) قلّ ← دائن
البنك خصم رسوم 150430100 Other Bank Charges150مصروف وزاد ← مدين
160100 Bank150البنك أصل وقلّ ← دائن
الإجمالي (القيدين)15,15015,150وكل قيد لوحده متوازن: 15,000 = 15,000 و150 = 150

لاحظ إن البنك طلع مدين في الحركة الأولى ودائن في التانية: نفس الحساب، مرة زاد ومرة قلّ. ومدين أو دائن مالهمش علاقة إن الحركة «كويسة» ولا «وحشة».

فين ده في Odoo 20؟
Accounting ▸ Customers ▸ Invoices ▸ (افتح أي فاتورة) ▸ Journal Items

تبويب Journal Items (سطور القيد) في أي فاتورة عميل أو فاتورة مورد بيوريك القيد اللي Odoo عمله، وكل سطر فيه Account (الحساب) وDebit وCredit. الفاتورة وهي Draft (مسودة) مالهاش أي أثر محاسبي؛ لما تضغط Confirm حالتها بتبقى Posted والقيد بيدخل الدفاتر، وده اللي بنسميه «ترحيل». وOdoo مش هيرحّل قيد مدينه مش قد دائنه، وهيطلع لك رسالة The entry is not balanced.

سؤال سريع: اتصرف من الخزنة 350 ج بوفيه ومشروبات للمكتب (ملف 29_cash_transactions). حساب 160101 Cash Account - EGP في القيد ده إيه؟

4

القيد المزدوج والدفاتر

هتتعلم إيه: إزاي كل مستند في Odoo بيعمل قيد متوازن لوحده، وكل قيد بيتسجّل في أنهي دفتر (Journal).

القيد المزدوج معناه إن كل عملية بتلمس حسابين على الأقل، ومجموع المدين = مجموع الدائن، فالمعادلة بتفضل متوازنة بعد كل قيد. وإنت في Odoo مش بتكتب القيد بإيدك: بتعمل المستند (فاتورة مورد، فاتورة عميل، دفعة) وOdoo هو اللي بيكتب المدين والدائن.

نفس المستندات والأرقام اللي في محاكي المشتريات ومحاكي المبيعات. في كل قيد: اختار لكل سطر مدين ولا دائن، وبعدين «اكشف القيد» — وشوف المعادلة فوق بتتحرك وتفضل متوازنة.

1. اشترينا بضاعة على الحساب

«نينجا للتجارة» اشترت 20 لابتوب من المورد «تك سبلاي» بـ 7,000 ج للواحد + ضريبة 14%، والدفع بعدين.

المستند في Odoo: BILL/2026/10/0044 · Accounting › Vendors › Bills (من Create Bills في قايمة أوامر الشراء)

الحسابمديندائن
المخزون Stock Valuation · 140,000
140,000
ضريبة القيمة المضافة على المشتريات VAT Input 151100 · 19,600
19,600
الموردين (AP) Account Payable · 159,600
159,600
الإجمالي159,600159,600

ليه؟ المخزون (أصل) زاد ← مدين. ضريبة المشتريات اللي المورد حطها على الفاتورة (لسه ما دفعناهاش) من حقنا نخصمها من ضريبة المبيعات في الإقرار، فهي حق لينا (أصل) ← مدين. المورد بقى له فلوس علينا (التزام) ← دائن.

على المعادلة: الأصول +159,600 = الخصوم +159,600 + حقوق الملكية +0

2. بعنا للعميل بالآجل

بعنا 10 لابتوب لـ «شركة الأمل» بـ 10,000 ج للواحد + ضريبة 14% (تكلفة الواحد 7,000 ج)، والعميل هيدفع بعد 30 يوم.

المستند في Odoo: INV/2026/00031 · Accounting › Customers › Invoices (من زرار Create Invoice في أمر البيع)

الحسابمديندائن
العملاء (AR) Account Receivable · 114,000
114,000
إيرادات المبيعات Revenue · 100,000
100,000
ضريبة القيمة المضافة على المبيعات VAT Output 220300 · 14,000
14,000
تكلفة البضاعة المباعة COGS · 70,000
70,000
المخزون Stock Valuation · 70,000
70,000
الإجمالي184,000184,000

ليه؟ العميل بقى عليه فلوس لينا (أصل) ← مدين. الإيراد بيزوّد الربح، والربح بيزوّد حقوق الملكية ← دائن. الضريبة اللي ضفناها على فاتورة العميل بقت مستحقة لمصلحة الضرايب من يوم الفاتورة، حتى لو العميل لسه ما دفعش (التزام) ← دائن. وفي نفس القيد التكلفة: البضاعة خرجت من المخزون (أصل قل) ← دائن، وتكلفتها مصروف بيقلل الربح ← مدين. عشان كده إجمالي القيد 184,000 مش 114,000: Odoo زوّد سطرين التكلفة (70,000 مدين و70,000 دائن).

على المعادلة: الأصول +44,000 = الخصوم +14,000 + حقوق الملكية +30,000 (مجمل الربح = الإيراد − التكلفة = 30,000)

3. العميل دفع

«شركة الأمل» حوّلت 114,000 ج على البنك.

المستند في Odoo: Bank Statement Line ↔ INV/2026/00031 · الأثر النهائي: الدفعة + مطابقة البنك (Enterprise) — قيد الدفعة PBNK1/2026/00012 في التفاصيل تحت

الحسابمديندائن
البنك Bank · 114,000
114,000
العملاء (AR) Account Receivable · 114,000
114,000
الإجمالي114,000114,000

ليه؟ البنك (أصل) زاد ← مدين. اللي على العميل اتقفل (أصل قل) ← دائن. أصل اتحوّل لأصل تاني، فالمعادلة ما اتحركتش في الإجمالي.

على المعادلة: الأصول +0 = الخصوم +0 + حقوق الملكية +0

في Odoo: قيد واحد ولا قيدين؟ حسب إعداد دفتر البنك

ده بيعتمد على إعداد دفتر البنك: لو طريقة الدفع عليها حساب «مقبوضات معلّقة» (Outstanding Receipts)، تسجيل الدفعة بيعمل قيد (مقبوضات معلّقة مدين / العملاء دائن)، ولما سطر كشف البنك يتطابق مع الدفعة الفلوس بتتنقل للبنك — قيدين زي اللي تحت. من غير الحساب ده (الافتراضي مع شجرة مصر في Enterprise) تسجيل الدفعة مالوش قيد، ومطابقة سطر البنك مع الفاتورة بتعمل قيد واحد هو اللي فوق بالظبط. في الحالتين النتيجة النهائية واحدة.

PBNK1/2026/00012
مقبوضات معلّقة114,000
العملاء (AR)114,000
Bank Statement Line
البنك114,000
مقبوضات معلّقة114,000
مثال من «نينجا للتجارة»

وكل قيد بيتسجّل في دفتر يومية (Journal) حسب نوع المستند: Sales لفواتير العملاء، وPurchase لفواتير الموردين، وBank وCash لحركات البنك والخزنة والدفعات، وMiscellaneous لأي قيد تاني زي الأرصدة الافتتاحية. وكود الدفتر هو أول جزء في رقم القيد، فمن الرقم تعرف الدفتر. ده كل مستند من بتوع «نينجا للتجارة» بيروح أنهي دفتر في Odoo 20:

المستندالدفتر (Journal)Typeالكود
قيد الميزان الافتتاحي (ملف 05)Miscellaneous OperationsMiscellaneousMISC
BILL/2026/10/0044 — فاتورة «تك سبلاي» 159,600PurchasesPurchaseBILL
INV/2026/00031 — فاتورة «شركة الأمل» 114,000SalesSalesINV
PBNK1/2026/00012 — دفعة «شركة الأمل» 114,000 وسطر كشف البنك بتاعهاBankBankBNK1
حركات الخزنة (ملف 29_cash_transactions)«الخزينة» — دفتر Cash بتعمله إنت (حسابه 160101)CashCSH

Odoo بيعمل لوحده أول 4 دفاتر (Sales وPurchases وMiscellaneous Operations وBank) أول ما الشجرة تتنصّب، لكن دفتر Cash لأ: بتعمله بنفسك. لما تختار Type = Cash بيقترح الكود CSH1، وفي «نينجا للتجارة» بتسمّيه «الخزينة» وتخلّي Sequence Prefix = CSH وحسابه 160101. والـ P اللي في أول PBNK1 معناها دفعة (Payment) ليها قيد في دفتر BNK1، وده بيحصل لما طريقة الدفع عليها حساب Outstanding Receipts زي المحاكي. من غيره (الافتراضي، هتشوفه في الدرس 5) الدفعة مالهاش قيد ورقمها بيبدأ بـ PAY، والقيد اللي هتشوفه هو قيد سطر كشف البنك في دفتر BNK1. والقيد 3 اللي فوق (البنك مدين / العملاء دائن) هو الأثر النهائي في الحالتين؛ أما رقم PBNK1/2026/00012 فبتاع قيد الدفعة اللي في التفاصيل تحته. وهتلاقي دفاتر تانية عملها Odoo لعمليات خاصة؛ سيبها دلوقتي.

فين ده في Odoo 20؟
Accounting ▸ Configuration ▸ Journals

هنا كل الدفاتر، وكل واحد بالـ Type والكود بتاعه (خانة الكود اسمها في الفورم Sequence Prefix). وكل كارت في Accounting Dashboard (لوحة المحاسبة) هو دفتر، وتقدر تفتح إعداده من ⋮ ▸ Configuration.

سؤال سريع: البنك خصم رسوم 150 من الحساب (آخر سطر في كشف البنك، ملف 28). القيد ده هيتسجّل في أنهي دفتر؟

خلّصت المسار السريع؟ كمّل 4 دروس قبل حلقات المحاسبة: الاستحقاق، الضريبة، المخزون، والقوائم المالية — وبعدها اختبار الجاهزية.
5

الاستحقاق مش النقدي

هتتعلم إيه: ليه الإيراد بيتسجل يوم الفاتورة مش يوم ما الفلوس تدخل، وإزاي العميل والمورد بيفضلوا أرصدة مفتوحة لحد السداد.

فيه طريقتين تسجّل بيهم: الأساس النقدي (Cash basis) بيسجّل الإيراد يوم ما الفلوس تدخل والمصروف يوم ما تخرج، وأساس الاستحقاق (Accrual) بيسجّلهم يوم ما المعاملة نفسها تحصل — البيع أو الشرا — حتى لو الفلوس لسه ما اتحركتش. Odoo بيدعم الاتنين، والقيود اللي شفتها في الدرس 4 كلها استحقاق: الإيراد اتسجل لحظة ترحيل الفاتورة. وده بيمشي صح لأن منتجات «نينجا للتجارة» في ملف 01 (ومنهم اللابتوب) كلها بتتفوتر على الكمية المسلّمة (Delivered quantities)، فالفاتورة بتيجي بعد ما البيع يحصل فعلاً.

طب الفلوس اللي لسه ما جاتش بتروح فين؟ بتبقى رصيد: العميل عليه فلوس في حساب العملاء (Receivable) وده أصل، والمورد له فلوس في حساب الموردين (Payable) وده التزام. الرصيد بيفضل مفتوح لحد ما الدفعة تتسجل وتتطابق، وتقدر تشوفه لكل عميل ومورد بتاريخ استحقاقه.

والدفعة نفسها مش إيراد ولا مصروف: هي بس بتقفل رصيد العميل أو المورد وبتحرّك البنك. عشان كده الـ 114,000 اللي دخلت من «شركة الأمل» مش إيراد 114,000: منهم 100,000 إيراد اتسجل قبلها مع الفاتورة، و14,000 ضريبة هتروح لمصلحة الضرايب.

ولما تسجّل الدفعة بزرار Pay، الفاتورة بتبقى In Payment (جاري الدفع)، ولما سطر كشف البنك يتطابق مع الدفعة أو الفاتورة بتبقى Paid (مدفوعة). ولو طريقة الدفع في دفتر البنك عليها حساب Outstanding Receipts (مقبوضات معلّقة)، الدفعة بتعمل قيد (Outstanding Receipts مدين / العملاء دائن) والفلوس بتستنى في الحساب ده لحد المطابقة؛ من غيره — وده الافتراضي — تسجيل الدفعة مالوش قيد أصلاً. النتيجة في الآخر واحدة، زي ما شفت تحت القيد التالت في الدرس 4.

مثال من «نينجا للتجارة»

كل مستند من بتوع «نينجا للتجارة» وأثره: اتسجل إيراد أو مصروف؟ وإيه الرصيد اللي اتفتح أو اتقفل؟

المستندإيراد أو مصروف؟الرصيد
777777 في الميزان الافتتاحي: 5 فواتير عملاء مفتوحة (ملف 06)لأ — البيع حصل وإيراده اتسجل قبل الافتتاحالعملاء عليهم 82,000
888888 في الميزان الافتتاحي: 4 فواتير موردين مفتوحة (ملف 06b)لأ — الشرا حصل قبل الافتتاحعلينا للموردين 159,600
BILL/2026/10/0044 من «تك سبلاي»لأ — البضاعة دخلت المخزون (أصل) بـ 140,000الموردين (Payable) زادوا 159,600
INV/2026/00031 لـ «شركة الأمل»أيوه — إيراد 100,000 وتكلفة 70,000، والعميل لسه ما دفعشالعملاء (Receivable) زادوا 114,000
PBNK1/2026/00012 + سطر كشف البنكلأ — مفيش إيراد جديدالعملاء نقصوا 114,000 (رصيد INV/2026/00031 بقى صفر) والبنك زاد 114,000

مجمل ربح البيعة (100,000 − 70,000 = 30,000) اتسجل يوم الفاتورة والعميل ما كانش دفع ولا جنيه. ولاحظ: رصيد 888888 (159,600) هو مجموع 4 فواتير موردين قديمة (62,000 + 41,600 + 33,000 + 23,000)، ومساواته لفاتورة BILL/2026/10/0044 صدفة — دول رصيدين منفصلين. ولما تستورد ملفات 06 و06b رصيد 777777 و888888 بيتنقل لحساب العملاء والموردين، وكل فاتورة بتظهر باسم صاحبها في Aged Receivable وAged Payable (أعمار الديون).

فين ده في Odoo 20؟
Accounting ▸ Reporting ▸ Aged Receivable / Aged Payable

هنا (أعمار الديون) كل فاتورة مفتوحة باسم العميل أو المورد وعدّى عليها قد إيه، وAccounting ▸ Reporting ▸ Partner Ledger (كشف حساب العميل والمورد) بيوريك رصيد كل واحد. والمحطة اللي في النص بتتظبط من Accounting ▸ Configuration ▸ Journals ▸ دفتر Bank ▸ تاب Incoming Payments ▸ عمود Outstanding Receipts accounts على طريقة الدفع: لو فاضي (هتلاقي فيه مكتوب No payment journal entries)، الدفعة مالهاش قيد والفاتورة بتتقفل لما تطابقها في Bank Matching (مطابقة البنك، من كارت البنك في الـ Dashboard).

سؤال سريع: «شركة الأمل» استلمت INV/2026/00031 بـ 114,000 وهتدفع بعد 30 يوم. الإيراد بيظهر في دفاتر «نينجا للتجارة» إمتى وبكام؟

6

ضريبة القيمة المضافة 14%

هتتعلم إيه: الفرق بين ضريبة المبيعات (المخرجات) وضريبة المشتريات (المدخلات)، وإزاي الإقرار بيطلع الصافي اللي هتدفعه — أو اللي ليك.

ضريبة القيمة المضافة مش إيراد ولا مصروف على «نينجا للتجارة»: الشركة بتحصّلها من العميل لحساب مصلحة الضرايب، وبتدفعها للمورد وترجع تخصمها. شجرة مصر في Odoo 20 فيها ضريبتين اسمهم «14%»: واحدة للمبيعات بتروح لحساب 220300 VAT Output (التزام)، وواحدة للمشتريات بتروح لـ 151100 VAT Input (أصل)، والاتنين بيتحطوا افتراضي على أي منتج جديد.

ضريبة المخرجات (Output) هي اللي على فواتير العملاء: فلوس علينا للمصلحة ← دائن. ضريبة المدخلات (Input) هي اللي على فواتير الموردين: حق لينا نخصمه ← مدين. والاتنين بيتسجلوا مع الفاتورة نفسها مش مع التحصيل أو السداد — يعني الضريبة كمان استحقاق: الـ 14,000 بقت مستحقة للمصلحة حتى لو «شركة الأمل» لسه ما دفعتش.

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

مثال من «نينجا للتجارة»

مستندين الدرس 4 في فترة إقرار واحدة:

المستندقبل الضريبةالضريبة 14%الحساب
INV/2026/00031 — مبيعات (10 × 10,000)100,00014,000220300 VAT Output · دائن
BILL/2026/10/0044 — مشتريات (20 × 7,000)140,00019,600151100 VAT Input · مدين
الصافي = 14,000 − 19,600−5,600رصيد لصالح «نينجا للتجارة»

الصافي بالسالب لأن ضريبة اللي اشترته الشركة في الفترة دي أكبر من ضريبة اللي باعته، فالـ 5,600 رصيد لصالحها، وعادةً بيتخصم من ضريبة الفترة اللي بعدها (أو تطلب استرداده حسب قواعد المصلحة). أما الـ 11,400 اللي على 220300 في الميزان الافتتاحي فضريبة فترة قبل كده، وسدادها في كشف البنك (ملف 28): «سداد ضريبة القيمة المضافة - إقرار سبتمبر 2026» بـ 11,400. الرصيد ده مش جوه الإقرار الجديد، لأن الإقرار بيجمع من خانات الضريبة (Tax Grids) اللي على سطور الفواتير، وقيد الافتتاح مالوش خانات.

فين ده في Odoo 20؟
Accounting ▸ Accounting ▸ Tax Returns

أو زرار Tax Returns على كارت دفتر Tax Returns في الـ Dashboard. كل إقرار بيمشي بخطوات Review ▸ Submit ▸ Pay (مراجعة ▸ تقديم ▸ سداد)، وزرار Validate في خطوة Review بيرحّل قيد إقفال الضريبة في دفتر Tax Returns. تقرير مصر (VAT Return Report) فيه سطر 11. Total VAT Output وسطر 12. Total VAT Input وسطر 13. Net VAT Due = المخرجات − المدخلات. والضريبتين نفسهم في Accounting ▸ Configuration ▸ Taxes.

سؤال سريع: في فترة إقرار واحدة «نينجا للتجارة» فوترت مبيعات ضريبتها 14,000 واستلمت فاتورة مورد ضريبتها 19,600. سطر 13. Net VAT Due في الإقرار هيطلع كام؟

7

المخزون وتكلفة البضاعة المباعة

هتتعلم إيه: إمتى تمن البضاعة بيتحوّل من أصل لمصروف، والفرق بين التقييم المستمر Perpetual (at invoicing) والدوري Periodic (at closing) في Odoo 20.

البضاعة وهي على الرف أصل (مخزون) مش مصروف. بتتحوّل لمصروف — تكلفة البضاعة المباعة (COGS) — لما تتباع، عشان التكلفة تتقابل مع الإيراد بتاعها في نفس الفترة، ومن هنا بيطلع مجمل الربح.

في Odoo 20 التوقيت ده بيحدده إعداد اسمه Inventory Valuation (تقييم المخزون) وليه اختيارين. Perpetual (at invoicing) — مستمر مع الفواتير: فاتورة المورد بتدخّل البضاعة حساب المخزون، وفاتورة العميل لما تترحّل Odoo بيزوّد عليها لوحده سطرين COGS (تكلفة البضاعة المباعة مدين / المخزون دائن) بتكلفة الوحدة.

Periodic (at closing) — دوري مع الإقفال، وده الافتراضي: الفواتير ما بتلمسش حساب المخزون. فاتورة المورد بتروح لحساب مصروف، ومفيش سطور COGS على فاتورة العميل، وقيمة المخزون في الدفاتر بتتظبط مرة واحدة بقيد إقفال (Stock Closing) من تقرير Inventory Valuation آخر الفترة.

وفي الحالتين الاستلام والتسليم العاديين مالهمش قيد في Odoo 20: البضاعة بتتحرك في تطبيق Inventory بس. وتكلفة الوحدة نفسها بتيجي من Costing Method (طريقة التكلفة) على فئة المنتج: فئة Laptops (وكل فئات ملف 00 ما عدا Desktops & Bundles اللي على Standard Price) على Average Cost (AVCO)، يعني متوسط التكلفة، وفئة Printer Supplies من ملف 16 على First In First Out (FIFO). وفي المحاكي المخزن كان فاضي من اللابتوب ده، فالمتوسط = 140,000 ÷ 20 = 7,000. ودي حكاية الحزام الأخضر.

مثال من «نينجا للتجارة»

نفس الشروة والبيعة من الدرس 4 — 20 لابتوب دخلوا بـ 7,000 للواحد و10 اتباعوا — بالاختيارين:

الخطوةPerpetual (at invoicing)Periodic (at closing)
فاتورة المورد BILL/2026/10/0044المخزون مدين 140,000حساب مصروف مدين 140,000 — المخزون في الدفاتر ما اتحركش
فاتورة العميل INV/2026/00031+ سطرين COGS: تكلفة البضاعة المباعة مدين 70,000 / المخزون دائن 70,000إيراد وضريبة بس — مفيش سطور COGS
قيد الإقفال (Stock Closing)مفيش فرق في قيمة المخزون يتقفل: الاستلام والتسليم اتفوترواالمخزون مدين 70,000 (زاد 20 − 10 = 10 لابتوب × 7,000) / Stock Variation (تغيّر المخزون؛ في شجرة مصر 400400 Write Off Inventory) دائن 70,000
التكلفة في Profit and Loss70,000 من يوم الفاتورة140,000 على حساب المصروف − 70,000 على Stock Variation = 70,000 بعد قيد الإقفال بس
الربحمجمل الربح 100,000 − 70,000 = 30,000صافي الربح 30,000 — بعد الإقفال

آخر الفترة صافي الربح واحد في الحالتين؛ الفرق إمتى تشوفه. مع Perpetual (at invoicing) الربح صح من أول فاتورة. مع Periodic (at closing) أرقام نص الشهر مش مظبوطة لحد قيد الإقفال: التكلفة في Profit and Loss 140,000 (الشروة كلها)، فالنتيجة خسارة 100,000 − 140,000 = −40,000 بدل ربح 30,000، والمخزون في Balance Sheet أقل من الحقيقي بـ 70,000. وبعد الإقفال الـ 30,000 بتظهر في صافي الربح؛ أما مجمل الربح في Profit and Loss فبيتأثر بنوع حساب Stock Variation (400400 نوعه Expenses مش Cost of Revenue). «نينجا للتجارة» في المحاكي شغالة Perpetual (at invoicing)، وعشان كده قيد الفاتورة في الدرس 4 كان 184,000 مش 114,000.

فين ده في Odoo 20؟
Inventory ▸ Configuration ▸ Products ▸ Categories ▸ (الفئة) ▸ Accounting ▸ Inventory Valuation

في تاب Accounting على فورم الفئة: Inventory Valuation (Periodic (at closing) أو Perpetual (at invoicing)) وCosting Method وStock Account. الافتراضي للشركة كلها من Accounting ▸ Configuration ▸ Settings قسم Inventory Valuation، والفئة بتغيّره. وقيد الإقفال من Accounting ▸ Review ▸ Inventory Valuation ▸ Generate Entry.

سؤال سريع: فئة اللابتوب في «نينجا للتجارة» على Perpetual (at invoicing) زي المحاكي. أمين المخزن عمل Validate لتسليم الـ 10 لابتوب (WH/OUT/00017) وفاتورة العميل لسه Draft (مسودة). تكلفة الـ 70,000 اتسجلت في الدفاتر؟

8

القوائم المالية

هتتعلم إيه: إزاي ميزان المراجعة بيتقسم لقائمة دخل وميزانية — بأرقام «نينجا للتجارة» بعد القيود التلاتة.

بعد ما القيود تترحّل كل حساب بقى ليه رصيد. ميزان المراجعة (Trial Balance) بيحطهم جنب بعض: الأرصدة المدينة في عمود والدائنة في عمود، ولازم الإجماليين يتساووا. ده دليل إن كل قيد متوازن — مش دليل إن كل مبلغ في حسابه الصح.

قائمة الدخل (Profit and Loss) بتاخد حسابات الإيرادات والمصروفات بس، وبتقيس فترة: الإيراد − تكلفة البضاعة المباعة = مجمل الربح، ومجمل الربح − باقي المصروفات (رواتب، إيجار، إهلاك…) = صافي الربح.

الميزانية (Balance Sheet) بتاخد الأصول والخصوم وحقوق الملكية في لحظة معيّنة. صافي ربح الفترة بيدخل حقوق الملكية — Odoo بيحسبه لوحده من غير قيد — وعشان كده الميزانية بتتوازن: الأصول = الخصوم + حقوق الملكية، نفس المعادلة اللي في الشريط اللي فوق. ومع أول السنة المالية الجديدة الإيرادات والمصروفات بتبدأ من صفر، وأرصدة الميزانية بتكمّل زي ما هي.

الأرقام تحت = الميزان الافتتاحي + القيود التلاتة بتوع الدرس 4 بس، من غير حركات البنك والخزنة اللي في ملفات 28 و29 ولا إهلاك الفترة.

مثال من «نينجا للتجارة»

ميزان المراجعة بعد الافتتاح + BILL/2026/10/0044 + INV/2026/00031 + PBNK1/2026/00012 — وكل حساب بيروح لأنهي قائمة:

الحسابمديندائنبيروح فين
160101 النقدية (الخزنة)25,000الميزانية · أصول
160100 البنك278,000الميزانية · أصول
777777 العملاء — فواتير مفتوحة (AR Clearing)82,000الميزانية · أصول
150100 العملاء (Accounts Receivable)0الميزانية · أصول (114,000 − 114,000)
151100 ضريبة القيمة المضافة على المشتريات (VAT Input)19,600الميزانية · أصول
120100 المخزون1,028,190الميزانية · أصول
110800 أثاث ومعدات120,000الميزانية · أصول
110900 مجمع إهلاك الأثاث والمعدات24,000الميزانية · أصول (بالسالب)
888888 الموردين — فواتير مفتوحة (AP Clearing)159,600الميزانية · خصوم
220100 الموردين (Payables)159,600الميزانية · خصوم
220300 ضريبة القيمة المضافة على المبيعات (VAT Output)25,400الميزانية · خصوم
601000 رأس المال1,000,000الميزانية · حقوق ملكية
603000 الأرباح المحتجزة154,190الميزانية · حقوق ملكية
500100 المبيعات (Sales Account)100,000قائمة الدخل · إيراد
400100 تكلفة البضاعة المباعة (COGS)70,000قائمة الدخل · تكلفة
الإجمالي1,622,7901,622,790

قائمة الدخل: المبيعات 100,000 − تكلفة البضاعة المباعة 70,000 = مجمل الربح 30,000، ومفيش مصروفات تانية في القيود دي ← صافي الربح 30,000. الميزانية: الأصول = 25,000 + 278,000 + 82,000 + 0 + 19,600 + 1,028,190 + (120,000 − 24,000 = 96,000) = 1,528,790. الخصوم = 159,600 + 159,600 + 25,400 = 344,600. حقوق الملكية = 1,000,000 + 154,190 + ربح الفترة 30,000 = 1,184,190. و344,600 + 1,184,190 = 1,528,790 ✔ — نفس الرقم اللي وصله الشريط اللي فوق بعد القيد التالت.

فين ده في Odoo 20؟
Accounting ▸ Reporting ▸ Balance Sheet · Profit and Loss · Trial Balance

التقارير متحدّثة لحظة بلحظة: Balance Sheet وProfit and Loss في مجموعة Statement Reports (القوائم)، وTrial Balance مع General Ledger (دفتر الأستاذ العام) في مجموعة Audit Reports (تقارير المراجعة). اختار الفترة من فوق، وقارن بفترة قبلها من Comparison، وصدّر PDF أو XLSX. عشان مجمل الربح يطلع صح في Profit and Loss، اتأكد إن الـ Expense Account على فئة المنتج (اللي بتنزل عليه سطور COGS) نوعه Cost of Revenue زي 400100 Cost of Goods Sold in Trading، مش الافتراضي 424800 Other Expenses. وخد بالك: لو لسه ما استوردتش ملفات 06 و06b، Odoo هيعرض 888888 تحت الأصول بالسالب مش تحت الخصوم، لأن نوعه Current Assets؛ بعد الاستيراد بيتصفّر والإجماليات بتطابق الجدول.

سؤال سريع: بعد القيود التلاتة: الأصول 1,528,790 والخصوم 344,600. حقوق الملكية في الميزانية لازم تبقى كام، وليه زادت عن الافتتاح (1,154,190)؟

اختبار جاهزية لحلقات المحاسبة

10 أسئلة من الدروس. لو جبت 8/10 أو أكتر إنت جاهز لحلقات المحاسبة.

1. في الميزان الافتتاحي لـ «نينجا للتجارة» (ملف 05): الخصوم 171,000 وحقوق الملكية 1,154,190، وإجمالي عمود المدين 1,349,190. الأصول في المعادلة كام؟

2. حساب 220300 VAT Output عليه 11,400 دائن في الميزان الافتتاحي: ضريبة على فواتير مبيعات قبل الافتتاح لسه ما اتدفعتش للمصلحة. الـ Type بتاعه في Odoo 20 إيه؟

3. في كشف بنك أكتوبر (ملف 28): «فريش فود» حوّلت 21,950 عن فاتورتها OPEN-C-005 بـ 22,000 — البنك خصم 50 عمولة تحويل، و«نينجا للتجارة» قررت تتحمّلها وتقفل الفاتورة كلها. حساب 150100 Accounts Receivable في القيد ده إيه؟

4. «نينجا للتجارة» سدّدت لـ «تك سبلاي» 62,000 من البنك (فاتورة OPEN-V-001، ملف 28). القيد النهائي بعد مطابقة البنك إيه؟

5. اتسجلت فاتورة «تك سبلاي» BILL/2026/10/0044 بـ 159,600 والدفع بعدين. المعادلة اتحركت إزاي؟

6. «شركة البناء الحديث» دفعت 8,000 كاش في خزنة الشركة سداد فاتورتها OPEN-C-003 (ملف 29). الحركة دي بتتسجل في أنهي دفتر؟

7. «شركة الأمل» دفعت الـ 114,000 بتوع INV/2026/00031 (PBNK1/2026/00012) والدفعة اتطابقت مع كشف البنك. الدفعة دي زوّدت إيرادات «نينجا للتجارة» بكام؟

8. فاتورة «تك سبلاي» BILL/2026/10/0044: 20 لابتوب × 7,000 = 140,000 + ضريبة 14% = 159,600. الـ 19,600 بيروحوا فين؟

9. لو فئة اللابتوب على Periodic (at closing) — الافتراضي في Odoo 20 — سطر الـ 140,000 في فاتورة المورد BILL/2026/10/0044 بيتسجل إزاي؟

10. ميزان المراجعة بعد القيود التلاتة: مدين 1,622,790 = دائن 1,622,790. التساوي ده بيثبت إيه؟

قاموس صغير

الكلمات اللي هتقابلها في Odoo — اضغط على أي واحدة تفتح شرحها في قاموس النينجا.

Debitمدين

الجهة اللي الأصول والمصروفات بتزيد فيها، والخصوم وحقوق الملكية والإيرادات بتقل فيها.

Creditدائن

الجهة اللي الخصوم وحقوق الملكية والإيرادات بتزيد فيها، والأصول والمصروفات بتقل فيها.

Journalدفتر يومية

الدفتر اللي القيد بيتسجل فيه حسب نوعه: Sales وPurchase وBank وCash وMiscellaneous.

Journal Entry / Journal Itemقيد / سطر قيد

القيد كامل بسطوره: كل سطر حساب ومدين أو دائن، والمجموعين لازم يتساووا.

General Ledgerدفتر الأستاذ العام

سطور القيود متجمّعة حسب الحساب: كل حساب وتحته حركاته من كل الدفاتر.

Trial Balanceميزان المراجعة

رصيد كل حساب في عمود مدين أو دائن، والإجماليين لازم يتساووا.

Accrual Basisأساس الاستحقاق

الإيراد والمصروف بيتسجلوا مع الفاتورة مش مع الدفع، واللي لسه ما اتدفعش بيفضل رصيد عميل أو مورد.

Reconciliationالمطابقة

ربط سطر مدين بسطر دائن على نفس الحساب: فاتورة بدفعتها، أو فاتورة أو دفعة بسطر كشف البنك. بعد المطابقة الفاتورة بتبقى Paid، ولو سجّلت الدفعة الأول بزرار Pay على حساب مقبوضات معلّقة بتفضل In Payment لحد مطابقة البنك.

COGSتكلفة البضاعة المباعة

تمن البضاعة اللي اتباعت بالتكلفة؛ بيتطرح من الإيراد: 100,000 − 70,000 = مجمل ربح 30,000.

VATضريبة القيمة المضافة

14% على فواتير البيع (Output، التزام) وعلى فواتير الشرا (Input، حق لينا)، والصافي هو اللي بتدفعه.

❓ مساعدة
المنصة دي إيه؟

خريطة طريق لتعلم Odoo من الصفر للـ Go-Live: حلقات على يوتيوب، تطبيق عملي، امتحان لكل حزام، وشهادة باسمك.

أبدأ منين؟

سجّل مجاناً، جاوب على 3 أسئلة، وهتلاقي خطتك وأول حلقة جاهزين.

اسأل في كومنتات يوتيوب ↗