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

چگونه صورتحساب، اشتراک‌ها و صدور فاکتور Stripe را بدون شمارش مضاعف درآمد برای شرکت‌های SaaS تطبیق دهیم

منتشر شده زمان مطالعه 10 دقیقهMike ThriftMike Thrift
چگونه صورتحساب، اشتراک‌ها و صدور فاکتور Stripe را بدون شمارش مضاعف درآمد برای شرکت‌های SaaS تطبیق دهیم
فهرست مطالب این صفحه

داشبورد Stripe شما می‌گوید ماه گذشته ۴۸٬۰۰۰ دلار جمع‌آوری کرده‌اید. صورت سود و زیان شما می‌گوید ۵۲٬۰۰۰ دلار. حساب بانکی شما واریزهایی به مجموع ۴۱٬۰۰۰ دلار نشان می‌دهد. هر سه عدد از همان مشتریانی آمده‌اند که همان فاکتورها را پرداخت کرده‌اند — پس کدام یک درآمد واقعی شماست؟

اگر یک شرکت SaaS را روی Stripe Billing اداره می‌کنید، این ناهمخوانی سه‌عددی یک اشکال در ابزارهای شما نیست. این نتیجه قابل پیش‌بینی یک رویداد اقتصادی است — پرداخت مشتری برای یک اشتراک — که در چهار جای مختلف ظاهر می‌شود: اشتراک، فاکتور، پرداخت و پرداخت نهایی (payout). اگر بیش از یکی از این‌ها را به‌عنوان درآمد ثبت کنید، شمارش مضاعف کرده‌اید. اگر مورد اشتباه را ثبت کنید، مالیات‌ها، معیارها و هر ارزیابی سرسختانه آینده‌تان همه بر اعدادی متورم استوار می‌شوند.

این راهنما دقیقاً نشان می‌دهد که هر شیء Stripe کجا در دفاتر شما جای می‌گیرد، سه تله شمارش مضاعف که بیشتر بنیان‌گذاران SaaS را گرفتار می‌کند، و یک گردش‌کار حساب تسویه که بستن ماهانه شما را تا ریال/سنت تطبیق می‌دهد.

چرا Stripe شمارش مضاعف را این‌قدر آسان می‌کند​

صدور فاکتور سنتی به شما یک سند برای هر فروش می‌دهد: یک فاکتور. Stripe Billing برای همان پول زنجیره‌ای از اشیاء مرتبط به هم به شما می‌دهد:

۱. اشتراک — توافق دوره‌ای (طرح ۹۹ دلار در ماه شما). ۲. فاکتور — صورتحسابی که Stripe هر دوره تولید می‌کند، شامل تناسبات (prorations)، اعتبارات و مالیات. ۳. پرداخت (charge) — حرکت واقعی پول در برابر آن فاکتور. ۴. پرداخت نهایی (payout) — واریز بانکی دسته‌ای که Stripe پس از کسر کارمزدها، بازپرداخت‌ها و تعدیلات برای شما می‌فرستد.

هر شیء داشبورد خودش، گزارش خودش و مجموع خودش را دارد. بنیان‌گذاری که «مجموع فاکتورها» را برای درآمد جمع می‌زند و سپس «واریزهای payout» را هم به‌عنوان درآمد ثبت می‌کند، همان دلارها را دو بار ثبت کرده است. پیش‌پرداخت‌های سالانه را اضافه کنید — یک فاکتور ۱۲٬۰۰۰ دلاری امروز برای دوازده ماه خدمت — و تفکر بر مبنای نقدی یک سال کامل درآمد را در ژانویه ثبت می‌کند.

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

تله ۱: ثبت فاکتورها و پرداخت‌های نهایی به‌عنوان درآمد​

این رایج‌ترین شمارش مضاعف در حسابداری SaaS است. نشانه آن بی‌اشتباه است: درآمد در صورت سود و زیان شما تقریباً برابر مجموع فاکتورها به‌علاوه واریزهای بانکی است، و دفاتر شما رشدی را نشان می‌دهند که موجودی بانکی شما هرگز تأیید نمی‌کند.

