Journal entries cheat sheet

دفتر القيود 🧮

القيود اللي Odoo بيعملها تلقائياً ورا كل زرار، وفين الحساب بيتحدد في الإعدادات. الافتراض: Anglo-Saxon + Automated Valuation (الإعداد الأشهر في مصر والخليج). ده المرجع اللي بتفتحه وإنت بتعمل Setup أو بتدور على فرق.

Lead to CashRecord to ReportProcure to PayInventory & WarehouseManufacturingHire to RetireProject to Invoice

Lead to Cash — دورة المبيعات

تسليم بضاعة للعميل

Delivery Order (WH/OUT) — Validate
الطرفالحسابالمبلغ
مدينStock Interim (Delivered) — مخزون مؤقت مسلَّمتكلفة البضاعة
دائنStock Valuation — المخزونتكلفة البضاعة
⚙️ فين بيتحدد الحساب

Inventory › Configuration › Product Categories › Account Stock Properties (Stock Valuation / Interim Delivered)

💡 ملاحظة نينجا

القيد بيتعمل بالتكلفة (Standard/AVCO/FIFO) مش بسعر البيع. لو التقييم Manual ما فيش قيد خالص.

فاتورة عميل (بضاعة)

Customer Invoice — Confirm
الطرفالحسابالمبلغ
مدينAccount Receivable — العملاءالإجمالي بالضريبة
دائنIncome — إيرادات المبيعاتالصافي
دائنTax Received — ضريبة المبيعاتالضريبة
مدينCOGS — تكلفة البضاعة المباعةالتكلفة
دائنStock Interim (Delivered)التكلفة
⚙️ فين بيتحدد الحساب

حساب الإيراد: Product › Accounting tab أو Product Category › Income Account. الضريبة: Product › Customer Taxes + Fiscal Position. حساب العملاء: Partner › Accounting tab.

💡 ملاحظة نينجا

سطري COGS/Interim بيظهروا بس في Anglo-Saxon. لو سياسة الفوترة Ordered واتعملت الفاتورة قبل التسليم، حساب Interim Delivered بيبقى بالسالب لحد التسليم.

تحصيل من عميل

Register Payment (Customer)
الطرفالحسابالمبلغ
مدينOutstanding Receipts — مقبوضات معلّقةالمبلغ
دائنAccount Receivable — العملاءالمبلغ
⚙️ فين بيتحدد الحساب

Accounting › Configuration › Journals › Bank › Incoming Payments › Outstanding Receipts Account

💡 ملاحظة نينجا

الفلوس ما دخلتش البنك محاسبياً لسه. بتدخل لما سطر كشف البنك يتطابق مع الدفعة.

Record to Report — الدورة المحاسبية

مطابقة كشف البنك مع دفعة

Bank Statement Line — Reconcile
الطرفالحسابالمبلغ
مدينBank — البنكالمبلغ
دائنOutstanding Receiptsالمبلغ
⚙️ فين بيتحدد الحساب

Journal البنك › Default Account = حساب البنك في شجرة الحسابات

💡 ملاحظة نينجا

بعد المطابقة رصيد Outstanding لازم يرجع صفر. رصيد Outstanding دائم = دفعات مسجلة ومش ظاهرة في البنك.

إيراد مؤجل (اشتراك سنوي)

Deferred Revenue — Monthly Entry
الطرفالحسابالمبلغ
مدينDeferred Revenue — إيرادات مؤجلةالقسط الشهري
دائنIncome — الإيرادالقسط الشهري
⚙️ فين بيتحدد الحساب

Accounting › Configuration › Settings › Deferred Revenues (Journal + Account). التواريخ على سطر الفاتورة (Start/End date).

💡 ملاحظة نينجا

عند الفاتورة: مدين العملاء / دائن Deferred Revenue. وكل شهر بيتحوّل جزء للإيراد تلقائياً.

إهلاك أصل

Asset — Depreciation Entry
الطرفالحسابالمبلغ
مدينDepreciation Expense — مصروف الإهلاكالقسط
دائنAccumulated Depreciation — مجمع الإهلاكالقسط
⚙️ فين بيتحدد الحساب

Accounting › Assets › Asset Models (Method: Linear / Degressive، Duration، Accounts). الفاتورة على حساب أصل بتعمل Asset تلقائياً.

💡 ملاحظة نينجا

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

فرق عملة عند التحصيل

Payment in Foreign Currency — FX Difference
الطرفالحسابالمبلغ
مدينBank (بسعر يوم الدفع)المبلغ بالعملة المحلية
دائنAccount Receivable (بسعر يوم الفاتورة)المبلغ
مدين/دائنFX Loss / Gain — فروق عملةالفرق
⚙️ فين بيتحدد الحساب

Accounting › Settings › Default Accounts › Exchange Gain/Loss Journal + Accounts. أسعار العملات: Configuration › Currencies.

