از بنیانگذار یک شرکت حسابرسی کد بپرسید مدل درآمدیشان چیست، و معمولاً یک مکث سردرگم خواهید شنید قبل از اینکه بگوید "خوب... هر دو؟" یک فروشگاه حسابرسی تحلیل ایستا به ندرت یک مسیر را انتخاب میکند. یک مشتری ۶,۵۰۰ دلار برای یک بررسی ایستای دو هفتهای یک اپلیکیشن قدیمی Rails پرداخت میکند. مشتری دیگر ۴۰ دلار به ازای هر توسعهدهنده در ماه برای یک اشتراک SAST مداوم که شرکت بازفروش و پیکربندی میکند، میپردازد. سومی نرخ سفارشی برای یک "بسته حسابرسی کامل" پرداخت میکند که تحلیل ایستا، تست پویا و کار اصلاحی را که به صورت ساعتی صورتحساب میشود ترکیب میکند. سه معامله، سه قانون شناسایی درآمد متفاوت و یک نمودار حسابها که معمولاً برای تشخیص آنها ساخته نشده است.
این یک شکل واقعاً رایج برای کسبوکارهای خدمات فنی در حال حاضر است: شرکتهای مشاوره امنیت و کیفیت کد که به عنوان فروشگاههای قراردادی خالص شروع کردند، به طور فزایندهای ابزارهای SAST (تست امنیت برنامههای استاتیک) را در کنار کار حسابرسی خود بازفروش یا برچسب سفید میکنند، زیرا مشتریان هم یک نظر یکباره و هم یک اسکنر مداوم در CI میخواهند. مشکل حسابداری که این ایجاد میکند به اندازهای خاص است که بیشتر توصیههای عمومی "شرکت مشاوره" از آن عبور میکنند.
سه جریان درآمدی که در یک کسبوکار پنهان شدهاند
قبل از اینکه بتوانید چیزی را به درستی ثبت کنید، باید آنچه را که واقعاً میفروشید جدا کنید، زیرا هر کدام رفتار متفاوتی در دفاتر دارند.
۱. حسابرسی ایستا (دامنه ثابت، نقطه-زمانی). یک بررسی کد منبع — پایبندی به استانداردها، بررسیهای وابستگی و خط لوله CI/CD، بررسی معماری — معمولاً در محدوده ۵,۰۰۰ تا ۸,۰۰۰ دلار برای یک دامنه تعریفشده قیمتگذاری میشود. این یک تحویلی مجزا است: یک گزارش، که در یک تاریخ تحویل داده میشود، با یک پایان تعریفشده.
۲. حسابرسی پویا و بستههای حسابرسی کامل (دامنه ثابت یا ساعتی، اغلب مبتنی بر نقطه عطف). تست رفتار سیستم تحت بار یا شرایط خصمانه بین ۸,۰۰۰ تا ۱۶,۰۰۰ دلار اجرا میشود، و یک "بسته حسابرسی کامل" ترکیبی از ایستا-پویا-اصلاح معمولاً سفارشی نقلقول و بر اساس نقاط عطف یا ساعتها صورتحساب میشود. ارشدیت حسابرس، اندازه پایگاه کد و کیفیت مستندات، دامنه نظارتی (حسابرسیهای بهداشت و درمان و مالی نیاز به ردیابی عمیقتر داده و تأیید مجوز دارند) و فشار زمانبندی همگی قیمت را تغییر میدهند — یعنی دو حسابرسی با یک برچسب میتوانند ساختارهای هزینه کاملاً متفاوتی در زیر داشته باشند.
۳. اشتراکهای SAST (تکرارشونده، بازفروششده یا حاشیه فروشنده). سمت ابزاری این بازار حول قیمتگذاری SaaS بهازای-صندلی تثبیت شده است: پلتفرمهای گستردهای که SAST، SCA، اسکن اسرار و بررسیهای IaC را بستهبندی میکنند از حدود ۱۵ تا ۲۰ دلار به ازای هر کاربر در ماه شروع میشوند، ابزارهای نقطهای برای یک قابلیت واحد در محدوده ۱۰ تا ۱۵ دلار به ازای هر کاربر قرار دارند و قراردادهای سازمانی از فروشندگان بزرگ میتوانند بیش از ۱۰۰,۰۰۰ دلار در سال برای چند صد برنامه باشند. هنگامی که یک شرکت حسابرسی یکی از این پلتفرمها را بازفروش یا بستهبندی میکند — آن را پیکربندی میکند، قوانین مثبت کاذب را تنظیم میکند و حاشیهای بر اشتراک میگیرد — آن درآمد تکرارشونده است، نه مبتنی بر پروژه، و ممکن است یا نباشد درآمد شما بسته به اینکه به عنوان اصلی یا نماینده در قرارداد عمل میکنید.
جمع کردن هر سه در "درآمد مشاوره" دقیقاً همان راهی است که یک صورت سود و زیان از گفتن چیز مفیدی درباره کسبوکار بازمیماند.
چرا شناسایی درآمد واقعاً متفاوت است
طبق ASC 606 (یا معادلهای بینالمللی نزدیک آن)، سؤال حسابداری این است که کنترل کالا یا خدمات وعدهدادهشده چه زمانی به مشتری منتقل میشود — و پاسخ برای هر یک از جریانهای بالا متفاوت است.
- یک حسابرسی ایستا یا پویای دامنه ثابت معمولاً نقطه-زمانی شناسایی میشود، زمانی که گزارش تحویل و پذیرفته میشود — یا، اگر بر اساس نقاط عطف صورتحساب شود، با تکمیل هر نقطه عطف شناسایی میشود. اگر ۵۰٪ پیشپرداخت و ۵۰٪ هنگام تحویل صورتحساب میکنید، سپرده یک بدهی است (درآمد تحققنیافته) تا زمانی که گزارش ارسال شود، نه درآمد در روزی که چک وصول میشود.
- کار اصلاحی و پیادهسازی ساعتی بهمحض انجام ساعتها شناسایی میشود، یعنی به مکانیزمی برای زمان صورتحسابنشده نیاز دارید — کاری که در یک دوره انجام شده اما هنوز صورتحساب نشده است — تا به عنوان یک دارایی (مطالبات صورتنگرفته / کار در جریان) ظاهر شود تا اینکه تا تاریخ صورتحساب ناپدید شود. این رایجترین تحریف در حسابداری مبتنی بر پروژه است: یک شرکت در ماه صورتحساب بیسود به نظر میرسد و ماه بعد به شدت سودآور، صرفاً به دلیل تأخیر صورتحساب، نه به دلیل تغییر کار اصلی.
- یک اشتراک SAST بازفروششده به صورت اقساطی در طول مدت اشتراک شناسایی میشود — ماهانه یا سالانه، مطابق با دورهای که مشتری واقعاً به ابزار دسترسی دارد. اگر شما فروشنده هستید و به عنوان یک نماینده (ترتیب دادن برای ارائه نرمافزار توسط فروشنده) عمل میکنید نه اصلی (قول دادن به ارائه خود نرمافزار)، باید فقط حاشیه خود را شناسایی کنید، نه قیمت ناخالص اشتراک — ثبت مبلغ کامل عبوری به عنوان درآمد زمانی که از نظر اقتصادی فقط یک مجرای صورتحساب هستید، خط بالای شما را بیش از حد نشان میدهد و درصد حاشیه واقعی شما را اشتباه بیان میکند.
درست گرفتن فراخوان اصلی-در-مقابل-نماینده فراتر از صحت GAAP اهمیت دارد: این تفاوت بین یک صورت سود و زیان است که ۱۸۰,۰۰۰ دلار درآمد اشتراک با حاشیه ۸٪ نشان میدهد و یکی که به درستی ۱۴,۴۰۰ دلار درآمد کمیسیون با حاشیه ۱۰۰٪ نشان میدهد. وامدهندگان، بیمهگران و هر کسی که یک چندبرابر ارزشگذاری بر روی اعداد شما میسازد، آن دو صورت سود و زیان را بسیار متفاوت میخوانند — و فقط یکی از آنها به حقیقت نزدیک است.
نمودار حسابهای عملی
یک شرکت حسابرسی کد که هر سه جریان درآمدی را اجرا میکند، از تقسیم درآمد (و اغلب بهای تمام شده کالای فروخته شده) در سطح حساب سود میبرد، نه فقط برچسبگذاری در یک صفحه گسترده پس از واقعیت:
Income:Audits:StaticIncome:Audits:DynamicIncome:Consulting:Remediation(ساعتی)Income:Subscriptions:SAST-Margin(فقط کمیسیون/حاشیه شما، اگر نماینده هستید)Income:Subscriptions:SAST-Gross(اگر اصلی هستید و کل قرارداد را بازفروش میکنید)Liabilities:UnearnedRevenue:AuditsAssets:UnbilledReceivables:Consulting
اینجاست که حسابداری متنساده و کنترلنسخه برای یک شرکت خدمات فنی ارزش خود را نشان میدهد — همان مهندسانی که قوانین SAST را برای مشتریان پیکربندی میکنند معمولاً با مرور یک تفاوت دفتر کل .beancount راحت هستند، و یک تاریخچه Git از دفترهایتان همان حسابرسیپذیری را به شما میدهد که به مشتریان خود میفروشید. برای یک فروشگاه حسابرسی کد کمی بیش از حد واضح است که سوابق مالی خود را در قالبی مبهم و غیرقابل تفاوت نگه دارد.
جایی که شرکتها واقعاً این را اشتباه میگیرند
چند الگو به طور مکرر در این مدل کسبوکار ظاهر میشود:
۱. ثبت فوری سپردههای اشتراک به عنوان درآمد. اگر مشتری برای یک مجوز سالانه SAST که بازفروش میکنید پیشپرداخت کند، آن وجه نقد یک بدهی است تا زمانی که دوره پوشش سپری شود — شناسایی همه آن در ماه اول، سهماههای را که در آن قرار دارد بیش از حد نشان میدهد و هر سهماهه بعدی را کمتر نشان میدهد. ۲. هرگز ردیابی ساعتهای صورتحسابنشده. کار اصلاحی ساعتی که نزدیک پایان ماه انجام شده اما ماه بعد صورتحساب میشود، باید همچنان به عنوان یک دارایی در دوره صحیح ظاهر شود، در غیر این صورت حاشیههای شما طوری به نظر میرسد که بدون دلیل عملیاتی به شدت در نوسان هستند. ۳. درمان عبوری فروشنده به عنوان درآمد ناخالص. همانطور که در بالا گفته شد — این اعداد خط بالا را به روشی متورم میکند که خوب به نظر میرسد تا زمانی که تیم دقت سنجی خریدار (به طرز متناقضی، همان نوع دقت فنی سنجی را که شرکت شما میفروشد انجام میدهد) آن را باز کند و کسبوکار را دوباره رتبهبندی کند. ۴. بدون ردیابی جداگانه برای قراردادهای صنعت تنظیمشده. حسابرسیهای بهداشت و درمان و خدمات مالی دارای دامنه (ردیابی داده، تأیید کنترل دسترسی) و معمولاً ریسک بدهی بیشتری هستند — اگر دفترهای شما آن درآمد و هزینه مرتبط با آن را جدا نکند، نمیتوانید بگویید آیا قراردادهای سنگین انطباق شما نسبت به بررسیهای ایستای عمومی شما واقعاً سودآور هستند یا خیر.
یک مثال عملی: یک فاکتور، سه ثبت متفاوت
فرض کنید شرکت شما در ماه مارس با یک مشتری برای یک حسابرسی ایستا ۷,۰۰۰ دلاری (۵۰٪ سپرده، ۵۰٪ هنگام تحویل)، ۲۰ ساعت اصلاح ساعتی با نرخ ۱۷۵ دلار در ساعت که در آوریل صورتحساب میشود، و یک اشتراک SAST بازفروششده با نرخ ۱۸ دلار به ازای هر صندلی در ماه برای تیم ۴۰ توسعهدهندهای آنها قرارداد امضا میکند، جایی که شرکت شما حاشیه ۴ دلار به ازای هر صندلی را نگه میدارد و مابقی را به فروشنده منتقل میکند.
- سپرده مارس (۳,۵۰۰ دلار): بدهکار وجه نقد، بستانکار
Liabilities:UnearnedRevenue:Audits. هنوز درآمدی وجود ندارد — شما گزارش را تحویل ندادهاید. - تحویل گزارش آوریل: بدهکار
Liabilities:UnearnedRevenue:Auditsو ۳,۵۰۰ دلار دریافتی باقیمانده، بستانکارIncome:Audits:Staticبرای کل ۷,۰۰۰ دلار. درآمد در ماهی که کار واقعاً پذیرفته شده است قرار میگیرد، نه ماهی که هر یک از چکها وصول شده است. - ساعتهای اصلاح مارس (کار انجام شده اما هنوز صورتحساب نشده): اگر ۸ ساعت از ۲۰ ساعت در مارس انجام شده اما فاکتور در آوریل ارسال میشود، در مارس
Assets:UnbilledReceivables:Consultingرا بدهکار وIncome:Consulting:Remediationرا برای آن ۸ ساعت (۱,۴۰۰ دلار) بستانکار کنید؛ ۱۲ ساعت باقیمانده (۲,۱۰۰ دلار) به طور عادی در آوریل زمانی که هم کار و هم فاکتور در یک ماه قرار میگیرند ثبت میشود. - اشتراک ماهانه SAST: اگر به عنوان نماینده عمل میکنید، فقط حاشیه ماهانه ۱۶۰ دلار (۴۰ صندلی × ۴ دلار) به
Income:Subscriptions:SAST-Marginثبت میشود؛ مبلغ عبوری ۷۲۰ دلار (۴۰ × ۱۸) از طریق یک حساب تسویه علیه آنچه به فروشنده بدهکارید حرکت میکند و هرگز صورت سود و زیان شما را لمس نمیکند. اگر قرارداد شما در عوض شما را اصلی میکند — شما طرفی هستید که نرمافزار را به مشتری وعده میدهید، حتی اگر یک فروشنده آن را در پشت صحنه تحویل دهد — کل ۷۲۰ دلار به عنوان درآمد با هزینه فروشنده ۵۶۰ دلاری ثبت شده به عنوان بهای تمام شده کالای فروخته شده شناسایی میشود، که به خط پایانی مشابه اما اعداد خط بالای بسیار متفاوت (و، اگر اصلی نیستید، به طور مادی گمراهکننده) منجر میشود.
سه تراکنش، سه قانون زمانبندی متفاوت، و — به طور بحرانی — دومی دلیلی است که بسیاری از فروشگاههای حسابرسی کوچک به نظر میرسد که آوریل سختی داشتهاند در حالی که هیچ چیز درباره کسبوکار واقعاً تغییر نکرده است. ورودی ساعتهای صورتحسابنشده چیزی است که اعداد مارس را صادق نگه میدارد.
چرا این بیشتر از گذشته اهمیت دارد
تقاضا برای خدمات اساسی به دلیلی در حال رشد است که قابل ذکر است: خریدارانی که دقت فنی سنجی انجام میدهند به طور فزایندهای کد و وضعیت امنیتی را به عنوان مادی برای شرایط معامله تلقی میکنند، نه یک تشریفات — یافتههای فنی معمولاً بحثهای ارزشگذاری را ۱۵ تا ۳۰٪ جابجا میکنند، و سهم معناداری از همافزاییهای معامله مورد انتظار اکنون به کیفیت یکپارچهسازی بستگی دارد که یک حسابرسی کد چیزی است که در واقع قبل از بسته شدن آشکار میکند. اگر شرکت شما روزی خریداری، بازسرمایهگذاری یا به یک خط لوله دقت سنجی بزرگتر وارد شود، اولین کاری که تیم مالی خریدار انجام خواهد داد دقیقاً همان کاری است که تیم حسابرسی شما با پایگاههای کد مشتری انجام میدهد: دفتر کل را از هم جدا کنید و بررسی کنید که آیا اعداد تحت بررسی دقیق مقاومت میکنند. یک کسبوکار با نمودار حسابهایی که از قبل درآمد هزینه ثابت، ساعتی و حاشیه اشتراک را جدا میکند، در عرض چند دقیقه به جای چند هفته به آن سؤال پاسخ میدهد.
دفترهای خود را به اندازه کدی که حسابرسی میکنید تمیز نگه دارید
اجرای یک کسبوکار ترکیبی حسابرسی-و-اشتراک به این معنی است که شناسایی درآمد شما سه قانون متفاوت دارد که زیر یک سقف زندگی میکنند، و صفحات گسترده به ندرت آن تمایز را به طور مداوم در طول زمان اعمال میکنند. Beancount.io حسابداری متنسادهای را ارائه میدهد که شفاف، کنترلنسخه و به راحتی قابل تفاوت است — یک تناسب طبیعی برای یک تیم فنی که از قبل بر حسب تاریخچه قابل حسابرسی فکر میکند. به صورت رایگان شروع کنید و سوابق مالی خود را به اندازه حسابرسیهایی که میفروشید دقیق نگه دارید.