آنچه واقعاً وقتی مشتری یک فاکتور ماهانه ۱٬۰۰۰ دلاری را پرداخت می‌کند رخ می‌دهد این است:

  • Stripe یک فاکتور ۱٬۰۰۰ دلاری ایجاد می‌کند و یک پرداخت ۱٬۰۰۰ دلاری جمع‌آوری می‌کند.
  • Stripe کارمزد پردازش خود را (مثلاً ۳۰.۳۰ دلار) و هر بازپرداختی را کسر می‌کند.
  • چند روز بعد، Stripe موجودی قابل استفاده شما را در یک واریز payout دسته‌بندی می‌کند.

فاکتور و payout دو نمای همان ۱٬۰۰۰ دلار هستند — نه ۱٬۰۰۰ دلار درآمد به‌علاوه ۹۷۰ دلار درآمد دیگر. رفتار صحیح:

  • ۱٬۰۰۰ دلار درآمد ناخالص را یک‌بار، هنگامی که فاکتور پرداخت می‌شود (یا برای حسابداری تعهدی، کسب می‌شود)، ثبت کنید.
  • کارمزد ۳۰.۳۰ دلاری را به‌عنوان هزینه پردازش ثبت کنید، نه به‌عنوان کاهش درآمد.
  • payout را به‌عنوان یک انتقال از موجودی تسویه Stripe شما به حساب بانکی‌تان ثبت کنید — هرگز به‌عنوان درآمد.

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

راه‌حل حساب تسویه​

با Stripe مانند حساب بانکی کوچک خودش رفتار کنید — یک حساب تسویه — در نمودار حساب‌های خود. هر رویداد Stripe ابتدا آنجا فرود می‌آید:

۱. پرداخت مشتری موفق می‌شود: بدهکار حساب تسویه Stripe ۱٬۰۰۰ دلار، بستانکار درآمد (یا درآمد معوق، که در ادامه پوشش داده می‌شود) ۱٬۰۰۰ دلار. ۲. Stripe کارمزدش را می‌گیرد: بدهکار هزینه کارمزد پردازش ۳۰.۳۰ دلار، بستانکار حساب تسویه Stripe ۳۰.۳۰ دلار. ۳. بازپرداخت صادر می‌شود: بدهکار بازپرداخت‌ها (ضددرآمد) و بستانکار حساب تسویه Stripe. ۴. Payout به بانک شما می‌رسد: بدهکار حساب بانکی شما، بستانکار حساب تسویه Stripe به میزان مبلغ payout.

پس از ثبت payout، حساب تسویه باید تنها موجودی تسویه‌نشده Stripe شما را نگه دارد. اگر ماه به ماه باقی‌مانده رشدیابنده‌ای حمل کند، چیزی — معمولاً یک بازپرداخت ثبت‌نشده یا یک کارمزد از قلم‌افتاده — در حال نشت است. آن باقی‌مانده سیگنال هشدار اولیه شماست، و دلیل وجود حساب تسویه همین است.

تله ۲: شناسایی پیش‌پرداخت‌های سالانه یک‌جا​

مشتری ۱۲٬۰۰۰ دلار را پیش‌پرداخت برای یک طرح سالانه پرداخت می‌کند. تحت حسابداری نقدی ممکن است آن را ۱۲٬۰۰۰ دلار درآمد ژانویه بنامید. تحت حسابداری تعهدی — که سرمایه‌گذاران، وام‌دهندگان و GAAP همه انتظار دارند — شما یک ماه خدمت کسب کرده‌اید و یازده ماه دیگر بدهکارید.

رفتار صحیح شناسایی را در سراسر دوره خدمت توزیع می‌کند:

  • هنگام پرداخت: بدهکار حساب تسویه Stripe ۱۲٬۰۰۰ دلار، بستانکار درآمد معوق (یک بدهی) ۱۲٬۰۰۰ دلار. هنوز هیچ درآمدی نیست.
  • هر ماه: بدهکار درآمد معوق ۱٬۰۰۰ دلار، بستانکار درآمد اشتراک ۱٬۰۰۰ دلار.

ثبت کل فاکتور به‌عنوان درآمد در ماه اول سود ژانویه را ۱۱٬۰۰۰ دلار بیش‌نمایی و یازده ماه بعد را کم‌نمایی می‌کند. همچنین معیارهایی را که خریداران واقعاً underwriter می‌کنند خراب می‌کند: درآمد دوره‌ای ماهانه، حفظ درآمد خالص و موجودی‌های درآمد معوق همه از درآمد کسب‌شده مشتق می‌شوند، نه از پول جمع‌آوری‌شده.