💡 ملاحظة نينجا

آخر الفترة قيد إعادة تقييم (Unrealized Gains/Losses) للأرصدة المفتوحة، وبينعكس أول الفترة الجاية.

إقفال الضريبة الشهري

Tax Closing Entry
الطرفالحسابالمبلغ
مدينTax Received — ضريبة مبيعاتإجمالي ضريبة المبيعات
دائنTax Paid — ضريبة مشترياتإجمالي ضريبة المشتريات
دائن/مدينTax Payable / Receivable — ضريبة مستحقةالصافي
⚙️ فين بيتحدد الحساب

Accounting › Reporting › Tax Report › Closing Entry. الحسابات في Settings › Taxes › Tax Return Periodicity + Journal.

💡 ملاحظة نينجا

بعد الإقفال بيتحدد Tax Lock Date تلقائياً، ومحدش يقدر يعدّل فاتورة في الفترة دي.

Procure to Pay — دورة المشتريات

استلام بضاعة من مورد

Receipt (WH/IN) — Validate
الطرفالحسابالمبلغ
مدينStock Valuation — المخزونتكلفة PO
دائنStock Interim (Received) — مخزون مؤقت مستلَمتكلفة PO
⚙️ فين بيتحدد الحساب

Product Category › Stock Input Account (Interim Received) + Stock Valuation Account

💡 ملاحظة نينجا

التكلفة بتاخد سعر الـ PO (مع Landed Costs لو موجودة). لو الفئة Manual valuation ما فيش قيد.

فاتورة مورد (بضاعة)

Vendor Bill — Confirm
الطرفالحسابالمبلغ
مدينStock Interim (Received)الصافي
مدينTax Paid — ضريبة المشترياتالضريبة
دائنAccount Payable — الموردونالإجمالي
⚙️ فين بيتحدد الحساب

حساب المصروف/الوسيط من Product Category › Expense Account (في Anglo-Saxon بيتجاوزه لـ Interim Received للمنتجات المخزنة). حساب الموردين: Partner › Accounting.

💡 ملاحظة نينجا

لو فرق سعر بين PO والفاتورة، الفرق بيروح Price Difference Account (في الإصدارات القديمة) أو بيتسوّى على المخزون في الإصدارات الحديثة حسب طريقة التكلفة.

سداد لمورد

Register Payment (Vendor)
الطرفالحسابالمبلغ
مدينAccount Payable — الموردونالمبلغ
دائنOutstanding Payments — مدفوعات معلّقةالمبلغ
⚙️ فين بيتحدد الحساب

Journal البنك › Outgoing Payments › Outstanding Payments Account

💡 ملاحظة نينجا

ثم مطابقة كشف البنك: مدين Outstanding Payments / دائن Bank.

فاتورة مورد (خدمة أو مصروف)

Vendor Bill — Service / Expense
الطرفالحسابالمبلغ
مدينExpense — المصروف (كهرباء، إيجار، استشارات)الصافي
مدينTax Paidالضريبة
دائنAccount Payableالإجمالي
⚙️ فين بيتحدد الحساب

Product (Service) › Accounting › Expense Account، أو مباشرة على سطر الفاتورة

💡 ملاحظة نينجا

المنتجات من نوع Service أو Consumable بدون تقييم بتروح مصروف مباشر، ما بتمرش على المخزون.

Inventory & Warehouse — دورة المخزون والمخازن داخل Odoo

تسوية جرد (زيادة أو عجز)

Inventory Adjustment — Apply
الطرفالحسابالمبلغ
مدين/دائنStock Valuation — المخزونقيمة الفرق
دائن/مدينInventory Adjustment / Loss — فروق الجردقيمة الفرق
⚙️ فين بيتحدد الحساب

Inventory › Configuration › Locations › Inventory Adjustment (Virtual) › Stock Valuation Account، أو Product Category › Stock Journal

💡 ملاحظة نينجا

دي الطريقة الوحيدة لإدخال مخزون أول المدة. القيمة = الكمية × التكلفة المحددة على المنتج وقت التسوية.

هالك

Scrap — Validate
الطرفالحسابالمبلغ
مدينScrap Expense — مصروف الهالكالتكلفة
دائنStock Valuation — المخزونالتكلفة
⚙️ فين بيتحدد الحساب

Inventory › Configuration › Locations › Virtual Locations/Scrap › Stock Valuation Account

💡 ملاحظة نينجا

لو ما حددتش حساب على موقع الهالك، القيد بيروح على حساب فروق الجرد الافتراضي.

تكاليف وصول (شحن/جمارك)

Landed Cost — Validate
الطرفالحسابالمبلغ
مدينStock Valuation — المخزونقيمة التكلفة الإضافية
دائنStock Interim (Received) أو حساب الـ Landed Costنفس القيمة
⚙️ فين بيتحدد الحساب

