Выставление счетов без кода: как собрать приложение
Выставление счетов без кода: как собрать приложение
Чтобы сделать выставление счетов без кода, опишите в промпте структуру счёта, правило нумерации и статусы оплаты, а ИИ-билдер соберёт приложение сам. В Zugo сборка стоит 6 кредитов и занимает около минуты. Приём оплаты закрывает коннектор Stripe, данные клиентов и счетов живут в Supabase, код выгружается в GitHub.
Счёт кажется простым документом ровно до момента, когда их становится тридцать в месяц. Дальше начинают болеть нумерация, статусы и вопрос «этот уже оплатили?».
Зачем собирать своё, если сервисов много?
Три причины, и ни одна из них не про экономию на подписке. Первая: ваш процесс не совпадает с шаблоном сервиса. Аванс, частичная оплата, акт после закрытия этапа, разные валюты у разных клиентов: чужой продукт умеет что-то одно.
Вторая: счёт это часть вашего бренда. Фрилансер и небольшая студия отправляют документ, который клиент открывает и по которому судит об аккуратности. Свой шаблон под свою верстку тут заметно лучше универсального.
Третья: связка с тем, что вы уже ведёте. Если у вас есть учёт заказов или часов, счёт логично рождается из них, а не переписывается вручную в третьей системе. Именно ради этой связки собственное приложение и имеет смысл.
Честная граница: если вам нужна сдача отчётности, интеграция с банком и работа бухгалтера, специализированный сервис выиграет. Своё решение сильно там, где процесс нестандартный и небольшой.
Что написать в промпте?
Оформление билдер придумает. Структуру счёта, правило нумерации и статусы он придумает по-своему, если вы не назовёте свои, поэтому назовите.
Сделай веб-приложение «выставление счетов».
Вход по почте, каждый пользователь видит только свои данные.
Клиент: название, контактное лицо, почта, реквизиты, адрес.
Счёт: номер, дата выставления, срок оплаты, клиент,
позиции (описание, количество, цена, сумма), скидка, итог,
валюта, комментарий, статус.
Нумерация: [формат, например 2026-001], сквозная,
увеличивается автоматически, вручную не редактируется.
Статусы: черновик, отправлен, частично оплачен, оплачен,
просрочен, отменён.
Просроченным счёт становится автоматически на следующий день
после срока оплаты.
Экран «Счета»: список с фильтром по статусу и клиенту,
сумма к получению сверху.
Экран «Счёт»: печатная версия, кнопка «Отправить клиенту»,
кнопка «Отметить оплаченным», ссылка на оплату.
Экран «Клиенты»: список с суммой открытых счетов.
Валюта: доллары. Тон интерфейса: строгий, документальный.
Отдельно пропишите, что номер не редактируется вручную. Сквозная нумерация без дыр это то, за что цепляются при любой проверке, и приложение, позволяющее исправить номер задним числом, эту гарантию теряет.
Какие экраны и статусы нужны?
Статусов должно быть ровно столько, сколько состояний реально бывает у ваших денег. Каждый лишний это ещё одно место, где счёт зависает, и ещё один спор о том, чем «отправлен» отличается от «ожидает оплаты».
| Экран | Задача | Что положить в промпт |
|---|---|---|
| Счета | Понять, кто должен и сколько | Список, фильтр по статусу, сумма к получению |
| Новый счёт | Выставить за две минуты | Клиент из списка, позиции, автосумма, срок оплаты |
| Счёт | Отправить и получить оплату | Печатная версия, ссылка на оплату, смена статуса |
| Клиенты | Видеть картину по контрагенту | Реквизиты, открытые счета, история платежей |
| Просрочка | Не забыть напомнить | Счета с истёкшим сроком, дата и сумма долга |
Экран просрочки кажется необязательным, но именно он превращает приложение из генератора документов в инструмент, который возвращает деньги. Без него напоминания зависят от памяти.
Ещё одна вещь, которую стоит заложить сразу: возможность выставить счёт копией предыдущего. Большинство счетов у постоянных клиентов повторяются с точностью до даты и одной позиции, и кнопка «повторить» экономит больше времени, чем любое ускорение формы.
Как принимать оплату и хранить данные?
Коннектор Stripe даёт настоящую ссылку на оплату, которую можно вложить в счёт: клиент нажимает и платит картой, не выясняя реквизиты. Для работы с зарубежными заказчиками это разница между оплатой сегодня и оплатой через две недели. Подробности в статье оплата через Stripe.
Supabase хранит клиентов, счета и позиции в вашей базе Postgres и даёт вход по почте. Фразу «каждый пользователь видит только свои данные» напишите буквально: без неё легко получить приложение, где сотрудники видят чужие счета. Разбор схем хранения лежит в статье приложение с Supabase.
Resend отправляет счёт клиенту письмом и напоминание при просрочке. Автоматическое напоминание на третий день после срока оплаты работает лучше, чем неловкое сообщение через месяц, и не требует от вас волевого усилия.
Экспорт кода в GitHub делайте сразу, как только через приложение прошли первые настоящие деньги. Финансовые данные не должны зависеть от одной подписки.
Сколько это стоит в кредитах?
| Действие | Кредитов | Комментарий |
|---|---|---|
| Сборка приложения | 6 | Занимает около минуты |
| Многостраничная версия | 12 | 12 за первые три страницы, дальше по 3 |
| Версия на пять страниц | 18 | Счета, новый счёт, счёт, клиенты, просрочка |
| Одна правка после запуска | 3 | Новый статус, новое поле, другой формат номера |
| Сборка в режиме Hi-Fi | 12 | Повышенная детализация, вдвое дороже обычной |
Free даёт 5 кредитов, что меньше одной полной сборки: это способ осмотреться. Pro стоит $25 в месяц и даёт 200 кредитов, Business стоит $99 в месяц.
Перед выдачей проект запускается в песочнице, и сборка, которая не открылась, отмечается как ошибка вместо белого экрана. Риск это снижает, но не убирает: выставьте тестовый счёт себе, откройте печатную версию и проверьте, что суммы и номер сходятся.
Что проверить перед первым настоящим счётом?
Три вещи, каждая из которых стоит дорого при ошибке. Первая: арифметика. Количество на цену, скидка, итог. Проверьте на счёте с дробным количеством и скидкой одновременно, потому что именно там обычно всплывает округление.
Вторая: нумерация. Выставьте три счёта подряд и убедитесь, что номера идут без пропусков и не сбрасываются. Затем удалите черновик и проверьте, что номер не переиспользовался.
Третья: печатная версия. Откройте счёт в браузере и сохраните в PDF. Проверьте, что реквизиты, срок оплаты и итоговая сумма помещаются на страницу и читаются, а не уезжают за поля.
Каждая найденная мелочь чинится одной фразой в чате и стоит 3 кредита. Как формулировать такие запросы точнее, разобрано в гайде как писать промт для ИИ-билдера.
Как считать деньги, а не документы?
Приложение для счетов легко превратить в генератор бумажек, который ничего не говорит о состоянии дел. Чтобы этого не случилось, на главном экране должно быть одно число: сумма выставленного и неоплаченного. Это и есть деньги, которые вам должны прямо сейчас.
Второе число рядом: сколько из этой суммы просрочено. Разница между «ждём оплаты» и «уже должны были заплатить» определяет, кому вы пишете сегодня. Без разделения оба состояния сливаются в общую тревогу, из которой не следует никакого действия.
Третье: средний срок оплаты по клиенту. Он считается из даты выставления и даты оплаты и показывает, кто платит через три дня, а кто через сорок. Это знание меняет условия следующего договора точнее любых переговоров вслепую.
Четвёртое: не удаляйте счета, а отменяйте их. Удаление рвёт нумерацию и стирает историю, а отмена оставляет след и объяснение. Разница кажется формальной ровно до первой сверки с клиентом, который утверждает, что счёт был другой.
Каждое из этих чисел добавляется одной правкой за 3 кредита, и добавлять их лучше по одному, проверяя расчёт на реальных данных.
Чего такое приложение не сделает?
- Не сдаст отчётность. Налоговые формы, декларации и обмен с надзорными системами это работа бухгалтерского сервиса, а не сгенерированного приложения.
- Не свяжется с банком. Автоматическая сверка поступлений по выписке требует банковского API и разработчика. Код выгружается в GitHub и передаётся ему.
- Не заменит юриста. Требования к реквизитам и обязательным полям счёта различаются по странам, и проверять их должен человек.
- Не потянет сложную налоговую логику сразу. Разные ставки, обратное начисление, счета в нескольких валютах доводятся серией правок, а не одним промптом.
Zugo не заменяет команду разработки на финансовом продукте. Он закрывает другое: рабочий генератор счетов со статусами, нумерацией и ссылкой на оплату за минуту.
С чего начать?
Соберите версию с тремя экранами: клиенты, новый счёт, список счетов. Выставьте настоящий счёт настоящему клиенту в первый же день. Практика покажет недостающие поля быстрее, чем любое планирование.
Если счета вырастают из отгрузок со склада, посмотрите соседний сценарий в статье про учёт склада: модель данных там устроена похоже и легко стыкуется. Если клиентов надо ещё и вести по воронке, смотрите разбор CRM без программиста. Своё приложение описывайте на zugo.dev теми словами, которыми объясняете свой процесс выставления счетов коллеге.