تناسبات، ارتقاءها و تغییرات میان‌دوره​

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

کوپن‌ها و اعتبارات مشتری سزاوار همان دقت هستند. یک کوپن ۲۰٪ یعنی درآمد ناخالص ۸۰۰ دلار در یک فاکتور با قیمت فهرست ۱٬۰۰۰ دلاری — نه ۱٬۰۰۰ دلار درآمد به‌علاوه ۲۰۰ دلار هزینه بازاریابی. آنچه واقعاً کسب کرده‌اید را ثبت کنید.

تله ۳: شماردن بازپرداخت‌ها، اختلافات و اعتبارات به‌عنوان هزینه‌های جدید — یا نادیده گرفتن آن‌ها​

بازپرداخت‌ها درآمد را کاهش می‌دهند؛ آن‌ها یک هزینه عملیاتی جداگانه نیستند، و قطعاً نامرئی نیستند. وقتی یک فاکتور ۵۰۰ دلاری را بازپرداخت می‌کنید:

  • بدهکار بازپرداخت‌ها (یک حساب ضددرآمد که در برابر درآمد ناخالص قرار می‌گیرد) ۵۰۰ دلار.
  • بستانکار حساب تسویه Stripe ۵۰۰ دلار.

چرا ضددرآمد به‌جای هزینه؟ چون درآمد ناخالص منهای بازپرداخت‌ها برابر درآمد خالص است — عددی که اظهارنامه مالیاتی، اسلاید هیئت‌مدیره و اقتصاد واحد شما همه می‌خواهند. دفن کردن بازپرداخت‌ها در هزینه‌های عمومی هم خط بالای شما و هم ساختار هزینه‌تان را متورم می‌کند و تحلیل نرخ بازپرداخت را غیرممکن می‌سازد.

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

چک‌لیست تطبیق ماهانه Stripe شما​

پس از پایان ماه یک ساعت کنار بگذارید و این فهرست را به ترتیب کار کنید. هر گام دسته متفاوتی از خطا را می‌گیرد:

۱. گزارش تطبیق payout را بیرون بکشید. برای هر payout واریزشده در ماه، تأیید کنید که هزینه‌های ناخالص منهای کارمزدها، بازپرداخت‌ها و تعدیلات برابر واریز بانکی تا ریال/سنت است. ۲. حساب تسویه را تطبیق دهید. موجودی پایانی آن باید برابر موجودی تسویه‌نشده Stripe شما باشد (پرداخت‌های در انتظار به‌علاوه هر نگه‌داشت ذخیره). هر باقی‌مانده دیگری را قبل از بستن بررسی کنید. ۳. درآمد معوق را به جلو بچرخانید. موجودی ابتدایی به‌علاوه پیش‌پرداخت‌های جدید منهای درآمد شناسایی‌شده باید برابر موجودی پایانی باشد، و موجودی پایانی باید به مجموع ارزش اشتراک کسب‌نشده در Stripe گره بخورد. ۴. فاکتورها را با درآمد شناسایی‌شده تطبیق دهید. کل درآمد اشتراک شناسایی‌شده برای ماه باید با اقلام خط فاکتور کسب‌شده — پس از کوپن‌ها، اعتبارات و تناسبات — تطبیق یابد، نه با پول جمع‌آوری‌شده. ۵. بازپرداخت‌ها و اختلافات را تسویه کنید. هر بازپرداخت در Stripe باید در ضددرآمد ظاهر شود؛ هر اختلاف باز باید در حساب نگه‌داری خود بنشیند، نه در درآمد شناسایی‌شده. ۶. چند-ارزی و مالیات را بررسی کنید. اگر به چند ارز صورتحساب می‌دهید، تأیید کنید که سود و زیان تبدیل جدا از درآمد ثبت می‌شوند. تأیید کنید که مالیات فروش و مالیات بر ارزش افزوده جمع‌آوری‌شده در یک بدهی مالیات قابل پرداخت می‌نشینند، هرگز در درآمد.

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

گزارش‌ها و خودکارسازی که کار سنگین را انجام می‌دهند​

