دفتر القيود 🧮
القيود اللي Odoo بيعملها تلقائياً ورا كل زرار، وفين الحساب بيتحدد في الإعدادات. الافتراض: Anglo-Saxon + Automated Valuation (الإعداد الأشهر في مصر والخليج). ده المرجع اللي بتفتحه وإنت بتعمل Setup أو بتدور على فرق.
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) ممنوع تتحرك بقيد يدوي. لو لقيت فرق فيها، المشكلة في مستند أو إعداد — دوّر عليه، ما تعملش قيد تسوية يغطيه.