بیست دلار در ماه زیاد به نظر نمیرسد تا زمانی که آن را در طول دوران فریلنسری خود ضرب کنید. با ۲۰ دلار در ماه، یک اشتراک استاندارد صدور فاکتور سالانه ۲۴۰ دلار برای شما هزینه دارد — و در طول شش سال فریلنسری، این ۱٬۴۴۰ دلار است برای این امتیاز که PDF بفرستید و پول بگیرید. در همین حال، یک سرور خصوصی مجازی کوچک حدود ۵ دلار در ماه اجاره میشود، و بهترین نرمافزار خودمیزبان صدور فاکتور رایگان است.
پس آیا باید اشتراک را لغو کنید و خودتان میزبان صدور فاکتورتان باشید؟ برای یک فریلنسر فنی، پاسخ صادقانه این است: احتمالاً بله، اما فقط اگر نرمافزاری انتخاب کنید که نگهداری میشود و ماهی یک ساعت برای نگهداری وقت بگذارید. این راهنما سه نامی را که مدام با آنها مواجه خواهید شد بررسی میکند — Invoice Ninja، Crater و InvoicePlane — اینکه هزینه واقعی اجرای هر کدام چقدر است، چه نگهداریای را میپذیرید، و چه زمانی ماندن روی نرمافزار میزبانیشده انتخاب هوشمندانهتری است.
حسابوکتاب واقعی: اشتراک در مقابل خودمیزبان
با آنچه اکنون برای صدور فاکتور میزبانیشده میپردازید، یا میپرداختید، شروع کنید:
- FreshBooks از ۲۱ دلار در ماه با صورتحساب ماهانه (۱۷ دلار در ماه در طرح سالانه) برای سطح ابتدایی خود شروع میشود، و امکانات حسابداری کاملتر در طرح Plus با ۳۸ دلار در ماه ارائه میشود.
- QuickBooks Solopreneur ماهی ۲۰ دلار هزینه دارد و مستقیماً کسبوکارهای تکنفره را هدف گرفته که در کنار صدور فاکتور، دستهبندی مالیاتی و آمادهسازی فرم Schedule C میخواهند.
- سرویس میزبانیشده خود Invoice Ninja یک سطح واقعاً رایگان ارائه میدهد (تا ۵ مشتری با فاکتورهای نامحدود)، با طرحهای پولی ۱۴ و ۱۸ دلار در ماه.
حالا سمت خودمیزبان:
- یک VPS کوچک از یک ارائهدهنده سرشناس حدود ۵ دلار در ماه، یا حدود ۶۰ دلار در سال هزینه دارد.
- نسخه خودمیزبان Invoice Ninja رایگان است و ویژگیهای Pro و Enterprise را شامل میشود؛ مجوز اختیاری وایتلیبل که برند Invoice Ninja را از صفحات روبهمشتری حذف میکند، ۴۰ دلار در سال هزینه دارد.
- InvoicePlane رایگان است و هیچ سطح پولی ندارد.
بنابراین مقایسه واقعبینانه حدود ۲۴۰ دلار در سال برای یک اشتراک معمول SaaS در مقابل حدود ۶۰ تا ۱۰۰ دلار در سال خودمیزبان است. شما تقریباً ۱۵۰ دلار در سال صرفهجویی میکنید — قابل توجه، اما نه زندگیساز. دلایل قویتر برای خودمیزبانی، کنترل بر دادههای مشتریانتان، رهایی از محدودیتهای تعداد مشتری و افزایش قیمتها، و توانایی سفارشیسازی قالبهای فاکتور و گردشکارها دقیقاً به آن شکلی است که میخواهید. صرفهجویی پاداش است، نه دلیل.
گزینه ۱: Invoice Ninja — گزینهای که بیشتر فریلنسرها باید انتخاب کنند
Invoice Ninja توانمندترین گزینه خودمیزبان صدور فاکتور است که امروزه در دسترس است، و تنها یکی از این سه که تحت توسعه فعال قرار دارد. کدبیس نسخه ۵ یک بکاند Laravel (PHP) با اپلیکیشنهای وب و موبایل مبتنی بر Flutter است که فاکتورها، پیشفاکتورها، صورتحسابهای دورهای، هزینهها، ردیابی زمان، پروژهها با تختههای کانبان، پورتال مشتری و پرداختهای آنلاین از طریق دهها درگاه را پوشش میدهد.
برای خودمیزبانها، معامله بهطور غیرمعمولی سخاوتمندانه است: نسخه خودمیزبان رایگان است و ویژگیهای Pro و Enterprise را باز میکند که مشتریان میزبانیشده ماهی ۱۴ تا ۱۸ دلار برای آن پرداخت میکنند. تنها هزینه اضافی، مجوز وایتلیبل ۴۰ دلاری در سال است که برند «Created by Invoice Ninja» را حذف میکند. اگر مشتریانتان پورتال و فایلهای PDF فاکتور را خواهند دید — و خواهند دید — برای آن بودجه در نظر بگیرید.
نکته ظریف مجوز که باید بدانید
Invoice Ninja v5 تحت مجوز Elastic License 2.0 منتشر شده است. این آن را منبع-در-دسترس، نه متنباز به معنای رسمی میکند: میتوانید کد را بخوانید، تغییر دهید و برای کسبوکار خود آزادانه اجرا کنید، اما نمیتوانید آن را بردارید و بهعنوان یک سرویس میزبانیشده رقیب بازفروشی کنید. برای فریلنسری که به مشتریان فاکتور میفرستد، این محدودیت بیاهمیت است — اما ارزش دانستن دارد که شما به حسن نیت یک فروشنده وابستهاید نه به تضمین یک جامعه. اگر مجوز سختگیرانه متنباز برایتان مهم است، InvoicePlane در پایین جایگزین با مجوز MIT است.
چه چیزی برای اجرا لازم است
پیشنیازهای مستند سرور متعادل است: PHP 8.1 یا بالاتر با MySQL 5.7+ یا MariaDB 10.3+. در عمل بیشتر افراد ایمیج رسمی Docker را با یک استک compose از سه سرویس مستقر میکنند — اپلیکیشن، پایگاه داده و یک کارگر cron. راهاندازی اولیه یعنی تولید کلید اپلیکیشن، اجرای مهاجرتهای پایگاه داده و تکمیل یک ویزارد مبتنی بر وب. انتظار یک شب ور رفتن را در اولین بار داشته باشید، شامل اشاره یک دامنه به سرور، پایانهدهی TLS و پیکربندی یک ارائهدهنده SMTP تا فاکتورها واقعاً به صندوق ورودی برسند.
دو چیز که از روز اول باید درست انجام دهید: پشتیبانگیری خودکار پایگاه داده به جایی غیر از خود سرور، و یک زمانبندی cron که واقعاً اجرا شود — فاکتورهای دورهای و یادآوریهای پرداخت دیرهنگام بدون آن بیصدا متوقف میشوند.
گزینه ۲: InvoicePlane — ساده، واقعاً باز و سبک
InvoicePlane مینیمالیست این سه است: یک اپلیکیشن PHP خودمیزبان برای مدیریت پیشفاکتورها، فاکتورها، مشتریان و پرداختها که تحت مجوز MIT منتشر شده است. این پروژه از کدبیس قدیمی FusionInvoice رشد کرده و قول اصلی آن پروژه را حفظ کرده است — صورتحساب سادهای که روی سرور خودتان اجرا میکنید، بدون سطح پولی، بدون دروازههای ویژگی، و بدون هیچ تماس خانگی.
InvoicePlane را انتخاب کنید اگر نیازهایتان واقعاً ساده است. اگر ماهی چند فاکتور میفرستید، به ردیابی زمان یا مدیریت پروژه نیاز ندارید، و نرمافزاری با سطح حمله کوچک میخواهید که بتوانید سر تا پا درکش کنید، انتخاب عالی است. با خوشحالی روی ارزانترین هاست اشتراکی یا یک VPS کوچک اجرا میشود، و سادگیاش یک مزیت نگهداری هم هست: چیزهای کمتری برای شکستن و بهروزرسانی وجود دارد.
معاوضه، حرکت است. خط پایدار ۱.x روی فریمورک رو به پیری CodeIgniter 3 ساخته شده، و بازنویسی مدرن v2 (Laravel بهعلاوه Filament) هنوز در حال توسعه است و بخشهای عمدهای مانند صورتحساب الکترونیکی Peppol هنوز پیادهسازی نشده. InvoicePlane نگهداری میشود، اما بهکندی — برای ابزاری که شرح شغلش دههها تغییر نکرده مناسب است، و دلیلی برای بهروز نگهداشتن نسخه PHP و پشتیبانهایتان بهجای فرض اینکه پروژه شما را از غفلت نجات خواهد داد.
گزینه ۳: Crater — یک درس عبرت، نه توصیه
هنوز Crater را در فهرستهای «بهترین نرمافزار متنباز صدور فاکتور» پیدا خواهید کرد: یک اپلیکیشن صیقلی Laravel و Vue.js برای فاکتورها، برآوردها، هزینهها و پرداختها، با اپلیکیشنهای موبایل و پشتیبانی چند-ارزی. این شهرت را صادقانه به دست آورد — چند سال پیش.
امروزه، Crater عملاً بینگهداری است. انتشارهایش در نسخه ۶.x در سال ۲۰۲۲ متوقف شد، بهروزرسانیهای مستندات در سال ۲۰۲۳ پایان یافت و مخزن از آن زمان فقط فعالیت پراکندهای دیده است. نرمافزار صورتحسابی که کسی وصلهاش نمیکند، نرمافزاری است که آسیبپذیریهای شناختهشده را پیرامون نامها، آدرسها، نرخها و جزئیات پرداخت مشتریان شما جمع میکند. این یک پایه غیرقابل قبول برای یک ابزار کسبوکار است.
این درس فراتر از Crater قابل تعمیم است: قبل از پذیرش هر نرمافزار کسبوکار خودمیزبان، نبض مخزن را بررسی کنید — انتشارهای اخیر، وصلههای امنیتی ادغامشده و نگهدارندگان پاسخگو. یک اپلیکیشن زیبا با تاریخچه کامیت مرده، یک بدهی است که لباس دمو پوشیده. اگر شکل و شمایل Crater (استک مدرن، مجوز مجاز) را با ضربان قلبی میخواهید، به جایگزینهای با مجوز MIT که توسط جامعه نگهداری میشوند مانند SolidInvoice نگاه کنید.
آنچه واقعاً برای نگهداری میپذیرید
خودمیزبانی هزینه اشتراک را با یک فهرست کوتاه از مسئولیتهای تکرارشونده عوض میکند. هیچکدام سخت نیست؛ همه غیراختیاری هستند:
- بهروزرسانیها. بهروزرسانیهای اپلیکیشن و وابستگیها را در عرض چند روز از انتشار اعمال کنید، نه چند ماه. نرمافزار صورتحسابی دادههای شخصی را در خود دارد، پس یک CVE شناختهشده در استک صدور فاکتور شما مسئله اعتماد مشتری است، نه فقط مسئله فنی.
- پشتیبانگیری. دامپهای روزانه پایگاه داده بهعلاوه دایرکتوری ذخیرهسازی فایل را خودکار کنید، آنها را از سرور خارج کنید، و حداقل یک بار بازیابی را آزمایش کنید. یک پشتیبان آزمایشنشده یک امید است، نه پشتیبان.
- TLS و کنترل دسترسی. همه چیز را از طریق HTTPS سرو کنید، پنل مدیریت را پشت اعتبارنامههای قوی بهعلاوه یک عامل دوم در جایی که پشتیبانی میشود نگه دارید، و هرگز پورت پایگاه داده را به اینترنت باز نکنید.
- تحویلپذیری ایمیل. فاکتورهایی که در اسپم میافتند پرداخت نمیشوند. از طریق یک ارائهدهنده SMTP معتبر با SPF، DKIM و DMARC پیکربندیشده برای دامنهتان ارسال کنید و نرخ برگشت را پایش کنید.
- Cron و صفها. فاکتورهای دورهای، یادآوریهای پرداخت و بهروزرسانیهای ارز همه به زمانبند وابستهاند. آن را پایش کنید — یک کار cron بیصدا مرده دقیقاً مانند این است که مشتریان ناگهان با تأخیر پرداخت میکنند.
- چرخه عمر PHP و سیستمعامل. تاریخهای پایان عمر نسخه جزئی PHP و سیستمعامل سرورتان را پیگیری کنید. یک بهروزرسانی که برایش برنامهریزی میکنید یک ساعت طول میکشد؛ یک بهروزرسانی که بهخاطر نسخه منقضیشده تحمیل میشود یک آخر هفته.
پس از تثبیت امور، تقریباً ماهی یک ساعت بودجه در نظر بگیرید، بهعلاوه شبهای ارتقای گاهبهگاه. اگر این مثل وظیفهای به نظر میرسد که از آن دلخور خواهید شد، آن احساس خودش داده است — در حالت میزبانیشده بمانید.
اشتباهات رایجی که خودمیزبانها را نیش میزند
بیشتر شکستهای خودمیزبانی کسلکننده و قابل پیشگیری هستند:
- بدون پشتیبان خارج از سرور. یک اسنپشات روی همان VPS پشتیبان نیست. وقتی ارائهدهنده روز بدی دارد، دادههای شما و «پشتیبانتان» با هم تبخیر میشوند.
- رد کردن بهروزرسانیها تا زمانی که جهش ترسناک شود. دوازده ارتقای کوچک در سال بیدرد است؛ یک جهش غولآسا از سه نسخه اصلی اینگونه است که فاکتورها گم میشوند. کم و مکرر بهروزرسانی کنید.
- اجرا بدون HTTPS. یک پورتال فاکتور که نامها و مبلغهای مشتری را روی HTTP ساده حمل میکند سهلانگاری است. گواهیهای رایگان چند دقیقه طول میکشند — دیگر بهانهای باقی نمانده.
- فراموش کردن کارگر cron. رایجترین علت واحد «فاکتورهای دورهای من متوقف شد». تأیید کنید که زمانبند از راهاندازیهای مجدد و استقرارها جان سالم به در میبرد.
- بدون محیط آزمایشی برای ارتقاها. از سرور اسنپشات بگیرید، یا بهتر، ارتقاهای عمده را روی یک کلون تمرین کنید. بازگرداندن یک اسنپشات بهتر از اشکالزدایی پایگاه داده نیمه-مهاجرتکرده در نیمهشب است.
- برخورد با ابزار فاکتور بهعنوان دفتر حساب. نرمافزار صدور فاکتور آنچه را که صورتحساب کردهاید ردیابی میکند؛ این حسابداری دوطرفه نیست. که ما را به بخش آخر میرساند.
چه زمانی ماندن در حالت میزبانیشده انتخاب هوشمندانهتری است
خودمیزبانی یک فضیلت اخلاقی نیست، و موارد روشنی برای پرداخت اشتراک وجود دارد:
- پنج مشتری فعال یا کمتر دارید. سطح رایگان میزبانیشده Invoice Ninja با هزینه صفر و نگهداری صفر شما را پوشش میدهد. آن را بگیرید.
- با همگامسازی بانکی و تطبیق خودکار زندگی میکنید. ادغامهای Yodlee و GoCardless ابزارهای میزبانیشده از هر چیزی که خودتان سیمکشی کنید بهترند.
- الزامات صورتحساب الکترونیکی برایتان اعمال میشود. با گسترش Peppol و الزامات خاص هر کشور تا سال ۲۰۲۶، اعتبارهای صورتحساب الکترونیکی داخلی سطح Enterprise میزبانیشده ممکن است ارزانتر از زمانی باشد که خودتان انطباق را پیادهسازی کنید.
- فصل مالیات گلوگاه شماست. اگر آنچه واقعاً نیاز دارید دستهبندی Schedule C و گزارشهای پایان سال تمیز است، ۲۰ دلار در ماه QuickBooks Solopreneur گردشکار مالیاتی را میخرد، نه فقط فاکتورها.
- نگهداری را انجام نخواهید داد. یک سرور وصلهنشده که دادههای مالی مشتریان را در خود دارد، از هر نظر که مهم باشد از اشتراک بدتر است.
صدور فاکتور، حسابداری نیست — این دو را به هم وصل کنید
با هر چیزی که فاکتور صادر میکنید، به یاد داشته باشید که فاکتورهای ارسالشده تنها نیمی از تصویر مالی هستند. یک فاکتور ثبت میکند که مشتری چقدر به شما بدهکار است؛ دفاتر شما باید ثبت کنند چه زمانی پول واقعاً میرسد، پردازشگر پرداخت چه کارمزدهایی برداشته، چه هزینههایی درآمد را جبران میکنند، و چه مالیات برآوردی بدهکارید. فریلنسرهایی که «صورتحسابشده» را بهعنوان «کسبشده» در نظر میگیرند، تفاوت را در زمان مالیات کشف میکنند، معمولاً به شکلی دردناک.
یک عادت ماهانه ساده بسازید: هر پرداخت را با فاکتورش تطبیق دهید، کارمزدهای پردازشگر را بهعنوان هزینه ثبت کنید نه اینکه بیصدا آنها را جمع بزنید، و پول کسبوکار را در حسابی جدا نگه دارید تا ردپا تمیز بماند. اگر مکانیکهای ردیابی دوطرفه پشت آن عادت را میخواهید، مستندات راهاندازی دفتری را که حول هر ابزار صدور فاکتوری جا میشود شرح میدهد.
فاکتورها و دفاترتان را همگام نگه دارید
هنگامی که صورتحساب فریلنسری خود را ساده میکنید — خودمیزبان یا نه — حفظ سوابق مالی شفاف پشت آن فاکتورها همان چیزی است که فصل مالیات را کسلکننده نگه میدارد. Beancount.io حسابداری متنساده ارائه میدهد که به شما شفافیت و کنترل کامل بر دادههای مالیتان میدهد — بدون جعبه سیاه، بدون قفل فروشنده. رایگان شروع کنید و ببینید چرا توسعهدهندگان و متخصصان مالی به حسابداری متنساده روی میآورند.