لازم نیست این گردش‌کار را از صفحات گسترده بسازید. پشته گزارش‌دهی خود Stripe مستقیماً روی چک‌لیست نقشه‌برداری می‌شود:

  • گزارش‌های تطبیق payout هر charge، بازپرداخت، کارمزد و تعدیل را درون هر واریز بانکی فهرست می‌کنند — سندی که حسابدار شما واقعاً می‌خواهد.
  • تراکنش‌های موجودی (balance transactions) دفتر کل تغییرناپذیر هر سنتی است که از Stripe عبور کرده. چون Stripe هرگز یک تراکنش موجودی را پس از ایجاد تغییر نمی‌دهد، آن‌ها منبع حقیقت برای یک بستن هستند، نه chargeها یا فاکتورها.
  • گزارش‌های شناسایی درآمد چرخش رو به جلوی درآمد معوق را تحت ASC 606 و IFRS 15 خودکار می‌کنند و اشتراک‌ها و فاکتورها را به ورودی‌های دفتر روزانه آماده حسابرسی تبدیل می‌کنند.

برای خودکارسازی مستمر، یکپارچه‌سازی‌های حسابداری می‌توانند فروش ناخالص، کارمزدها و بازپرداخت‌ها را شبانه به یک حساب تسویه ثبت کنند، و webhookها روی رویدادهای payout می‌توانند تطبیق همان‌روز را راه بیندازند. حتی با خودکارسازی، چک‌لیست ماهانه را نگه دارید: نرم‌افزار آنچه به آن گفته شده را ثبت می‌کند، و یک نقشه‌برداری ردشده تا زمانی که کسی تطبیق نکند بی‌صدا شکست می‌خورد.

درآمد اشتراک را از روز اول تمیز نگه دارید​

Stripe Billing به‌طور خاص نسبت به دفاتر شلخته بی‌رحم است چون هر دلار در جاهای بسیار زیادی ظاهر می‌شود — اشتراک، فاکتور، پرداخت، payout — هر یک فرصتی تازه برای شمردن دوباره آن. بنیان‌گذارانی که یک حساب تسویه راه‌اندازی می‌کنند، درآمد پیش‌پرداخت را در طول زمان شناسایی می‌کنند و ماهانه تطبیق می‌دهند، مشکلات را زمانی می‌گیرند که اصلاح‌های یک‌خطی هستند نه پروژه‌های پاکسازی در حد بازنگری صورت‌های مالی در طول جذب سرمایه یا ارزیابی سرسختانه ادغام و اکتساب.

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

منبع: https://beancount.io/fa/blog/2026/10/11/reconcile-stripe-billing-subscriptions-invoicing-double-counting-saas-guide

منتشر شده: ۱۹ مهر ۱۴۰۵

زمان مطالعه 10 دقیقه

چگونه پرداخت‌های Stripe را وقتی سالانه صورت‌حساب می‌کنید اما ماهانه شناسایی می‌کنید، تطبیق دهید

پرداخت‌های Stripe انتقال نقدی خالص هستند، نه درآمد — پیش‌پرداخت‌های سالانه را…

saas
reconciliation
زمان مطالعه 20 دقیقه

میکرو-SaaS و حسابداری API: صورتحساب مبتنی بر مصرف، تطبیق پردازشگر پرداخت، و چرا حاشیه سود ۷۰٪ همچنان به دفتر واقعی نیاز دارد

کسب‌وکارهای میکرو-SaaS و API با حاشیه سود ناخالص ۷۰٪ یا بیشتر همچنان به…

saas
bookkeeping
زمان مطالعه 10 دقیقه

Stripe Billing در برابر Chargebee در برابر Recurly: انتخاب پلتفرم اشتراک SaaS شما

Stripe Billing برای تیم‌های SaaS توسعه‌محور با MRR کمتر از حدود ۵۰۰ هزار دلار…

payments
fintech
زمان مطالعه 16 دقیقه

رزروها، صورتحساب‌ها و درآمد: مثلث مغایرت‌گیری SaaS

نحوه مغایرت‌گیری رزروها، صورتحساب‌ها و درآمد شناسایی‌شده تحت استاندارد ASC 606…

saas
revenue-recognition
زمان مطالعه 12 دقیقه

تطبیق صورتحساب اشتراک و حسابداری ریزش مشتری: مهار ارتقاها، تنزل‌ها و تقسیم‌های میان‌دوره‌ای

ارتقاها و تنزل‌ها درآمد آینده را بازتخصیص می‌دهند، نه گذشته را — هر ماه…

saas
revenue-recognition