Product (Landed Cost type) › Is a Landed Cost + Split Method. يتطلب AVCO أو FIFO.

💡 ملاحظة نينجا

بتوزع على سطور الاستلام حسب الكمية أو التكلفة أو الوزن أو الحجم، وبترفع تكلفة الوحدة.

Manufacturing — دورة التصنيع داخل Odoo

استهلاك مكونات في التصنيع

MO — Consume Components
الطرفالحسابالمبلغ
مدينWIP / Production — إنتاج تحت التشغيلتكلفة المكونات
دائنStock Valuation — المخزونتكلفة المكونات
⚙️ فين بيتحدد الحساب

Inventory › Locations › Virtual Locations/Production › Stock Valuation Account (= حساب WIP)

💡 ملاحظة نينجا

لو موقع Production من غير حساب، القيد بيبقى مخزون/مخزون ومش هتشوف WIP في ميزان المراجعة.

دخول المنتج التام للمخزن

MO — Mark as Done (Finished Goods)
الطرفالحسابالمبلغ
مدينStock Valuation — مخزون المنتج التاممكونات + ساعات العمل
دائنWIP / Productionنفس القيمة
⚙️ فين بيتحدد الحساب

تكلفة ساعة العمل: Manufacturing › Work Centers › Cost per hour. تكلفة المنتج التام بتتحدث تلقائياً لو AVCO/FIFO.

💡 ملاحظة نينجا

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

Hire to Retire — دورة الموارد البشرية

قيد الرواتب

Payslip Batch — Post Journal Entry
الطرفالحسابالمبلغ
مدينSalary Expense — مصروف الرواتب (أساسي + بدلات)الإجمالي
دائنSalaries Payable — رواتب مستحقةالصافي
دائنSocial Insurance Payable — تأميناتحصة الموظف + الشركة
دائنIncome Tax Payable — ضريبة كسب العملالضريبة
⚙️ فين بيتحدد الحساب

Payroll › Configuration › Salary Structures › Rules › Accounting (Debit/Credit Account) + Journal الرواتب

💡 ملاحظة نينجا

كل قاعدة في الهيكل ليها حساب مدين ودائن. حصة الشركة في التأمينات قاعدة منفصلة: مدين مصروف تأمينات / دائن تأمينات مستحقة.

صرف الرواتب

Payslip — Register Payment
الطرفالحسابالمبلغ
مدينSalaries Payable — رواتب مستحقةالصافي
دائنBank — البنكالصافي
⚙️ فين بيتحدد الحساب

من قيد الرواتب › Register Payment أو عن طريق مطابقة كشف البنك مع حساب Salaries Payable

💡 ملاحظة نينجا

تسوية التأمينات والضريبة للجهات الحكومية قيد منفصل شهري: مدين المستحق / دائن البنك.

مصروفات موظف

Expense Report — Approve & Post
الطرفالحسابالمبلغ
مدينExpense — المصروف (انتقالات، ضيافة...)الصافي
مدينTax Paid (إن وجد)الضريبة
دائنEmployee Payable — مستحق للموظف (دفع الموظف) أو Company Card Accountالإجمالي
⚙️ فين بيتحدد الحساب

Expense Product › Expense Account. Paid By: Employee (to reimburse) أو Company.

💡 ملاحظة نينجا

في Odoo 20 المصروف المعتمد بيولّد Vendor Bill مسودة باسم الموظف، وبعدها بتسدده كأي فاتورة مورد.

Project to Invoice — دورة الخدمات

فاتورة خدمات

Customer Invoice — Services (Timesheets / Milestones)
الطرفالحسابالمبلغ
مدينAccount Receivableالإجمالي
دائنService Revenue — إيرادات الخدماتالصافي
دائنTax Receivedالضريبة
⚙️ فين بيتحدد الحساب

Service Product › Income Account. السطر بيحمل الحساب التحليلي للمشروع تلقائياً.

💡 ملاحظة نينجا

ما فيش COGS هنا. التكلفة بتظهر في المحاسبة التحليلية من Timesheets (تكلفة الساعة على الموظف) والمصروفات.

قاعدة النينجا الذهبية

حسابات العملاء، الموردين، المخزون، والحسابات الوسيطة (Outstanding / Interim) ممنوع تتحرك بقيد يدوي. لو لقيت فرق فيها، المشكلة في مستند أو إعداد — دوّر عليه، ما تعملش قيد تسوية يغطيه.

❓ المكتبة
ده كله مجاني؟

أيوه. المكتبة مرجع تفتحه وإنت شغال في مشاريعك الحقيقية، مش بس وإنت بتذاكر.

ألاقي حاجة بسرعة إزاي؟

خانة البحث 🔍 في المنيو بتدوّر في كل حاجة مرة واحدة: حلقات، مصطلحات، قيود، أسئلة مقابلات.

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