Двадцать долларов в месяц не кажутся большой суммой, пока не умножить их на продолжительность вашей карьеры фрилансера. При $20 в месяц стандартная подписка на выставление счетов обходится в $240 в год — а за шесть лет фриланса это $1,440 за право отправлять PDF-файлы и получать оплату. Между тем небольшой виртуальный частный сервер арендуется примерно за $5 в месяц, а лучшее ПО для выставления счетов с самостоятельным хостингом бесплатно.
Так стоит ли отменять подписку и размещать выставление счетов на своём сервере? Для технически подкованного фрилансера честный ответ таков: вероятно, да, но только если вы выберете поддерживаемое ПО и заложите час в месяц на обслуживание. Это руководство разбирает три названия, с которыми вы будете постоянно сталкиваться — Invoice Ninja, Crater и InvoicePlane — сколько на самом деле стоит эксплуатация каждого, на какое обслуживание вы подписываетесь и когда остаться на хостинговом ПО — более разумный ход.
Реальная математика: подписка против самостоятельного хостинга
Начните с того, что вы платите сейчас или платили бы за хостинговое выставление счетов:
- FreshBooks начинается с $21 в месяц при месячной оплате ($17 в месяц на годовой план) за базовый тариф, а более полные бухгалтерские функции появляются на плане Plus за $38 в месяц.
- QuickBooks Solopreneur стоит $20 в месяц и нацелен прямо на бизнес из одного человека, которому нужны категоризация расходов для налогов и подготовка Schedule C наряду с выставлением счетов.
- Собственный хостинговый сервис Invoice Ninja предлагает по-настоящему бесплатный тариф (до 5 клиентов с неограниченным числом счетов), а платные планы — за $14 и $18 в месяц.
Теперь сторона самостоятельного хостинга:
- Небольшой VPS у популярного провайдера стоит примерно $5 в месяц, или около $60 в год.
- Самостоятельная редакция Invoice Ninja бесплатна и включает функции Pro и Enterprise; необязательная лицензия white-label, убирающая брендинг Invoice Ninja со страниц, видимых клиентам, стоит $40 в год.
- InvoicePlane бесплатен и вовсе не имеет платного тарифа.
Таким образом, реалистичное сравнение — около $240 в год за типичную SaaS-подписку против примерно $60–$100 в год при самостоятельном хостинге. Вы экономите около $150 в год — это существенно, но не меняет жизнь. Более весомые причины для самостоятельного хостинга — контроль над данными клиентов, свобода от ограничений по числу клиентов и повышений цен, а также возможность настраивать шаблоны счетов и рабочие процессы именно так, как вам нужно. Экономия — это бонус, а не причина.
Вариант 1: Invoice Ninja — тот, который стоит выбрать большинству фрилансеров
Invoice Ninja — самый функциональный вариант самостоятельного хостинга выставления счетов, доступный сегодня, и единственный из трёх, который активно развивается. Кодовая база версии 5 — это бэкенд на Laravel (PHP) с веб- и мобильными приложениями на Flutter, охватывающая счета, коммерческие предложения, повторяющиеся платежи, расходы, учёт рабочего времени, проекты с канбан-досками, клиентский портал и онлайн-платежи через десятки платёжных шлюзов.
Для самостоятельных хостеров условия необычайно щедрые: самостоятельная редакция бесплатна и открывает функции Pro и Enterprise, за которые хостинговые клиенты платят $14–$18 в месяц. Единственная платная опция — лицензия white-label за $40 в год, убирающая брендинг «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-планировщик, который действительно работает — повторяющиеся счета и напоминания о просрочке платежей молча останавливаются без него.
Вариант 2: InvoicePlane — простой, по-настоящему открытый и лёгкий
InvoicePlane — минималист из трёх: самостоятельное PHP-приложение для управления коммерческими предложениями, счетами, клиентами и платежами, выпущенное под лицензией MIT. Оно выросло из старой кодовой базы FusionInvoice и сохранило первоначальное обещание того проекта — простое выставление счетов, которое вы запускаете на своём сервере, без платных тарифов, без ограничений функций и без каких-либо «звонков домой».
Выбирайте InvoicePlane, если ваши потребности действительно просты. Если вы отправляете несколько счетов в месяц, не нуждаетесь в учёте рабочего времени или управлении проектами и хотите ПО с небольшой поверхностью атаки, которое вы можете понять от и до, — это отличный выбор. Оно прекрасно работает на самом дешёвом shared-хостинге или крошечном VPS, и его простота — это ещё и преимущество в обслуживании: ломать меньше и обновлять меньше.
Обратная сторона — динамика. Стабильная линейка 1.x построена на стареющем фреймворке CodeIgniter 3, а современное переписывание v2 (Laravel плюс Filament) всё ещё в разработке, причём крупные части, такие как электронное выставление счетов Peppol, ещё не реализованы. InvoicePlane поддерживается, но медленно — это нормально для инструмента, чья должностная инструкция не менялась десятилетиями, и это причина поддерживать актуальность версии PHP и резервных копий, а не полагаться на то, что проект спасёт вас от забвения.
Вариант 3: Crater — поучительная история, а не рекомендация
Вы всё ещё найдёте Crater в подборках «лучшее ПО для выставления счетов с открытым исходным кодом»: отполированное приложение на Laravel и Vue.js для счетов, смет, расходов и платежей, с мобильными приложениями и поддержкой нескольких валют. Оно честно заслужило эту репутацию — несколько лет назад.
Сегодня Crater фактически не поддерживается. Его релизы остановились на версии 6.x ещё в 2022 году, обновления документации прекратились в 2023 году, и с тех пор в репозитории наблюдается лишь спорадическая активность. ПО для выставления счетов, которое никто не патчит, — это ПО, накапливающее известные уязвимости вокруг имён, адресов, ставок и платёжных данных ваших клиентов. Это неприемлемая основа для бизнес-инструмента.
Урок выходит за рамки Crater: прежде чем внедрять любое бизнес-ПО с самостоятельным хостингом, проверьте пульс репозитория — недавние релизы, влитые исправления безопасности и отзывчивых мейнтейнеров. Красивое приложение с мёртвой историей коммитов — это обязательство в демонстрационной обёртке. Если вы хотите форму Crater (современный стек, разрешительная лицензия) с пульсом, посмотрите на поддерживаемые сообществом альтернативы под лицензией MIT, такие как SolidInvoice.
На что вы на самом деле подписываетесь в обслуживании
Самостоятельный хостинг меняет абонентскую плату на короткий список регулярных обязанностей. Ни одна из них не сложна; все они обязательны:
- Обновления. Применяйте обновления приложения и зависимостей в течение дней после выпуска, а не месяцев. ПО для выставления счетов хранит персональные данные, поэтому известная CVE в вашем стеке выставления счетов — это вопрос доверия клиентов, а не просто техническая проблема.
- Резервные копии. Автоматизируйте ежедневные дампы базы данных плюс каталог хранения файлов, отправляйте их за пределы сервера и хотя бы раз протестируйте восстановление. Непроверенная резервная копия — это надежда, а не резервная копия.
- TLS и контроль доступа. Обслуживайте всё через HTTPS, держите панель администратора за надёжными учётными данными плюс вторым фактором, где это поддерживается, и никогда не открывайте порт базы данных в интернет.
- Доставляемость электронной почты. Счета, попадающие в спам, не оплачиваются. Отправляйте через надёжного SMTP-провайдера с настроенными для вашего домена SPF, DKIM и DMARC и следите за показателем отказов.
- Cron и очереди. Повторяющиеся счета, напоминания о платежах и обновления курсов валют зависят от планировщика. Следите за ним — молча умершее задание cron выглядит точно так же, как внезапно начавшие задерживать оплату клиенты.
- Жизненный цикл PHP и ОС. Отслеживайте даты окончания поддержки вашей минорной версии PHP и ОС сервера. Обновление, которое вы планируете, занимает час; обновление, вызванное истёкшей версией, занимает выходные.
Заложите примерно час в месяц, когда всё стабилизируется, плюс occasional вечера на обновления. Если это звучит как рутина, которую вы будете проклинать, это чувство — данные: оставайтесь на хостинге.
Распространённые ошибки, которые кусают самостоятельных хостеров
Большинство провалов самостоятельного хостинга скучны и предотвратимы:
- Нет резервных копий вне сервера. Снимок на том же VPS — это не резервная копия. Когда у провайдера плохой день, ваши данные и ваша «резервная копия» испаряются вместе.
- Пропуск обновлений, пока прыжок не станет страшным. Двенадцать небольших обновлений в год безболезненны; один гигантский скачок через три мажорные версии — вот как счета пропадают. Обновляйте понемногу и часто.
- Работа без HTTPS. Портал счетов, несущий имена клиентов и суммы по открытому HTTP, — это халатность. Бесплатные сертификаты занимают минуты — оправданий больше не осталось.
- Забытый cron-воркер. Самая распространённая причина «мои повторяющиеся счета перестали приходить». Убедитесь, что планировщик переживает перезагрузки и развёртывания.
- Нет стенда для обновлений. Сделайте снимок сервера или, что лучше, отрепетируйте мажорные обновления на клоне. Откат к снимку лучше, чем отладка полумигрированной базы данных в полночь.
- Отношение к инструменту выставления счетов как к бухгалтерии. ПО для выставления счетов отслеживает то, что вы выставили; это не двойная бухгалтерия. Что подводит нас к последнему разделу.
Когда остаться на хостинге — более разумный ход
Самостоятельный хостинг — не моральная добродетель, и есть явные случаи в пользу оплаты подписки:
- У вас пять или меньше активных клиентов. Бесплатный хостинговый тариф Invoice Ninja покрывает вас при нулевых затратах и нулевом обслуживании. Берите его.
- Вы живёте на синхронизации с банком и автосверке. Интеграции хостинговых инструментов с Yodlee и GoCardless превосходят всё, что вы настроите сами.
- К вам применяются мандаты электронного выставления счетов. Поскольку Peppol и страновые мандаты распространяются к 2026 году, встроенные кредиты на электронное выставление счетов в хостинговом тарифе Enterprise могут оказаться дешевле вашего времени на самостоятельную реализацию соответствия.
- Налоговый сезон — ваше узкое место. Если вам на самом деле нужна категоризация для Schedule C и чистые отчёты на конец года, $20 в месяц за QuickBooks Solopreneur покупают налоговый рабочий процесс, а не просто счета.
- Вы не будете заниматься обслуживанием. Непропатченный сервер, хранящий финансовые данные клиентов, хуже подписки во всех отношениях, которые имеют значение.
Выставление счетов — это не бухгалтерия — свяжите их
Чем бы вы ни выставляли счета, помните, что отправленные счета — лишь половина финансовой картины. Счёт фиксирует, что клиент вам должен; ваши книги должны фиксировать, когда деньги действительно приходят, какие комиссии снял платёжный процессор, какие расходы зачитываются против дохода и что вы должны в виде расчётного налога. Фрилансеры, которые считают «выставлено» как «заработано», обнаруживают разницу в налоговый сезон, обычно болезненно.
Выработайте простую месячную привычку: сверяйте каждую выплату с её счётом, записывайте комиссии процессора как расходы, а не зачитывайте их молча, и держите деловые деньги на отдельном счёте, чтобы след оставался чистым. Если вам нужна механика отслеживания двойной записи за этой привычкой, документация проводит через настройку книги учёта, которая подстраивается вокруг любого инструмента выставления счетов.
Держите счета и книги синхронизированными
По мере того как вы оптимизируете выставление счетов фрилансером — на своём хостинге или нет — поддержание чётких финансовых записей за этими счетами — то, что делает налоговый сезон скучным. Beancount.io обеспечивает бухгалтерию в виде простого текста, дающую вам полную прозрачность и контроль над вашими финансовыми данными — никаких чёрных ящиков, никакой привязки к вендору. Начните бесплатно и узнайте, почему разработчики и финансовые специалисты переходят на бухгалтерию в виде простого текста.





