پرش به محتوای اصلی

پیش‌بینی جریان نقدی: روش پیش‌بینی چرخشی ۱۳ هفته‌ای

این راهنما یک روش ساده در سطح مدیر مالی برای مدیریت نقدینگی شرکت شما ارائه می‌دهد. با ساخت یک پیش‌بینی نقدی چرخشی ۱۳ هفته‌ای، می‌توانید دامنه نقدینگی خود را به‌صورت هفتگی ببینید، وصولی‌ها و پرداخت‌ها را به‌صورت استراتژیک هدایت کنید و شگفتی‌های مالی را حذف کنید. این یک سیستم ساخته‌شده برای بنیان‌گذاران است — و این صفحه مدل واقعی را ارائه می‌دهد: یک کاربرگ مبتنی بر فرمول با داده‌های نمونه به‌همراه دفتر نمونه Beancount که پشت دو هفته اول آن قرار دارد (به بخش دانلودها در زیر مراجعه کنید).

این راهنما دو چیز نیست: یک پیش‌بینی، برآوردهای آینده‌نگرانه‌ای است که شما وارد می‌کنید، در حالی که مبالغ واقعی حسابداری، حرکات بانکی هستند که پیش‌تر در دفتر شما ثبت شده‌اند — بنابراین کاربرگ آن‌ها را از هم جدا نگه می‌دارد. شما یک نسخه از برنامه خود را به‌عنوان یک مبنای تاریخ‌دار ثابت می‌کنید، نقدینگی بانکی هر هفته بسته‌شده را روی یک برگه جداگانه مبالغ واقعی وارد می‌کنید و تفاوت را روی یک برگه انحراف می‌خوانید؛ برنامه‌ای که با آن مقایسه می‌کنید هرگز بازنویسی نمی‌شود. هیچ‌چیز اینجا به‌صورت خودکار همگام‌سازی نمی‌شود: کاربرگ هیچ ماکرو یا اتصال خارجی ندارد و هیچ مرحله‌ای به‌تنهایی از بانک یا Beancount شما داده نمی‌کشد.

چرا ۱۳ هفته؟​

پیش‌بینی ۱۳ هفته‌ای استاندارد طلایی مدیریت نقدی عملیاتی است به چند دلیل کلیدی:

  • کنترل کوتاه‌مدت: تقریباً یک فصل کاری را پوشش می‌دهد و دیدی روشن از نقدینگی فوری شما می‌دهد. این افق به‌اندازه‌ای طولانی است که ۲ تا ۳ چرخه حقوق و دستمزد، پرداخت‌های مالیاتی و شرایط معمول پرداخت به فروشندگان را در بر بگیرد، اما به‌اندازه‌ای کوتاه که دقیق و قابل‌اجرا بماند.
  • نمای دریافتی‌ها و پرداختی‌ها: پیش‌بینی از «روش مستقیم» استفاده می‌کند و صرفاً بر ورود و خروج نقد تمرکز دارد. اینجا صحبت از حسابداری تعهدی یا سوددهی نیست؛ صحبت از آن چیزی است که واقعاً وارد یا خارج از حساب بانکی شما می‌شود و تضمین می‌کند پیش‌بینی مستقیماً به مانده بانکی شما گره بخورد.
  • چرخشی، نه ایستا: این یک بودجه یک‌باره نیست. هر هفته، هفته‌ای که گذشت را حذف می‌کنید، یک هفته جدید در انتها (هفته ۱۳) اضافه می‌کنید و فرض‌های خود را به‌روزرسانی می‌کنید. این کار افق آینده‌نگر را ثابت نگه می‌دارد و پیش‌بینی را به یک نظم پویا و هفتگی تبدیل می‌کند.

آنچه خواهید ساخت​

  1. یک شبکه پیش‌بینی: هسته سیستم یک برگه با ۱۳ ستون (هفته ۱ تا هفته ۱۳) و بخش‌های به‌روشنی تعریف‌شده است: نقد ابتدای دوره، دریافتی‌ها، پرداختی‌ها، نقد خالص و نقد پایان دوره. سه برگه همراه با همان سطرها، یک مبنای ثابت از آن برنامه، مبالغ واقعی که بانک شما ثبت کرده و انحراف بین آن‌ها را نگه می‌دارند.
  2. نگاشت دسته‌بندی: یک سیستم ساده برای نگاشت تراکنش‌ها از دفتر شما به دسته‌های پیش‌بینی (مثلاً تمام پرداخت‌های Stripe به «دریافتی‌های مشتری» نگاشت می‌شوند؛ پرداخت‌های Gusto به «حقوق و دستمزد»). برگه نگاشت فروشنده کاربرگ این نگاشت را از قبل رمزگذاری کرده، از جمله قاعده عدم شمارش مضاعف بانک/کارت — از آن شروع کنید نه اینکه خودتان یکی بسازید.
  3. یک ریتم هفتگی: یک فرآیند تکرارپذیر برای ثبت مبالغ واقعی، بررسی انحراف نسبت به مبنایی که متعهد شده‌اید، بازبرآورد هفته‌های پیش‌رو و مجموعه‌ای از محرک‌های از پیش تعریف‌شده برای اقدام در هنگام رسیدن به آستانه‌های مالی.

دانلود فایل‌های شروع​

راه‌اندازی از صفحه خالی را رد کنید: این راهنما یک کاربرگ مبتنی بر فرمول با داده‌های نمونه، به‌همراه دفتر نمونه پشت دو هفته اول آن را ارائه می‌دهد.

  • کاربرگ پیش‌بینی ۱۳ هفته‌ای (XLSX، نسخه 1.1.0) — cash-flow-forecast-13-week-fa.xlsx. فرض‌های قابل‌ویرایش، هفته‌های زنجیره‌شده با فرمول، یک عکس فوری تنها با مقادیر از مبنای، یک برگه مبالغ واقعی، یک برگه انحراف تنها با فرمول‌ها و یک برگه نگاشت فروشنده. هر عدد نمونه همان مثال حل‌شده است — آن را با داده‌های خودتان جایگزین کنید (به بخش نمونه در برابر داده‌های شما در زیر مراجعه کنید).
  • دفتر و مبالغ واقعی نمونه (دفتر Beancount، .bean) — sample.bean. دفتر نمونه متوازن که نقدینگی بانکی هفته‌های W1–W2 آن دقیقاً همان چیزی است که برگه مبالغ واقعی کاربرگ برای دو هفته اول خود نگه می‌دارد.

فایل‌های شروع چگونه کار می‌کنند (قبل از تایپ کردن این را بخوانید)​

