سير عمل المراجعة

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

ما المقصود بالمراجعة

المراجعة التي تُجريها هي الإغلاق الشهري: تشغيل واحد لمسار المعالجة، لشركة واحدة وعن شهر واحد. يقرأ Haruno مصنّفات الشركة، ويبني منها دفتر أستاذ مرجعيًا واحدًا، ويُجري فحوص السلامة، ويكتب حزمة القوائم المالية وملف المطابقات ولوحة المعلومات. ثم يُقفِل الأشهر التي صدرت تقاريرها، فلا يمكن لرقم صدر في تقرير أن يتغيّر لاحقًا دون أن يُسجَّل ذلك.

الشركة و«client»
يُسمّي Haruno كل شركة «client» (عميل)، وهي الكلمة المستخدمة في أسماء المجلدات والأوامر ولوحة المعلومات.

تعمل المراجعة اليوم في تطبيق macOS. ويمكنك تصدير لوحة المعلومات وأي تقرير بصيغة PDF.

مراحل الإغلاق

المرحلةما تقرؤهما تكتبه
القراءةكل مصنّف أو ملف CSV في workbooks/<client>/الجداول المقروءة من كل ملف، في ledger/staging/. تُنحّى الأوراق المخفية جانبًا ولا تُقرأ.
بناء دفتر الأستاذتلك الجداول، وملف المواصفات (spec) المعتمَد للشركةدفتر الأستاذ المرجعي، ledger/ledger.sqlite
الفحوصدفتر الأستاذالملاحظات والاستفسارات، في تقرير الإغلاق
القوائم الماليةدفتر الأستاذ، وهيكل القوائم المالية المحدد في ملف المواصفاتحزمة القوائم المالية
المطابقةجداول المطابقة في دفتر الأستاذملف المطابقات
القفلالأشهر التي صدرت تقاريرها في هذا الإغلاق، والملاحظات غير المحلولةسجل إغلاق لكل شهر: «fully reconciled» (مُطابَق بالكامل) أو «reported with exception» (صدر مع استثناء)
لوحة المعلوماتدفتر الأستاذ، مرة واحدة بعد اكتمال الإغلاق لكل الشركات المشمولة في التشغيل، لكل شركة لها ملف مواصفاتلوحة معلومات المحفظة

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

ويكتب التشغيل نفسه تقرير المستثمرين وسجل التعديلات، ويحتفظ بنسخة من كل مصنّف مصدر. راجع ما يكتبه الإغلاق.

ما ترسله الشركة

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

