Учёт доходов фрилансера умещается в одну таблицу из пяти колонок: проект, часы, ставка, сумма счёта, дата оплаты. Одна строка — один счёт. Строку заводят в день выставления и закрывают в день, когда деньги пришли. Пустая клетка оплаты — это долг заказчика, к которому возвращаются в первую очередь.
Личные финансы здесь ни при чём: это история денег по заказчикам, а не бюджет на продукты. Строка появляется тогда, когда сумма названа заказчику и он с ней согласился. Заявки, переговоры и черновые прикидки цены в таблицу не идут.
Таблица отвечает на два вопроса: кто и сколько вам должен и сколько вы заработали за месяц.
Пять колонок, которых хватает: проект, часы, ставка, счёт, оплата
Пять колонок закрывают учёт целиком; шестая появляется редко и только тогда, когда пятой правда не хватило.
| Колонка | Что писать | Откуда берётся значение |
|---|---|---|
| Проект | Название работы и имя заказчика | Договор или переписка о старте |
| Часы | Отработанное время по этой работе | Таймер или записи за день |
| Ставка | Цена часа либо пометка «фикс» | Договорённость на старте |
| Счёт | Сумма к оплате, до налога | Часы, умноженные на ставку |
| Оплата | Дата, когда деньги пришли на счёт | Выписка банка |
Какие именно часы попадают в колонку, разобрано в статье про биллабл-часы. В счёт идёт время по задаче заказчика; поиск клиентов и переписка туда не входят.
Ставку и сумму счёта пишут до налога. Налог вычитают из уже полученных денег; внутрь цены часа его не прячут. Откуда берётся сама цена часа — в формуле для российского фрилансера.
Колонка оплаты здесь главная. Пустая клетка в ней означает одно: заказчик вам должен.
Каждую строку заполняют дважды, в один и тот же файл. Первый раз — в день, когда счёт ушёл заказчику: проект, часы, ставка, сумма. Второй — в день, когда деньги пришли: дата берётся из выписки банка. Разница между двумя датами и есть ваша настоящая отсрочка.
Отложить оба захода до конца месяца не выйдет: часы забываются за три дня, детали работы — за неделю.
Какой документ отдавать заказчику, разобрано в статье про чек, счёт и акт. Как собрать сам счёт из часов — по шагам здесь.
Как выглядит заполненный месяц
Полмесяца работы дизайнера. Имена заказчиков вымышленные, суммы круглые.
| Проект | Часы | Ставка | Счёт | Оплата |
|---|---|---|---|---|
| Лендинг, «Азимут» | 18,5 | 2 000 ₽ | 37 000 ₽ | 8 сентября |
| Мобильный экран, «Бриз» | 6 | 2 500 ₽ | 15 000 ₽ | — |
| Правки каталога, «Азимут» | 4 | 2 000 ₽ | 8 000 ₽ | 15 сентября |
| Логотип, «Стрелка» | 12 | фикс | 40 000 ₽ | — |
| Итого | 40,5 | 100 000 ₽ | 45 000 ₽ |
В четырёх строках с работой уже видно главное: заказчики должны 55 000 ₽. Это две строки с пустой клеткой. По первой пора напомнить, по второй ещё не вышел срок.
Работа за фикс тоже идёт с часами. 40 000 ₽ за 12 часов — это 3 333 ₽ в час. Строка без часов не покажет, выгоден ли вам такой фикс.
Файла для скачивания здесь нет. Пять колонок из верхней таблицы вы заведёте в своём редакторе за пять минут. Дальше он подстроится под ваши проекты.
Аванс, частичная оплата и возврат: как не сломать строку
Аванс ломает правило «одна строка — один счёт». Лечится одной строкой: аванс становится отдельной записью со своей датой оплаты.
| Случай | Что делать со строкой | Куда пишут часы |
|---|---|---|
| Аванс половиной вперёд | Две записи: «аванс» и «остаток», у каждой своя дата | Все часы — в строку остатка |
| Оплата по этапам | Своя запись на каждый этап с его суммой | Часы этапа — в его запись |
| Деньги через биржу или посредника | Одна запись на полную сумму заказчика | Часы работы — как обычно |
| Возврат заказчику | Новая запись с минусом, старую не трогают | Часы остаются в исходной записи |
Часы пишут только в одной из двух строк. Иначе время задвоится, итог по часам вырастет вдвое, а цена часа по факту упадёт.
С посредником есть ловушка. У самозанятого в чек попадает полная сумма, которую заплатил заказчик, вместе с удержанной комиссией. Налог она не уменьшает: расходы на этом режиме не вычитаются. Это не налоговая консультация: свои цифры стоит проверить у бухгалтера или в налоговой.
Оплаченную строку не удаляют даже при возврате. Месяц уже закрыт, и таблица должна сходиться с выпиской банка до копейки.
Три цифры, ради которых таблицу и ведут
Строки заполняют не ради строк: раз в месяц из них достают три числа.
- Долг заказчиков виден по пустым клеткам оплаты. Сложите эти строки. В примере выше — 55 000 ₽.
- Заработок за месяц — другое число. Его дают только оплаченные строки, по дате прихода денег. В примере — 45 000 ₽.
- Цену часа по факту даёт деление. Все счета на все часы: 100 000 ₽ на 40,5 часа — 2 469 ₽.
Третья цифра — это уже не ставка. Она показывает, во что ставка превратилась после фиксов и бесплатных правок. Саму ставку считают по формуле, а сколько часов месяца вообще доходит до счёта — отдельный разбор.
Долг смотрят раз в неделю. Строка, которая висит пустой больше месяца, почти всегда значит, что о счёте забыли обе стороны.
Чтобы три числа считались формулой, файл держат по трём правилам.
- Один файл на год, месяцы — вкладками внутри него.
- Любой редактор с суммой по условию: Numbers на Маке, Excel, Google Таблицы.
- Копия вне ноутбука: год учёта потерять вместе с техникой нельзя.
Третий заказчик ломает одну таблицу
Пока заказчиков двое, таблица живёт годами. На третьем начинается ручное сведение, и оно съедает вечер в конце месяца.
Часы лежат в таймере, суммы в таблице, документы в почте. Каждый счёт собирают заново: открыть таймер, сложить интервалы, перенести в строку. Три места вместо одного.
Дальше ломается точность. Забытые пятнадцать минут не доходят до строки, потому что переносит их человек. Числа расходятся: в таймере одно, в таблице другое.
Мы в UXCODE пять лет собирали программу под себя, и началась она ровно с такой таблицы. Часы жили в таймере, суммы в файле, договоры в почте, и каждый месяц кто-то сводил это руками. За каждый сервис при этом платили отдельно.