برگه‌ها. کاربرگ (cash-flow-forecast-13-week-fa.xlsx، نسخه 1.1.0) شش برگه دارد، به این ترتیب:

  • Forecast — برنامه زنده شما: ۱۳ هفته تاریخ‌دار، فرض‌ها، دریافتی‌ها، پرداختی‌ها، نقد خالص/پایان دوره. هر چند بار که بخواهید آن را ویرایش کنید.
  • Baseline — یک عکس فوری تنها با مقادیر از سطرهای ۲ تا ۲۹ برگه Forecast، برچسب‌خورده با یک نسخه در B31 و یک تاریخ به‌روزرسانی در B32. هیچ فرمولی ندارد، بنابراین هیچ کاری که در جای دیگر انجام دهید نمی‌تواند آن را تغییر دهد.
  • Actuals — نقدینگی بانکی که هر هفته بسته‌شده واقعاً جابه‌جا کرده، توسط شما وارد می‌شود: یک وضعیت در سطر ۳ (complete یا partial)، مبالغ دسته‌ها در همان سطرهای Forecast و یک مانده صورت‌حساب اختیاری در سطر ۳۰.
  • Variance — تنها فرمول: مبالغ واقعی − مبنا برای هر دسته و مجموع، تطبیق‌شده با تاریخ شروع هفته، به‌همراه یک راهنما که هر واژه وضعیت را توضیح می‌دهد. هرگز برگه Forecast را نمی‌خواند.
  • Vendor Mapping — نگاشت دفتر→دسته با قاعده شمارش نقد بانک/کارت برای هر منبع.
  • Notes — سازوکارها، بررسی هفتگی، کلیدهای سناریو و نسخه، کپی‌شده از تولیدکننده تا فایل به‌صورت آفلاین خودش را توضیح دهد.

هر چهار شبکه هفتگی یک چیدمان مشترک دارند: هفته‌های W1–W13 ستون‌های B تا N هستند، سطر ۲ تاریخ شروع هر هفته را نگه می‌دارد، نقد ابتدای دوره سطر ۱۰ است، دریافتی‌ها سطرهای ۱۲ تا ۱۴ (مجموع ۱۵)، پرداختی‌ها سطرهای ۱۷ تا ۲۶ (مجموع ۲۷)، خالص سطر ۲۸ و پایان دوره سطر ۲۹. بنابراین B12 روی همه آن‌ها دریافتی‌های مشتری هفته ۱ است.

مبنای زمانی. هفته‌ها از دوشنبه شروع می‌شوند، W1 از 2026-09-14 تا W13 از 2026-12-07 (سطر ۲ برگه Forecast؛ هنگام پذیرش مدل این تاریخ‌ها را ویرایش کنید — هر فرمول هفته‌نسبی است، پس زنجیره باقی می‌ماند — و هنگام ثبت مبنای خود آن‌ها را به Baseline و Actuals منتقل کنید). یک تراکنش به هفته‌ای تعلق دارد که تاریخ ثبت آن را در بر می‌گیرد، از دوشنبه تا یکشنبه.