المُدخَلما يغذّيه
الحزمة المالية الشهرية: البيانات المُصدَّرة ملصوقةً، وعمود ربط يُعبّأ يدويًا، وأوراق العرض، كلها في مصنّف واحددفتر الأستاذ وحزمة القوائم المالية. يُقرأ الربط والمجاميع الفرعية من صيغ المصنّف نفسه.
القوائم المالية المُصدَّرة من QuickBooks: الميزانية العمومية، وقائمة الأرباح والخسائر، وقائمة التدفقات النقديةالشيء نفسه، مع استخلاص الربط من أقسام كل ملف مُصدَّر. أرسل الثلاثة جميعًا: تُحفظ قائمة التدفقات النقدية على أنها التصنيف الذي تنصّ عليه، حتى يتسنّى للفحوص أن تخالفها.
ميزان المراجعة (اختياري)فحص يتحقق من عدم وجود حساب يحمل رصيدًا دون أن يُعرض. وإذا أُرسل وحده يُرفض، لأنه لا يعرض شيئًا.
ملف المطابقاتملف المطابقات وفحوصه. يُعاد جمع كل جدول من بنوده، ويُتحقَّق من اتفاقه مع دفتر الأستاذ العام.
الموازنة (اختيارية)بطاقة الموازنة مقابل الفعلي. الانحراف ليس ملاحظة.
ورقة المدخلات التشغيلية (اختيارية): عدد الموظفين والعملاء الجدد حسب الشهرمربّعات عدد الموظفين والمصروفات التشغيلية لكل موظف والإيرادات لكل موظف، وعدد العملاء الجدد؛ إذ لا تحمل أي قائمة مالية هذه الأعداد
ملف مُصدَّر من نظام الفوترة، مثل فواتير Stripe بصيغة CSV (اختياري)الإيرادات حسب العميل، والإيرادات الشهرية المتكررة (MRR) والإيرادات السنوية المتكررة (ARR) ومعدل فقدان العملاء (Churn)
ملف مُصدَّر من نظام إدارة علاقات العملاء، مثل صفقات HubSpot بصيغة CSV (اختياري)قيمة الصفقات المُبرمة (Bookings) وعدد العملاء الجدد، وهي ليست إيرادات
جدول بيانات الإيرادات حسب العميل (اختياري)الإيرادات الشهرية والسنوية المتكررة ومعدل فقدان العملاء نفسها، مقروءةً على أنها إيرادات أُثبتت فعلًا لا فواتير صدرت
ملف Profit and Loss by Class المُصدَّر، ملف واحد لكل شهر (اختياري)بطاقة المصروفات التشغيلية حسب القسم، وفحص يتحقق من أن مجموع توزيع التصنيفات «Class» في كل شهر يساوي نشاط ذلك الشهر (class_total_disagrees). والشهر الذي لا ملف له تظهر فيه شَرطة، لا صفر.
تقريرا A/R Aging Detail وTransaction List by Vendor (تقريران اختياريان من QuickBooks)الفواتير التي تحسم ما إذا كان شهر الارتفاع الحاد مصروفًا مدفوعًا مقدمًا، ثم، بعد أن تسمّي حساب الذمم المدينة، التحقق من اتفاق الفواتير المفتوحة مع رصيد الذمم المدينة

ما يجب أن تكون عليه الملفات المُصدَّرة

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

الأوراق المخفية تُعزل ولا تُقرأ

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

إعداد شركة جديدة

لا يمكن إجراء الإغلاق لشركة ليس لها ملف مواصفات. وإعداد الشركة يُنتج هذا الملف، مرة واحدة.

  1. افتح مساحة عمل المراجعة في تطبيق macOS عبر ملف ◂ فتح مجلد… (File ▸ Open Folder…، ⌘O): وهي المجلد الذي يحتوي على .haruno، لا المجلد الذي فوقه.
  2. ضع مصنّفات الشركة في workbooks/<client>/، مثل workbooks/acme/: الحزمة المالية الشهرية، وملف المطابقات، والموازنة إن وُجدت.
  3. اطلب من Haruno إعداد الشركة.
    text
    وقّعت Acme معنا للتو، وملفاتها في workbooks — أعِدّ الشركة.
  4. يُعدّ Haruno مسودة ملف المواصفات من المصنّفات، ثم يتوقف ويعرضها عليك، بدءًا بقائمة «REVIEW» (بنود تحتاج إلى مراجعتك): المسائل التي لا تستطيع المصنّفات الإجابة عنها. ولا يُطبَّق شيء بعد.
  5. اقرأ قائمة «REVIEW» وأجب عنها بكلمات بسيطة. يسجّل Haruno كل إجابة ويعرض لك التغييرات (diff).
  6. اعتمدها، فيجري الإغلاق.
ما ترسله المحادثة
عند إعداد الشركة عبر المساعد، يُرسَل ما تكتبه وما تطبعه الأدوات في المقابل، مثل أسماء الحسابات ومسمّيات البنود والأرقام، عبر خدمة Inferara المستضافة إلى مزوّد النموذج الذي يجيب. الإغلاق نفسه يجري على جهازك. ولإبقاء بيانات العملاء خارج المحادثة، شغّل الأوامر بنفسك: راجع «تشغيل الأوامر بنفسك» أدناه.

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

ما ملف المواصفات