В WorkClient колонка оплаты живёт у самого счёта: он бывает черновиком, отправленным и оплаченным. Отдельная таблица для этого уже не нужна — список счетов и есть ваша таблица доходов.
Когда таблицы хватает и менять её не нужно
Таблица держится дольше, чем кажется. Менять её не нужно, если про вас верно хотя бы одно.
- Один-два постоянных заказчика и фиксированная цена за этап.
- Меньше пяти счетов в месяц, деньги приходят в день выставления.
- Оплата не почасовая: гонорар за материал, за макет, за съёмку.
В этих случаях программа только добавит работы. Заводить проекты, ставки и статусы ради четырёх строк в месяц — лишний труд.
Момент перехода легко засечь по часам. Отметьте, сколько времени в конце месяца уходит на сведение часов и сумм. Перевалило за час — таблица уже дороже программы.
Есть и обратная сторона. Таблица не напомнит о долге, не остановит таймер и не соберёт счёт. Всё это делает человек, и всё это человек забывает.
Что заполнить сегодня, чтобы увидеть долг заказчиков
- Заведите таблицу из пяти колонок: проект, часы, ставка, счёт, оплата.
- Перенесите в неё все счета текущего месяца, включая неоплаченные.
- Сложите строки с пустой клеткой оплаты — это долг заказчиков.
- Разделите сумму всех счетов на часы и сравните с объявленной ставкой.
- Возвращайтесь к таблице дважды: в день счёта и в день прихода денег.