واحدها. در سراسر سند دلار آمریکا به‌صورت عدد صحیح (قالب عددی #,##0). شرکت نمونه یک SaaS در مرحله بذری است که با 85,000 شروع می‌کند، حقوق هفتگی متناوب 0 / 11,000، اجاره ماهانه و پرداخت خودکار وام 900 در هفته دارد.

آنچه شما تایپ می‌کنید در برابر آنچه محاسبه می‌شود. در برگه Forecast، سلول‌های آبی ورودی‌های دستی هستند و هر چیز دیگری فرمول است (برگه Actuals نیز به همین شکل با ورودی‌های خودش کار می‌کند، که در بخش ثبت یک مبنا و بررسی هفتگی زیر توضیح داده شده است):

  • ورودی‌ها: مانده ابتدای دوره B5 (85,000)، کلیدها B6/B7 (1.0)، کف B8 (40,000)، سه پایه دسته دریافتی، ده پایه دسته پرداختی و تاریخ‌های شروع هفته‌ها روی Forecast.
  • فرمول‌ها (برای ستون B، هفته ۱ نشان داده شده — هر هفته بعدی حرف ستون را جابه‌جا می‌کند): ابتدای دوره B10 = $B$5 (هفته‌های ۲ تا ۱۳ به‌جای آن جلو آورده می‌شوند، مثلاً C10 = B29)؛ مجموع دریافتی‌ها B15 = B12*$B$6+B13*$B$7+B14؛ مجموع پرداختی‌ها B27 = SUM(B17:B26)؛ خالص B28 = B15-B27؛ پایان دوره B29 = B10+B28.
  • باز محاسبه خودکار است و فایل fullCalcOnLoad را تنظیم می‌کند، بنابراین Excel، LibreOffice و Numbers هنگام باز شدن بازمحاسبه می‌کنند (فایل هیچ مقدار فرمول ذخیره‌شده‌ای نگه نمی‌دارد). یک سلول آبی را تغییر دهید و هر ۱۳ هفته جابه‌جا می‌شوند — مثلاً تنظیم کلید وصول B6 روی 1.2 دریافتی‌های W1 را از 12,200 به 14,600 و نقد پایان دوره W1 را از 87,500 به 89,900 می‌برد.
  • فایل دست‌نخورده را هر زمان با yarn generate:cash-flow-forecast دوباره تولید کنید (تولیدکننده: scripts/generate-cash-flow-forecast.py، نویسنده openpyxl 3.1.5؛ --verify فایل را دوباره باز می‌کند و تأیید می‌کند که هر سلول مجموع یک فرمول واقعی را نگه می‌دارد).

نمونه در برابر داده‌های شما. سه چیز از قبل پر شده‌اند و هر سه مثال حل‌شده هستند، نه کسب‌وکار شما:

  • سلول‌های آبی روی Forecast (برنامه فعلی شرکت نمونه)؛
  • عکس فوری روی Baseline، نسخه B1 به تاریخ 2026-09-11 — برنامه همان‌طور که پیش از بسته شدن دو هفته اول بود؛
  • ورودی‌های W1–W2 روی Actuals (ستون‌های B–C)، که همان نقدینگی بانکی در دفتر نمونه است (sample.bean، در بالا). W3–W13 خالی گذاشته شده‌اند.

از آنجا که مبنای و مبالغ واقعی نمونه با هم تفاوت دارند، برگه انحراف روی یک مقایسه واقعی باز می‌شود: W1 با +500 جلوتر از برنامه تمام می‌شود و W2 با +300 (به بخش بررسی انحراف در زیر مراجعه کنید). پیش از اولین بررسی خودتان، هر سه را جایگزین کنید: برنامه خود را روی Forecast تایپ کنید، ورودی‌های مبالغ واقعی نمونه را پاک کنید و مبنای خودتان را روی B1 ثبت کنید (مراحل در زیر). دو کلید (B6 تمام دریافتی‌های مشتری را مقیاس می‌کند، B7 تمام پیش‌پرداخت‌ها را) تنها چیزی هستند که قرار است عمومی بمانند، برای بازی سناریو.

از نسخه 1.0.0 آمده‌اید؟ چیدمان برگه Forecast تغییر نکرده است، بنابراین می‌توانید برنامه خود را آگاهانه منتقل کنید: در فایل قدیمی فقط محدوده‌های ورودی را کپی کنید — B2:N2 (تاریخ‌ها)، B5:B8، B12:N14 و B17:N26 — و آن‌ها را به‌صورت مقادیر در همان آدرس‌ها در برگه Forecast فایل جدید بچسبانید، هرگز روی سطرهای فرمول. نسخه 1.0.0 هیچ مبنایی نگه نمی‌داشت، بنابراین هر هفته گذشته‌ای که با مبالغ واقعی بازنویسی کرده‌اید برنامه قابل بازیابی ندارد: نقدینگی بانکی آن هفته‌ها را روی Actuals تایپ کنید و اولین مبنای خود را از Forecast امروز شروع کنید.

ساختار (سطرهایی که نیاز دارید)​

برگه پیش‌بینی شما باید با سطرهای زیر ساختاربندی شود تا تمام حرکات نقدی را ثبت کند. چیدمان کاربرگ: سطرهای زیر روی Forecast قرار دارند (۱۳ هفته تاریخ‌دار با نقد ابتدای دوره، سه دسته دریافتی، ده دسته پرداختی، خالص و پایان دوره)، و Baseline، Actuals و Variance آن‌ها را سطر به سطر تکرار می‌کنند؛ Vendor Mapping منابع دفتر را به این دسته‌ها نگاشت می‌کند، از جمله قاعده عدم شمارش مضاعف بانک/کارت، و Notes سازوکارها را به‌صورت آفلاین توضیح می‌دهد. روی Forecast، دریافتی‌ها به‌صورت دریافتی‌های مشتری، رزروهای جدید/پیش‌پرداخت‌ها و سایر ورودی‌ها گروه‌بندی می‌شوند؛ پرداختی‌ها به‌صورت حقوق و دستمزد، پیمانکاران، ابر/میزبانی، نرم‌افزار/SaaS، بازاریابی، اجاره، حقوقی و حسابداری، مالیات و عوارض، خدمات بدهی و موارد یک‌باره گروه‌بندی می‌شوند؛ مجموع‌ها به‌صورت ابتدای دوره → مجموع دریافتی‌ها → مجموع پرداختی‌ها → خالص → پایان دوره پیچیده می‌شوند.

  • مانده نقد ابتدای دوره (باید به مانده نقد پایان دوره هفته قبل گره بخورد)

  • دریافتی‌ها (ورود نقد)

    • دریافتی‌های مشتری: نقدی که انتظار دارید از صورت‌حساب‌های موجود وصول کنید (حساب‌های دریافتنی).
    • رزروهای جدید/پیش‌پرداخت‌ها: پرداخت‌های پیشاپیش که انتظار دارید از معاملات جدید که در پنجره ۱۳ هفته‌ای بسته می‌شوند دریافت کنید.
    • سایر ورودی‌ها: هر نقد دیگر ورودی، مانند بازپرداخت‌های مالیاتی، درآمد بهره یا تأمین مالی کمک‌هزینه.
  • پرداختی‌ها (خروج نقد)

    • حقوق و دستمزد: کل هزینه نقدی، شامل پرداخت خالص به کارکنان و تمام مالیات‌های حقوق و دستمزد سمت کارفرما.
    • پیمانکاران و فریلنسرها: پرداخت‌ها به غیرکارکنان.
    • ابر/میزبانی (بهای تمام‌شده): هزینه‌های زیرساخت اصلی مانند AWS، GCP و غیره.
    • SaaS/ابزارها: تمام اشتراک‌های نرم‌افزاری شما.
    • بازاریابی: هزینه تبلیغات، حق‌الزحمه آژانس‌ها و سایر هزینه‌های مرتبط با برند.
    • اجاره/دفتر: هزینه‌های دفتر فیزیکی.
    • حقوقی و حسابداری: حق‌الزحمه خدمات حرفه‌ای.
    • مالیات و عوارض: پرداخت‌های مالیات بر فروش و سایر پرداخت‌های دولتی.
    • خدمات بدهی: پرداخت‌های اصل و بهره هر وام.
    • موارد یک‌باره: پرداخت‌های نامنظم و کم‌تکرار مانند حق بیمه سالانه، ودیعه یا سخت‌افزار/سرمایه‌ای (لپ‌تاپ، تجهیزات) — هر چیزی که سطر خودش را در بالا ندارد اینجا قرار می‌گیرد.
  • جریان نقدی خالص (= مجموع دریافتی‌ها − مجموع پرداختی‌ها)

  • مانده نقد پایان دوره (= نقد ابتدای دوره + جریان نقدی خالص)

نمونه حل‌شده ۱۳ هفته‌ای (دلار آمریکا)​

جدول زیر برگه Forecast کاربرگ برای شرکت نمونه است، هفته به هفته — برنامه فعلی، بازپیش‌بینی‌شده پس از بسته شدن W1 و W2، بنابراین آن دو ستون اکنون آنچه بانک واقعاً انجام داده را نگه می‌دارند. W1 و W2 مبالغ واقعی دفتر هستند — آن‌ها با مجموع‌هایی که yarn check:cash-flow-actuals از sample.bean استخراج می‌کند برابرند (دریافتی‌ها 12,200 / 13,200، پرداختی‌ها 9,700 / 17,200، بستن 87,500 / 83,500). W3–W13 فرض‌های کاربرگ هستند از پایه‌های نمونه تولیدکننده (در دفتر ثبت نشده‌اند). برنامه‌ای که شرکت از پیش به آن متعهد شده بود به‌صورت جداگانه روی Baseline حفظ شده و با این ستون‌های W1–W2 تفاوت دارد؛ بررسی انحراف در زیر این دو را مقایسه می‌کند. واحد پول دلار آمریکا به‌صورت عدد صحیح است؛ پایان دوره = ابتدای دوره + دریافتی‌ها − پرداختی‌ها در هر هفته.

ردیفW1W2W3W4W5W6W7W8W9W10W11W12W13
ابتدای دوره85,00087,50083,50092,50082,00081,00072,00080,00072,80075,30063,80079,80071,800
دریافتی‌ها12,20013,20015,2009,20018,2008,20014,20014,20012,2009,20022,2009,20012,200
پرداختی‌ها9,70017,2006,20019,70019,20017,2006,20021,4009,70020,7006,20017,2009,700
خالص2,500-4,0009,000-10,500-1,000-9,0008,000-7,2002,500-11,50016,000-8,0002,500
پایان دوره87,50083,50092,50082,00081,00072,00080,00072,80075,30063,80079,80071,80074,300

سازوکار چرخشی (همان‌طور که در کاربرگ ساخته شده)​

منطق پیش‌بینی چرخشی ساده و قدرتمند است — و در فایل دانلودی از قبل به‌صورت فرمول روی برگه Forecast سیم‌کشی شده است (سطرها در پرانتز):

  • نقد ابتدای دوره (هفته ۱) = فرض مانده ابتدای دوره — سلول B10 = $B$5.
  • نقد ابتدای دوره (هفته n) = نقد پایان دوره (هفته n−1) — مثلاً C10 = B29 (سطر ۱۰، هفته‌های ۲ تا ۱۳).
  • مجموع دریافتی‌ها (هفته n) = دریافتی‌های مشتری × کلید وصول + پیش‌پرداخت‌ها × کلید رزرو + سایر — مثلاً B15 = B12*$B$6+B13*$B$7+B14 (سطر ۱۵).
  • مجموع پرداختی‌ها (هفته n) = SUM ده سطر دسته — مثلاً B27 = SUM(B17:B26) (سطر ۲۷).
  • نقد خالص (هفته n) = مجموع دریافتی‌ها − مجموع پرداختی‌ها — مثلاً B28 = B15-B27 (سطر ۲۸).
  • نقد پایان دوره (هفته n) = نقد ابتدای دوره + نقد خالص — مثلاً B29 = B10+B28 (سطر ۲۹).

همان سطرها روی Actuals به‌صورت مجموع‌های ساده وجود دارند (B15 = SUM(B12:B14)، B27 = SUM(B17:B26)، B28 = B15-B27، B29 = B10+B28، C10 = B29)، با نقد ابتدای دوره واقعی هفته که یک‌بار در Actuals!B10 تایپ می‌شود. Actuals هیچ کلیدی ندارد و هرگز به برگه دیگری ارجاع نمی‌دهد.

ثبت یک مبنا (یک‌بار در هر افق)​

این کار را زمانی انجام دهید که Forecast شما برنامه‌ای را نگه می‌دارد که می‌خواهید در برابر آن سنجیده شوید — پیش از بسته شدن هفته اول.

  1. برنامه را به‌صورت مقادیر کپی کنید. Forecast!B2:N29 را انتخاب و کپی کنید. Baseline!B2 را انتخاب کنید و فقط مقادیر را بچسبانید — Excel: Paste Special → Values؛ LibreOffice: Paste Special → Values Only؛ Numbers: Edit → Paste Formula Results. یک چسباندن عادی فرمول‌های زنده را منتقل می‌کند و «مبنا» بی‌صدا هر ویرایش بعدی را دنبال می‌کند.
  2. برچسب بزنید. یک نسخه (مثلاً B1) در Baseline!B31 و تاریخ امروز را در Baseline!B32 تایپ کنید. هر دو زیر بلوک چسبانده‌شده قرار دارند، بنابراین ثبت بعدی هرگز آن‌ها را بازنویسی نمی‌کند.
  3. هفته‌ها را هم‌تراز کنید. Baseline!B2:N2 را کپی کنید و مقادیر را در Actuals!B2 بچسبانید، تا هر دو برگه همان ۱۳ تاریخ شروع هفته را نام‌گذاری کنند، و مانده بانکی که با آن شروع می‌کنید را در Actuals!B10 تایپ کنید.

از اینجا، تایپ مبالغ واقعی، ویرایش Forecast یا جابه‌جا کردن یک کلید، Forecast و Variance را بازمحاسبه می‌کند و Baseline را دقیقاً همان‌طور که ثبت شده رها می‌کند.

بررسی هفتگی دوشنبه شما (در برابر این کاربرگ)​

  1. هفته را روی Actuals ثبت کنید — هرگز روی Forecast. در ستونی که تاریخ سطر ۲ آن دوشنبه‌ای است که تازه بسته شده، نقدینگی بانکی هفته را بر اساس دسته در سطرهای ۱۲ تا ۱۴ و ۱۷ تا ۲۶ تایپ کنید (نگاشت در زیر). جایی که نقدی جابه‌جا نشده 0 تایپ کنید: یک سلول خالی به معنای «هنوز وارد نشده» است، نه صفر. مانده بستن صورت‌حساب بانکی را در سطر ۳۰ بگذارید؛ سطر ۳۱ باید سپس 0 را نشان دهد. هر چیز دیگری یک خطای نگاشت است — معمولاً یک هزینه کارت شمارش‌شده یا یک انتقال داخلی نگه‌داشته‌شده — نه یک خطای بانکی.
  2. بررسی کنید که هفته کامل است. پس از پر شدن هر سطر دسته با یک عدد، در سطر ۳ complete تایپ کنید، یا در حالی که هفته هنوز باز است partial (منوی کشویی هر دو را ارائه می‌دهد). Variance یک هفته را فقط زمانی مقایسه می‌کند که complete باشد، هر دسته وارد شده باشد و تاریخ Actuals با تاریخ Baseline در همان ستون برابر باشد.
  3. انحراف را بخوانید. سطر ۳ وضعیت هر هفته را نام می‌برد؛ فقط هفته‌های compared عدد نشان می‌دهند و هر وضعیت دیگر n/a نشان می‌دهد، هرگز 0، بنابراین یک هفته واردنشده نمی‌تواند به‌عنوان «طبق برنامه» جا بزند. علامت‌ها مبالغ واقعی − مبنا هستند (ستون O آن‌ها را تکرار می‌کند): دریافتی‌ها، خالص و پایان دوره مثبت = نقد بیشتر از برنامه؛ پرداختی‌ها مثبت = هزینه بیشتر از برنامه. سطر ۲۹ تجمعی است — شامل هر هفته پیشین می‌شود — و فقط تا زمانی وجود دارد که هر هفته تا آن compared باشد. سطرهای ۳۲ تا ۳۵ مجموع‌ها را به‌صورت سهمی از مبنا بیان می‌کنند (n/a وقتی مبنا صفر است).
  4. آینده را روی Forecast بازبرآورد کنید. سلول‌های آبی را برای ۲ تا ۴ هفته بعد با تازه‌ترین اطلاعات به‌روزرسانی کنید (صورت‌حساب‌های تازه ارسال‌شده، پرداخت‌های پیش‌رو به فروشندگان، تاریخ‌های تأییدشده حقوق و دستمزد). برای حفظ یک نگاه‌به‌جلوی کامل ۱۳ هفته‌ای، پنجره Forecast را بچرخانید: ورودی‌های آبی آن، از جمله تاریخ‌های سطر ۲ را، یک ستون به چپ ببرید (W2 قدیمی به W1 تبدیل می‌شود)، سپس ستون N را پاک کنید و تاریخ W13 جدید را به آن بدهید. فرمول‌های جلو آورده‌شده به‌صورت خودکار بازلنگر می‌شوند؛ Baseline، Actuals و Variance دست نمی‌خورند.

چرخاندن افق بررسی (یک مرحله آگاهانه، نه هفتگی)​

Baseline و Actuals روی افقی که ثبت کرده‌اید می‌مانند تا زمانی که تصمیم بگیرید آن‌ها را جابه‌جا کنید — معمولاً وقتی که Forecast یک ماه یا یک فصل جلو رفته باشد، یا برنامه به‌قدری تغییر کرده باشد که بخواهید یک معیار جدید داشته باشید.

  1. بایگانی کنید. یک کپی از کاربرگ ذخیره کنید (مثلاً cash-flow-forecast-B1.xlsx). مبنای قدیمی، مبالغ واقعی آن و انحراف آن‌ها را با هم نگه می‌دارد؛ فایل کاری هیچ تاریخی نگه نمی‌دارد.
  2. ورودی‌های مبالغ واقعی را پاک کنید. روی Actuals، سطرهای ۳، ۱۲ تا ۱۴، ۱۷ تا ۲۶ و ۳۰ را در ستون‌های B تا N و B10 را پاک کنید. C10:N10، سطرهای ۱۵ و ۲۷ تا ۲۹ و سطر ۳۱ را دست نزنید — آن‌ها فرمول هستند.
  3. مبنای جدیدی ثبت کنید از Forecast امروز با نسخه بعدی (B2) و تاریخ امروز، سپس تاریخ‌های Actuals و مانده ابتدای دوره را دقیقاً همان‌طور که در ثبت یک مبنا در بالا آمده هم‌تراز کنید.

هرگز ستون‌های هفته را درج یا حذف نکنید. اگر مبنایی را دوباره ثبت کنید اما تاریخ‌گذاری مجدد Actuals را فراموش کنید، هر هفته آسیب‌دیده date mismatch نشان می‌دهد، به‌جای مقایسه یک هفته با برنامه هفته‌ای دیگر.

نگاشت از Beancount به پیش‌بینی شما​

دامنه نقد بانکی (قاعده‌ای که از شمارش مضاعف جلوگیری می‌کند). مبالغ واقعی هفتگی، ثبت‌هایی در Assets:Bank:* فقط هستند — یک دامنه که هر دو تله را حل می‌کند:

  • کارت‌های اعتباری: یک خرید کارتی در Liabilities:CreditCard:* ثبت می‌شود و هیچ نقد بانکی جابه‌جا نمی‌کند، بنابراین هنگام هزینه شدن شمرده نمی‌شود. نقد یک‌بار خارج می‌شود، هنگام تسویه (پرداخت بانک→کارت). شمارش هزینه به‌علاوه تسویه، همان هزینه را دو بار می‌شمارد. در دفتر نمونه، W1 شامل 420.00 دلار هزینه‌های SaaS با Amex است (فقط بدهی، نادیده‌گرفته شده) در کنار تسویه صورتحساب مرداد ماه 600.00 دلار (شمرده‌شده). مجموع ساده‌لوحانه «خروج‌های بانکی + هزینه‌های کارتی» برای W1 برابر 10,120.00 دلار است — دقیقاً 420.00 بیش از حد؛ کاربرگ 9,700.00 را می‌شمارد.
  • انتقال‌های داخلی: یک انتقال جاری↔پس‌انداز دارای دو پایه بانکی مخالف است، بنابراین درون این دامنه به صفر می‌رسد و هم از دریافتی‌ها و هم از پرداختی‌ها خارج است. انتقال‌های نمونه به مبلغ 3,000.00 دلار (W1) و 1,500.00 دلار (W2) در غیر این صورت هر دو طرف را به این مقدارها باد می‌کردند.
  • نتیجه فرعی: پایه‌های بانکی را نگاشت کنید، نه پایه‌های درآمد/هزینه را. اصل وام یک هزینه نیست اما یک خروج بانکی است (پرداخت‌های خودکار نمونه به مبلغ 900.00 دلار = اصل 800 + بهره 100، همه تحت خدمات بدهی شمرده می‌شوند)؛ یک خرید کارتی یک هزینه است اما هنوز یک خروج بانکی نیست.

تفکیک دریافتی‌ها/پرداختی‌ها. از پایه‌های بانکی صادرشده: پایه‌های مثبت دریافتی هستند، پایه‌های منفی پرداختی، پایه‌های انتقال خارج می‌شوند. نقشه دسته (همان برگه نگاشت فروشنده): پرداخت‌های Stripe/PayPal → دریافتی‌های مشتری؛ حواله‌های مشتری جدید → رزروهای جدید/پیش‌پرداخت‌ها؛ بهره/کمک‌هزینه بانکی → سایر ورودی‌ها؛ Gusto/ADP → حقوق و دستمزد؛ AWS/GCP → ابر/میزبانی؛ SaaS پرداخت‌شده از بانک → نرم‌افزار/SaaS؛ صاحب‌ملک → اجاره؛ شرکت حقوقی → حقوقی/حسابداری؛ مرجع مالیاتی → مالیات و عوارض؛ پرداخت خودکار وام → خدمات بدهی.

  • رسیدگی به مالیات بر فروش: اگرچه مالیات بر فروش درآمد نیست، اما یک قلم جریان نقدی است. وصول مالیات بر فروش را یک دریافت نقدی و پرداخت آن به دولت را یک پرداخت در نظر بگیرید. تأثیر درآمد در دفاتر تعهدی شما زندگی می‌کند، اما حرکت نقدی اینجا اهمیت دارد.

قطعه Beancount که W1 را تغذیه می‌کند​

هر ثبت زیر همچنین در فایل ارسالی sample.bean وجود دارد. اگر تنها ذخیره شود، این قطعه uvx --from beancount bean-check را پاس می‌کند و دریافتی‌های W1 جدول (12,200)، پرداختی‌ها (9,700) و بستن (87,500) را تولید می‌کند، به‌محض این که دامنه نقد بانکی بالا را اعمال کنید (انتقال جاری↔پس‌انداز را از هر دو طرف بیرون بگذارید؛ تسویه Amex را بشمارید، نه هزینه‌های بدهی را).

option "title" "Cash forecast sample — W1 excerpt"
option "operating_currency" "USD"
 
2026-09-13 open Assets:Bank:Checking USD
2026-09-13 open Assets:Bank:Savings USD
2026-09-13 open Liabilities:CreditCard:Amex USD
2026-09-13 open Liabilities:Loan USD
2026-09-13 open Equity:Opening-Balances USD
2026-09-13 open Income:Sales USD
2026-09-13 open Income:Interest USD
2026-09-13 open Expenses:Contractors USD
2026-09-13 open Expenses:Cloud USD
2026-09-13 open Expenses:Software USD
2026-09-13 open Expenses:Marketing USD
2026-09-13 open Expenses:Rent USD
2026-09-13 open Expenses:Interest USD
 
2026-09-13 * "Opening balances"
  Assets:Bank:Checking            80000.00 USD
  Assets:Bank:Savings              5000.00 USD
  Liabilities:CreditCard:Amex      -600.00 USD
  Liabilities:Loan               -20000.00 USD
  Equity:Opening-Balances        -64400.00 USD
 
2026-09-14 * "Stripe" "Customer receipts W1"
  Assets:Bank:Checking            12000.00 USD
  Income:Sales                   -12000.00 USD
 
2026-09-15 * "Contractor" "Contractors W1"
  Expenses:Contractors              1500.00 USD
  Assets:Bank:Checking             -1500.00 USD
 
2026-09-15 * "AWS" "Cloud hosting W1"
  Expenses:Cloud                    2200.00 USD
  Assets:Bank:Checking             -2200.00 USD
 
2026-09-16 * "Bank" "Checking -> Savings sweep"
  Assets:Bank:Savings               3000.00 USD
  Assets:Bank:Checking             -3000.00 USD
 
2026-09-17 * "SaaS vendor" "Amex SaaS charges"
  Expenses:Software                  250.00 USD
  Liabilities:CreditCard:Amex       -250.00 USD
 
2026-09-17 * "SaaS vendor" "Amex SaaS charges"
  Expenses:Software                  170.00 USD
  Liabilities:CreditCard:Amex       -170.00 USD
 
2026-09-18 * "Amex" "August statement settlement"
  Liabilities:CreditCard:Amex        600.00 USD
  Assets:Bank:Checking              -600.00 USD
 
2026-09-19 * "Landlord" "Rent W1"
  Expenses:Rent                     3500.00 USD
  Assets:Bank:Checking             -3500.00 USD
 
2026-09-19 * "Agency" "Marketing W1"
  Expenses:Marketing                1000.00 USD
  Assets:Bank:Checking             -1000.00 USD
 
2026-09-19 * "Bank" "Interest W1"
  Assets:Bank:Checking               200.00 USD
  Income:Interest                   -200.00 USD
 
2026-09-19 * "Lender" "Loan autopay W1"
  Liabilities:Loan                   800.00 USD
  Expenses:Interest                  100.00 USD
  Assets:Bank:Checking              -900.00 USD

هفته حل‌شده: W1 از ابتدا تا انتها (2026-09-14 – 2026-09-20)​

نقد ابتدای دوره بانکی 85,000.00 است (جاری 80,000 + پس‌انداز 5,000 در 2026-09-13) — همان مقداری که در Actuals!B10 قرار دارد. پایه‌های بانکی W1 دفتر، پس از خارج کردن جفت انتقال 3,000.00، در ستون B برگه Actuals قرار می‌گیرند؛ هر دسته‌ای که فهرست نشده 0 تایپ می‌شود و سطر ۳ روی complete تنظیم می‌شود:

سطر Actuals (سلول)پایه‌های بانکیمقدار
دریافتی‌های مشتری (B12)Stripe 12,00012,000.00
سایر ورودی‌ها (B14)بهره بانکی 200200.00
مجموع دریافتی‌هاB15 = SUM(B12:B14) = 12,000 + 0 + 20012,200.00
پیمانکاران (B18)1,5001,500.00
ابر/میزبانی (B19)AWS 2,2002,200.00
نرم‌افزار/SaaS (B20)تسویه Amex 600 (هزینه‌ها خارج)600.00
بازاریابی (B21)آژانس 1,0001,000.00
اجاره (B22)صاحب‌ملک 3,5003,500.00
خدمات بدهی (B25)پرداخت خودکار وام 900900.00
مجموع پرداختی‌هاB27 = SUM(B17:B26)9,700.00
خالصB28 = B15−B27+2,500.00
پایان دورهB29 = B10+B28 = 85,000 + 2,50087,500.00

انتقال به W2. C10 = B29، بنابراین W2 با 87,500.00 باز می‌شود. پایه‌های بانکی آن دریافتی‌های 8,000 (Stripe) + 5,000 (پیش‌پرداخت) + 200 (بهره) = 13,200.00 و پرداختی‌های 11,000 (حقوق Gusto) + 1,500 + 2,200 + 600 (SaaS بدهی‌شده از بانک) + 1,000 + 900 = 17,200.00 را می‌دهد؛ خالص −4,000.00، پایان دوره 83,500.00 — دقیقاً ستون W2 کاربرگ روی Actuals (و روی برگه Forecast بازپیش‌بینی‌شده). مانده‌های صورتحساب 87,500 و 83,500 در Actuals!B30:C30 قرار دارند، بنابراین سطر ۳۱ برای هر دو هفته 0 را نشان می‌دهد: این اثبات شماست که نگاشت کار می‌کند. آنچه هفته‌ها نسبت به برنامه انجام دادند یک پرسش جداگانه است که در Variance در زیر پاسخ داده شده است.

بازتولید آن (تأییدشده 2026-09-09، Beancount 3.2.3 + beanquery 0.2.0)​

uvx --from beancount bean-check public/downloads/cash-flow-forecast/sample.bean
yarn check:cash-flow-actuals

بررسی‌کننده bean-check را اجرا می‌کند (ادعاهای balance خود دفتر نقد پایان دوره هر هفته را اثبات می‌کند)، کوئری‌های صادراتی زیر را و یک جلو آوردن مستقل پایتون که تأیید می‌کند هر سه توافق دارند — W1 12,200.00 / 9,700.00 / 87,500.00، W2 13,200.00 / 17,200.00 / 83,500.00:

SELECT date, narration, account, position
FROM date >= 2026-09-14 AND date <= 2026-09-20
WHERE account ~ "^Assets:Bank" ORDER BY date;
 
SELECT sum(position) AS net
FROM date >= 2026-09-14 AND date <= 2026-09-20
WHERE account ~ "^Assets:Bank";
 
SELECT sum(position) AS bank_cash
FROM close ON 2026-09-21 WHERE account ~ "^Assets:Bank";

(تاریخ‌ها را برای W2 به‌اندازه ۷ جابه‌جا کنید، بسته شدن در 2026-09-28.) یک محدودیت BQL که باید بدانید: این نسخه beanquery نمی‌تواند ثبت‌ها را بر اساس علامت فیلتر کند، بنابراین تفکیک دریافتی‌ها/پرداختی‌ها روی سطرهای صادرشده اعمال می‌شود — پایه‌های بانکی مثبت به دریافتی‌ها، منفی به پرداختی‌ها، جفت‌های انتقال خارج — دقیقاً همان‌طور که بررسی‌کننده انجام می‌دهد.

ریتم به‌روزرسانی (هفتگی ۳۰ تا ۴۵ دقیقه)​

  1. مبالغ واقعی را بکشید (۱۵ دقیقه): ثبت‌های هفته را به Assets:Bank:* صادر کنید (کوئری‌های بالا را اجرا کنید، یا تراکنش‌ها را از حساب‌های بانکی خود دانلود کنید — هزینه‌های کارتی بیرون می‌مانند؛ فقط پرداخت تسویه شمرده می‌شود) و آن‌ها را روی برگه Actuals تایپ کنید. تأیید کنید که نقد پایان دوره هفته روی Actuals کاملاً با مانده بانکی ترکیبی واقعی شما (جاری + پس‌انداز) مطابقت دارد — سطر ۳۱ 0 را نشان می‌دهد. این تطبیق غیرقابل‌مذاکره است.
  2. حساب‌های دریافتنی را بررسی کنید (۱۰ دقیقه): تمام صورت‌حساب‌های معوق را فهرست کنید و آن‌ها را در هفته‌ای که انتظار پرداخت دارید قرار دهید. محافظه‌کار باشید و تأخیرهای وصول واقع‌بینانه را بر اساس عملکرد گذشته اعمال کنید.
  3. حساب‌های پرداختنی و حقوق و دستمزد را بررسی کنید (۱۰ دقیقه): تاریخ‌های سررسید تمام صورتحساب‌های پیش‌روی شناخته‌شده را قرار دهید. تاریخ‌ها و مبالغ حقوق و دستمزد خود را برای کل فصل از پیش پر کنید. پرداختی‌های غیرحیاتی را برای جمعه‌ها بگذارید تا اختیار نقدی در طول هفته حفظ شود.
  4. جلسه انحراف (۱۰ دقیقه): برگه Variance را باز کنید و ستون compared هفته را مرور کنید: کدام دسته‌ها حرکت کردند، در چه جهتی و این چه تأثیری بر نقد پایان دوره تجمعی داشت. علل هر اختلاف قابل‌توجه را یادداشت کنید و تصمیم بگیرید که آیا باید قواعد پیش‌بینی خود را برای آینده تنظیم کنید.

دقت و تصمیم‌گیری​

قواعد سرانگشتی دقت​

  • هفته‌های ۱ تا ۲: هدف خطای ±۵ تا ۱۰٪ باشد. این تاریخ‌ها و مبالغ باید بسیار قطعی باشند.
  • هفته‌های ۳ تا ۶: انتظار خطای ±۱۰ تا ۲۰٪ داشته باشید. این دوره ترکیبی از صورتحساب‌های شناخته‌شده و برآوردهای الگومحور خواهد بود.
  • هفته‌های ۷ تا ۱۳: این بخش از پیش‌بینی جهت‌دار است. توسط قیف فروش و هزینه‌های سرعت‌معمول شما هدایت می‌شود.

کدهای اطمینان: برای خواندن آسان‌تر پیش‌بینی، هر سطر پیش‌بینی را با یک کد اطمینان علامت‌گذاری کنید: تعهدشده (مثلاً حقوق و دستمزد، اجاره)، محتمل (مثلاً صورت‌حساب‌ها به مشتریان خوب)، یا صعودی (مثلاً معاملات جدید از قیف فروش).

محرک‌ها و اقدام‌ها (این‌ها را از پیش تعیین کنید)​

پیش‌بینی بدون برنامه بی‌فایده است. اقدام‌های خود را برای زمانی که به آستانه‌های مشخصی می‌رسید از پیش تعریف کنید.

  • کف حداقل نقدینگی: مثلاً قاعده شما ممکن است این باشد: «ما باید در همه زمان‌ها نقدینگی ≥ ۱.۵ برابر مبلغ کامل حقوق و دستمزد بعدی را حفظ کنیم.» اگر پیش‌بینی نشان دهد که این کف را نقض خواهید کرد، بلافاصله یک برنامه از پیش توافق‌شده را اجرا می‌کنید، مانند یک دوره فشرده وصول و توقف تمام هزینه‌های اختیاری.
  • حفاظ دامنه نقدینگی: مثلاً «اگر نقد پایان دوره در هفته ۱۳ دلالت بر کمتر از X ماه سوخت داشته باشد، برنامه تأمین مالی خود را آغاز خواهیم کرد.» این می‌تواند شامل جستجوی term sheet، ارائه تخفیف به مشتریان برای پیش‌پرداخت درآمد یا استفاده از خط اعتباری باشد.
  • قاعده خروج بزرگ: مثلاً «هر پرداخت غیرحقوقی منفردی بزرگتر از ۵٪ مانده نقدی فعلی ما باید دو هفته پیش از موعد تأیید شود و یک برنامه جایگزین داشته باشد.»

قالب و سناریوها​

مجموعه دسته ساده (برای یک SaaS در مرحله بذری)​

  • دریافتی‌ها: دریافتی‌های مشتری، سایر ورودی‌ها (بهره، بازپرداخت‌ها، کمک‌هزینه‌ها)
  • پرداختی‌ها: حقوق و دستمزد (خالص + مالیات‌های کارفرما)، پیمانکاران، ابر/میزبانی (بهای تمام‌شده)، نرم‌افزار/SaaS (هزینه عملیاتی)، بازاریابی (پرداختی/برند)، اجاره/دفتر، حقوقی/حسابداری، مالیات و عوارض، خدمات بدهی، موارد یک‌باره / سالانه
  • محاسبه‌شده: نقد خالص، نقد پایان دوره

قالب (از قبل در فایل دانلودی ساخته شده؛ برای بازسازی خالی این را کپی کنید)​

جدول زیر شکل برگه Forecast است — همان سطرها، همان فرمول‌ها — برای بازسازی روی یک برگه خالی. در فایل دانلودی، سطر ۲ از قبل تاریخ‌های شروع هفته را نگه می‌دارد (W1 2026-09-14 تا W13 2026-12-07) و هر مجموع سیم‌کشی شده است؛ برای مطابقت، زیر سطر ۳ و راست ستون A (B4 در فایل) را ثابت کنید.

سطر / هفتهW1W2W3...W13
نقد ابتدای دوره
--- دریافتی‌ها ---
دریافتی‌های مشتری
پیش‌پرداخت‌های جدید/پیشاپیش
سایر ورودی‌ها
مجموع دریافتی‌ها=SUM()=SUM()=SUM()=SUM()
--- پرداختی‌ها ---
حقوق و دستمزد (خالص + مالیات‌های کارفرما)
پیمانکاران
ابر/میزبانی (بهای تمام‌شده)
نرم‌افزار/SaaS (هزینه عملیاتی)
بازاریابی
اجاره/دفتر
حقوقی/حسابداری
مالیات و عوارض
خدمات بدهی
موارد یک‌باره / سالانه
مجموع پرداختی‌ها=SUM()=SUM()=SUM()=SUM()
نقد خالص=دریافتی‌ها-پرداختی‌ها
نقد پایان دوره=ابتدای دوره+خالص

کلیدهای سناریو (سبک نگه دارید)​

می‌توانید برنامه‌ریزی سناریوی ساده بدون ساخت یک مدل پیچیده بسازید. یک سلول «کلید» در بالای برگه خود برای محرک‌های کلیدی اضافه کنید. مثلاً:

  • کلید کندی وصول B6: [1.0] (به 1.2 تغییر دهید تا یک کندی ۲۰٪ در وصولی‌ها را مدل کنید — مجموع دریافتی‌های هر هفته از طریق COL15 = COL12*$B$6+COL13*$B$7+COL14 بازمحاسبه می‌شود)
  • کلید رزروهای جدید B7: [1.0] (به 0.8 تغییر دهید تا یک ۲۰٪ کمتر از برنامه را مدل کنید)

این‌ها همان سلول‌های فرض واقعی روی برگه Forecast هستند — بدون سیم‌کشی اضافی.


یادگیری و اجتناب از اشتباهات​

بررسی انحراف (یادگیری را مرکب کنید)​

کاربرگ دفعه‌داری انحراف را برای شما انجام می‌دهد: انحراف = مبالغ واقعی − مبنا، به‌ازای هر دسته و هر مجموع، برای هر هفته‌ای که Actuals آن complete و مانند Baseline تاریخ‌گذاری شده باشد. کار شما توضیح اعداد است. هنگام بررسی، دلایل اختلافات عمده را برچسب‌گذاری کنید: تأخير وصول، لغزش دامنه، خرید پیش‌بینی‌نشده از فروشنده، تغییر زمان‌بندی. اگر همان نوع انحراف تکرار شد، قاعده زیربنایی مدل خود را تغییر دهید. مثلاً اگر وصولی‌ها به‌طور مداوم یک هفته دیر هستند، فرض تأخیر وصول پیش‌فرض خود را از ۲۱ روز به ۲۸ روز تغییر دهید.

مقایسه حل‌شده (نمونه ارسالی). مبنای B1 در 2026-09-11 از یک ابتدای دوره 85,000 ثبت شد؛ مبالغ واقعی نقدینگی بانکی دفتر نمونه هستند. علامت‌ها از برگه Variance پیروی می‌کنند: دریافتی‌ها، خالص و پایان دوره مثبت = نقد بیشتر از برنامه، هزینه مثبت = هزینه بیشتر از برنامه.

هفتهمبنا ورودی / خروجی / پایان دورهمبالغ واقعی ورودی / خروجی / پایان دورهΔ دریافتی‌هاΔ هزینهΔ خالصΔ پایان دوره (تجمعی)
W1 (2026-09-14)12,000 / 10,000 / 87,00012,200 / 9,700 / 87,500+200−300+500+500
W2 (2026-09-21)13,200 / 17,000 / 83,20013,200 / 17,200 / 83,5000+200−200+300
W3 (2026-09-28)15,200 / 6,000 / 92,400وارد نشدهn/an/an/an/a

خواندن آن به همان روشی که برگه Variance آن را می‌چیند:

  • W1، +500. دریافتی‌های مشتری 200 بالاتر از 11,800 برنامه‌ریزی‌شده آمد (Variance!B12 = +200) و AWS 2,200 در برابر 2,500 برنامه‌ریزی‌شده صورتحساب کرد (Variance!B19 = −300: هزینه کمتر، مطلوب). 85,000 + 12,200 − 9,700 = 87,500 واقعی در برابر 85,000 + 12,000 − 10,000 = 87,000 برنامه‌ریزی‌شده.
  • W2، +300. دریافتی‌ها دقیقاً طبق برنامه رسید، اما صورتحساب SaaS پرداخت‌شده از بانک 600 در برابر 400 برنامه‌ریزی‌شده بود (Variance!C20 = +200: هزینه بیشتر، نامطلوب). خالص هفته −200 است، بنابراین برتری تجمعی پایان دوره از +500 به +300 کاهش می‌یابد (Variance!C29): 87,500 + 13,200 − 17,200 = 83,500 در برابر 87,000 + 13,200 − 17,000 = 83,200.
  • W3 به بعد، not observed. چیزی وارد نشده، بنابراین هر سلول n/a نشان می‌دهد — نه یک 0 آرامش‌بخش.
  • به‌صورت درصدها (سطرهای ۳۲ تا ۳۳): دریافتی‌های W1 +1.67٪ و هزینه −3.00٪؛ دریافتی‌های W2 0.00٪ و هزینه +1.18٪.

دو برچسب از این بیرون می‌آید: برآورد AWS بالا می‌رود و سطر SaaS پرداخت‌شده از بانک 200 کمتر از حد برنامه‌ریزی شده بود. هر دو اصلاحاتی در فرض‌های Forecast هستند — مبنای B1 همان‌طور که هست می‌ماند، بنابراین فصل بعد هنوز می‌توانید ببینید برنامه اولیه چقدر فاصله داشت.

دام‌های رایج (از این‌ها اجتناب کنید)​

  • بازنویسی برنامه: تایپ مبالغ واقعی روی سلول‌های Forecast (یا چسباندن مجدد Baseline هر هفته) برنامه‌ای را که قرار بود در برابر آن سنجیده شوید نابود می‌کند. مبالغ واقعی به Actuals می‌روند؛ Baseline فقط زمانی تغییر می‌کند که آگاهانه افق را بچرخانید.
  • مخلوط کردن تعهدی و نقدی: این پیش‌بینی فقط برای نقد است. درآمد شناسایی‌شده، استهلاک و سایر مفاهیم تعهدی متعلق به دفتر اصلی شماست، نه اینجا.
  • فراموش کردن سالانه‌های نامنظم: حق بیمه سالانه، تمدیدهای بزرگ SaaS و پرداخت‌های مالیاتی فصلی می‌توانند شگفتی‌های بزرگی باشند. آن‌ها را به‌محض اطلاع در پیش‌بینی خود زمان‌بندی کنید.
  • نادیده گرفتن نقد مالیات بر فروش: حتی اگر یک بدهی انتقالی باشد، نقد تا زمانی که آن را پرداخت نکنید در حساب بانکی شماست. هم ورودی و هم خروجی را مدل کنید.
  • تطبیق نکردن: اگر نقد پایان دوره هفته روی Actuals با مانده بانکی ترکیبی واقعی شما (جاری + پس‌انداز؛ مانده‌های کارتی خارج) مطابقت ندارد، یک خطای نگاشت دارید — معمولاً یک هزینه کارت شمرده‌شده یا یک انتقال نگه‌داشته‌شده. باید پیش از اعتماد به پیش‌بینی آن را برطرف کنید.
  • بدون مالک مشخص: یک نفر را مسئول به‌روزرسانی پیش‌بینی در هر هفته کنید. یک جانشین برای تعطیلات تعیین کنید.

اتصالات سریع Beancount​

  • جدول حساب‌ها: سطل‌های نقدی خود را تمیز نگه دارید (مثلاً Assets:Bank:Checking، Assets:Bank:Savings، Liabilities:CreditCard:Amex). مبالغ واقعی هفتگی فقط پایه‌های Assets:Bank:* هستند — حساب کارت وجود دارد تا تسویه‌ها جایی برای آمدن داشته باشند، نه به‌عنوان منبع دوم خروج‌ها.
  • صورت سود و زیان را به‌عنوان بررسی استفاده نکنید: صورت سود و زیان Fava تعهدی است — خریدهای کارتی را هنگام هزینه شدن ثبت می‌کند و اصل وام را نادیده می‌گیرد — بنابراین طبق طراحی با این پیش‌بینی نقدی اختلاف خواهد داشت. بررسی نقد، صادرات bean-query + جلو آوردن بالا است (yarn check:cash-flow-actuals)، که باید هر هفته به نقد پایان دوره گره بخورد.
  • مستندسازی: وقتی یک قلم یک‌باره بزرگ دارید، PDF صورتحساب را در پوشه documents/ Beancount خود پیوست کنید و در ستون یادداشت‌های پیش‌بینی به آن پیوند دهید.

بسته هیئت‌مدیره/سرمایه‌گذار (یک اسلاید)​

  1. نمودار: یک نمودار خطی ساده از نقد پایان دوره شما به‌صورت هفتگی برای تمام ۱۳ هفته. یک خط افقی نمایانگر کف حداقل نقدینگی خود اضافه کنید.
  2. جدول: یک جدول کوچک که اعداد نقد پایان دوره W1–W13 را نشان می‌دهد، به‌همراه فهرست گلوله‌ای ۵ ورودی و خروجی بزرگ‌ترین مورد انتظار در فصل.
  3. یادداشت‌ها: چند نکته گلوله‌ای درباره فرض‌های کلیدی که از آخرین به‌روزرسانی تغییر کرده‌اند و هر محرکی که به آن رسیده‌اید یا انتظار رسیدن دارید.

حسابداری قابل اعتمادی راه‌اندازی کنید

همین حالا یک دفتر حساب رایگان بسازید؛ یا وقتی به توضیح بیشتری نیاز دارید، از راهنمای استارتاپ و جامعه بنیان‌گذاران کمک بگیرید.