ملف المواصفات (spec) ملف YAML واحد لكل شركة، في المسار .haruno/skills/QuickBooksCFO/specs/<client>.yaml. وهو السجل الكامل لكيفية ربط دفاتر تلك الشركة ببنود القوائم المالية: أي الحسابات تُجمع في أي بند، وكيف يتكوّن كل مجموع فرعي، وأي البنود تُعرض بعكس إشارتها الطبيعية، إضافةً إلى اسم الشركة، ومقياس الأرقام في التقرير، وعملة التقرير، والأهمية النسبية، وسياستها المحاسبية بعد أن تحددها. وهو نص عادي ليتمكن أي شخص من قراءته، ويمكن إعادة إنتاج الإغلاق من ملف مواصفات ومصنّف.

قائمة «REVIEW»

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

  • ما يُعدّ ذا أهمية نسبية، بالدولار، لا بالآلاف التي تُعرض بها القوائم المالية؛
  • أي المطابقات يُتوقَّع غيابها، من قائمة بالحسابات التي لا يتضمن ملف المطابقات جدولًا لها؛
  • سياسة الرسملة: الحد، وطريقة الاستهلاك، والأعمار الإنتاجية؛
  • أي بنود القوائم يُتوقَّع أن تكون فارغة، وكيف تُصنَّف الحسابات وفق ترقيمها؛
  • قراءات تحتاج إلى تأكيدك: اسم الشركة من ورقة الغلاف، ومقياس الأرقام في التقرير، وصفّ بلا عنوان في أسفل الميزانية العمومية قُرئ على أنه صف «CHECK» (التحقق)، أي سطر اتفاق الأرقام الذي يجب أن يساوي صفرًا.

الموافقة على قراءةٍ لا تكتب شيئًا؛ أما التصحيح فيُكتب. تحقّق من مقياس الأرقام: فقبول ترويسة ('000) متقادمة على أنها صحيحة يجعل كل رقم في كل مُخرَج خاطئًا بمعامل ألف. والإجابات كلمات بسيطة:

text
الأهمية النسبية ألف دولار، ومطابقة النقد تتم في QuickBooks.

يسجّل Haruno الإجابتين ويعرض التغييرات. وعبارة «مطابقة النقد تتم في QuickBooks» إعفاء، أي حالة مقبولة لا يُطبَّق عليها فحص المطابقات غير الموجودة، وليست ربطًا. وبمجرد أن يكون للشركة شهر مُغلق، يطبع Haruno الحسابات التي يشملها الإعفاء؛ أما قبل الإغلاق الأول فلا يوجد ما يُقارَن به. والإعفاء الذي لا يشمل أي حساب يُبلَّغ عنه في الإغلاق التالي بوصفه unused_exemption.

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

ما لا يُقرَّر نيابةً عنك أبدًا

بعض الأرقام حكمٌ تقديري مكتوب بشأن نشاط الشركة، ولا يملك تحديدها إلا الشركة نفسها. وحيثما تكتب المسودة قيمةً لا تنصّ عليها الدفاتر (مستوى للأهمية النسبية، أو طريقة القسط الثابت، أو USD عندما لا يُعلن الملف المُصدَّر أي عملة)، فتعامل معها على أنها قيمة افتراضية عليك تأكيدها أو تصحيحها. ولا يسجّل Haruno أبدًا حدًّا للرسملة أو عمرًا إنتاجيًا لم تحدده أنت. بل يفحص جداول الشركة مقابل ما تحدده، ولا يجيب المساعد عن هذه المسائل نيابةً عنك أبدًا.

السياسةما يفعله Haruno
الأهمية النسبيةتحمل المسودة قيمة افتراضية مُعلنة، مُعلَّمًا عليها في قائمة «REVIEW» بوصفها رقمًا ينبغي تصحيحه، لا رقمًا قُرئ من الملفات.
حد الرسملةلا يُدرج في المسودة. ولا يُبلَّغ عن أي شيء قياسًا إلى حدٍّ ما حتى تكتبه أنت.
الأعمار الإنتاجيةلا تُدرج في المسودة. فالأعمار الواردة في سجل الأصول نفسه هي اختيارات الجدول؛ واعتمادها سياسةً يعني فحص الجدول مقابل نفسه.
طريقة الاستهلاكطريقة القسط الثابت هي الطريقة الوحيدة المحسوبة، لذا تكتبها المسودة وتضع عليها علامة تنبيه. وتُرفض أي طريقة أخرى بدلًا من فحصها بعملية حسابية خاطئة.
العملةتُقرأ مما تُعلنه الملفات المُصدَّرة، وتكون USD إذا لم تُعلن شيئًا، ولا تُحوَّل أبدًا.

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

محادثة الربط

تظهر حسابات جديدة ويتغيّر الربط بمرور الوقت. ويُبلّغ الإغلاق عن الحساب الذي لا يشمله أي بند في القوائم بوصفه unmapped_active_account (عالية الخطورة) إن كان يحمل رصيدًا، أو unmapped_empty_account (منخفضة الخطورة) إن كان رصيده صفرًا حتى الآن. ومن هنا يسير الأمر دائمًا بالطريقة نفسها: يقترح Haruno، ثم تؤكّد أنت.

  1. يقرأ Haruno الملاحظة في ضوء اتفاق الأرقام. فإذا كان صف «CHECK» مختلفًا بمقدار رصيد ذلك الحساب بالضبط، فالحساب غير المربوط هو السبب، ويُزيل ربطٌ واحد الملاحظتين معًا: ملاحظة الحساب غير المربوط وملاحظة اتفاق الأرقام.
  2. يقترح بندًا بناءً على اسم الحساب ونطاق ترقيمه والحسابات المجاورة له، مع شرح منطقه.
  3. تؤكّد أنت؛ فيسجّل الربط ويعيد إجراء الإغلاق للشركة. وإذا كان للشركة إغلاق سابق، يُرفض هذا الإغلاق حتى تذكر سببًا: راجع «عندما يرفض الإغلاق المتابعة» أدناه.

حين تغيّر رأيك

text
الحساب 1450 Deposits Receivable مكانه بند Other assets.

يقترح Haruno ذلك في صورة YAML قابلة للمراجعة، لا في صورة تغيير في جدول بياناتك:

yaml
mappings:
  "1450": "Other assets"

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

الإعفاء ليس ربطًا

يُسكت الإعفاء مسألة واحدة: أين يُطابَق هذا الرصيد، أو لماذا هذا البند فارغ، أو هل هذا الارتفاع الحاد مصروفٌ مدفوع مقدمًا. ولا يضع إعفاء المطابقة الحساب في أي قائمة مالية، لذا يظل الرصيد الذي يحمله غائبًا عن كل القوائم، ويظل الفحص unmapped_active_account يُبلّغ عنه. كما أن الجدول الذي لا تتّفق أرقامه مع دفتر الأستاذ العام لا يُصلحه أي ربط؛ فذلك استثناء حقيقي.

تُسجَّل الإجابات ولا تُحرَّر يدويًا
يسجّل Haruno إجابات «REVIEW» وتغييرات الربط بأمر الإجابة الخاص به (ingest.py answer، المعروض في قسم «تشغيل الأوامر بنفسك»)، ولا يحرّر ملف المواصفات يدويًا أبدًا. فالتحرير اليدوي يُتلف قائمة «REVIEW» وتعليقاتها، وقد يترك ملف مواصفات لم يعد يُحمَّل، ويجعل الحكم المعتمَد غير قابل للتتبّع. وإذا احتاجت إجابةٌ إلى قيمة لا يحملها أي خيار من خيارات أمر الإجابة، يوضّح Haruno ذلك ويطلب منك إجراء هذا التحرير الوحيد بنفسك.

إغلاق الشهر

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

  1. أضف مصنّفات الشهر إلى workbooks/<client>/.
  2. اطلب من Haruno إغلاق الشهر.
    text
    أغلِق شهر Acme — وصلت المصنّفات الجديدة.
  3. يُجري Haruno الإغلاق بأمر واحد: يقرأ المصنّفات، ويطبّق ملف المواصفات المعتمَد، ويُجري الفحوص، ويكتب حزمة القوائم المالية وملف المطابقات، ويُقفِل الأشهر، ويحدّث لوحة المعلومات.
  4. ويُطلعك على الملاحظات قبل تداول أي شيء. تُكتب حزمة القوائم المالية وملف المطابقات في جميع الأحوال؛ والملاحظات تخبرك بما ينبغي حسمه قبل إرسالهما.

تقرير الإغلاق

يطبع الإغلاق تقريرًا واحدًا لكل شركة:

السطرما يخبرك به
السطر الأولاسم الشركة، وهل اكتمل الإغلاق، والمصنّفات التي قُرئت، وعدد الملاحظات والاستفسارات
«read but not applied» (قُرئ ولم يُطبَّق)كل ملف لا يشمله أي قسم من أقسام ملف المواصفات، باسمه
«RESTATED» (أُعيد عرضه) وأسطر إيضاحية أخرىالأرقام المُعاد عرضها من مصنّف أُعيد إرساله، وحالات الربط التي يختلف فيها الملف عن ملف المواصفات
[high]، [medium]، [low]ملاحظة واحدة في كل سطر: درجة الخطورة، والفحص، والموضوع، والتفاصيل
?استفسار واحد في كل سطر، مثل prepaid_candidate: يُطرح ولا يُحتسب ملاحظةً أبدًا
«re-opened» (أُعيد فتحه)الأشهر التي أُعيد فتحها بناءً على السبب الذي ذكرته
«locked» (مُقفَل)الأشهر المُقفَلة وحالة الإغلاق، مع ذكر أسماء الفحوص غير المحلولة
«restated» (أُعيد عرضه)عدد الأرقام التي تغيّرت؛ ولكل منها سطر في سجل التعديلات
«wrote» (كُتب)كل ملف كُتب: القوائم المالية، وملف المطابقات، وتقرير المستثمرين، وسجل التعديلات، ولوحة المعلومات

يبدو سطر القفل على هذا النحو (بيانات تجريبية اصطناعية):

text
locked 2023-02-28 … 2026-06-30 (41 periods) — reported with exception: 3 unresolved finding(s) (presentation_tieout, recon_exceptions, unmapped_active_account); re-opening one needs a reason (`ingest.py reopen`)

الإغلاق الذي تظهر فيه ملاحظات إغلاقٌ ناجح. و«clean» (بلا ملاحظات مفتوحة) تعني عدم وجود أي ملاحظة عالية الخطورة أو متوسطة الخطورة. راجع درجات الخطورة.

عندما يرفض الإغلاق المتابعة

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

text
2023-02-28 … 2026-06-30 are CLOSED, and this import would change what have
been reported for them. Nothing was written.

  2023-02-28  presentation  BS line 'CHECK': -6,600.00 -> 0.00
  2023-02-28  presentation  BS line 'Other assets': 19,500.00 -> 26,100.00
  2023-02-28  presentation  BS line 'TOTAL ASSETS': 5,394,868.29 -> 5,401,468.29

مقتطف من إغلاق تجريبي باستخدام بيانات اصطناعية، بعد اعتماد ربط الحساب 1450 المذكور أعلاه لشركة لديها 41 شهرًا مُقفَلًا.

ذكر السبب

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

text
الحساب 1450 كان غير مربوط؛ اعتُمد ضمن Other assets.

يعيد ذلك فتح الأشهر التي ذكرها الرفض بالضبط، ويحفظ السبب مقابل كل منها، ثم يغلقها من جديد. ويُرفض النص البديل المؤقت (placeholder)، مثل المثال الوارد بين قوسين الذي يطبعه الرفض. وإذا لم تذكر سببًا فلن يتغيّر شيء. وإذا تغيّرت أرقام، تحمل كل حزمة قوائم مالية لاحقة جدول «Restated periods» (الفترات المُعاد عرضها)، ويكون لكل رقم تغيّر سطرٌ في سجل التعديلات. راجع القفل.

الشهر الذي لا تتّفق أرقامه يُقفَل مع ذلك

لا يُرفض الشهر الذي لا تتّفق أرقام قوائمه. بل يُقفَل مثل أي شهر صدرت تقاريره، ويسجّله القفل بحالة «reported with exception» (صدر مع استثناء)، مع ذكر الفحوص غير المحلولة، بدلًا من «fully reconciled» (مُطابَق بالكامل). القفل ليس حكمًا على الدفاتر. راجع حالات الإغلاق.

حالات الرفض الأخرى تتحوّل إلى استفسارات

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

عدة شركات

تضم مساحة عمل واحدة كل الشركات التي تراجعها: لكل منها مجلد واحد تحت workbooks/ وملف مواصفات واحد، ولوحة معلومات المحفظة تشملها جميعًا. ولإعداد عدة شركات دفعة واحدة:

text
هذه جداول بيانات الشركات التي أراجعها. استورد كل ما في workbooks/ — شركة واحدة في كل مجلد. لكل شركة: اقرأ مصنّفاتها، واقترح ربط الحسابات، واعرض عليّ بنود REVIEW قبل تطبيق أي شيء، ثم أغلِق الشهر وحدّث لوحة المعلومات.
  • تُعدّ مسودات ملفات المواصفات كلها أولًا وتُعرض معًا. والبند من «REVIEW» المشترك بين المسودات يُطرح مرة واحدة.
  • تُكتب الإجابة المشتركة في كل ملف مواصفات؛ أما ما يخص شركة واحدة دون غيرها فيبقى لتلك الشركة وحدها.
  • يجري الإغلاق الشهري لكل الشركات في تشغيل واحد، ولكلٍّ منها على حدة، لذا يفشل المصنّف المعيب وحده دون أن يؤثّر في غيره.
  • تُحدَّث لوحة المعلومات مرة واحدة في النهاية. وإجراء الإغلاق لشركة واحدة يحدّث عرض المحفظة بأكمله.
  • في لوحة المعلومات، ملف مواصفات واحد لكل شركة: إذا ذكر ملفّا مواصفات الشركة نفسها، تُبنى لوحة المعلومات من أحدهما، ويذكر الإغلاق الملف الذي أبقاه وسبب ذلك والملف الذي استبعده.

لا يجري أي تحويل للعملات بين الشركات، ولا تجمع إجماليات المحفظة الشركات التي تُعدّ تقاريرها بعملات مختلفة. راجع عرض المحفظة.

تشغيل الأوامر بنفسك

مسار المعالجة شيفرة Python عادية في مساحة عملك، وهي ملكك. من مجلد مساحة العمل:

bash
# قراءة مصنّف دون استيراده
python3 .haruno/skills/QuickBooksCFO/scripts/ingest.py inspect "workbooks/acme/financial-package.xlsx"

# إعداد مسودة ملف المواصفات للشركة من مصنّفاتها، ثم قراءة كتلة REVIEW
python3 .haruno/skills/QuickBooksCFO/scripts/ingest.py propose-spec "workbooks/acme/financial-package.xlsx" --spec-name acme --out .haruno/skills/QuickBooksCFO/specs/acme.yaml

# الإجابة عن بند REVIEW بأمر answer، لا بتحرير الملف
python3 .haruno/skills/QuickBooksCFO/scripts/ingest.py answer --spec .haruno/skills/QuickBooksCFO/specs/acme.yaml --materiality 1000

# الإغلاق: التجهيز (staging)، ودفتر الأستاذ، والفحوص، والقوائم المالية، وملف المطابقات، ولوحة المعلومات
python3 .haruno/skills/QuickBooksCFO/scripts/close.py --workspace . --client acme

لا يحتاج إلا إلى Python 3 قياسي، ولا شيء غيره: لا عمليات تثبيت، ولا حسابات مستخدمين، ولا اتصال بالشبكة. وكل ما يقرؤه ويكتبه يبقى في مجلد مساحة العمل. ضع كل مسار ملف بين علامتي تنصيص، لأن أسماء الملفات المُصدَّرة الحقيقية تحتوي على مسافات وأقواس. وللمتابعة بعد رفضٍ بسبب القفل، أضف --reopen-reason متبوعًا بالسبب بصياغتك إلى أمر الإغلاق؛ ولإجراء الإغلاق لكل الشركات، استخدم --all بدلًا من --client.

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

الخطوات التالية

تعمّق أكثر في ما يجده الإغلاق وما يعرضه وما يسجّله.