Як створити застосунок для рахунків-фактур
Застосунок для рахунків веде список клієнтів, дозволяє створювати рахунки з позиціями та податками, присвоює кожному унікальний номер, формує PDF або посилання, яке клієнт може відкрити, і відстежує, чи оплачено рахунок. Перша версія — це звичайний застосунок із базою даних, який можна створити за допомогою ШІ за день-два. Деталі, які мають значення — нумерація, податки, блокування рахунків, статус оплати, — відрізняють іграшку від інструмента, яким можна надсилати рахунки клієнтам.
Визначте, який інструмент для рахунків вам потрібен
«Застосунок для рахунків» охоплює кілька різних речей. Оберіть одну, перш ніж почати:
| Тип | Хто користується | Чим відрізняється |
|---|---|---|
| Персональний генератор рахунків | Фрілансер | Один бізнес, швидкий PDF, простий список того, хто оплатив |
| Інструмент для бізнесу | Невелика команда | Кілька користувачів, спільний список клієнтів, звіти |
| Рахунки всередині більшого застосунку | Ваші клієнти або співробітники | Рахунки створюються з робіт, бронювань або табелів, які ви вже ведете |
| Продукт для рахунків для інших | Багато бізнесів | Кожен акаунт бачить лише свої дані — це SaaS |
Третій тип — там, де власна розробка найбільше окупається: якщо ви вже фіксуєте роботи чи години, створення рахунку з цих даних заощаджує повторне введення. Четвертий — це повноцінний SaaS MVP з власними питаннями щодо акаунтів і оплати.
Модель даних
Чотири таблиці покривають більшість потреб:
- Налаштування бізнесу — назва, адреса, податковий або ПДВ-номер, логотип, банківські реквізити, типові умови оплати, типова ставка податку, валюта і наступний номер рахунку.
- Клієнти — ім'я, компанія, email, платіжна адреса, податковий номер за потреби, типові умови.
- Рахунки — номер, клієнт, дата виставлення, термін оплати, статус, валюта, примітки і підсумки (сума без податку, податок, разом).
- Позиції — рахунок, опис, кількість, ціна за одиницю, ставка податку і сума за позицією.
Додайте таблицю платежів, якщо клієнти платять частинами або різними способами: рахунок, дата, сума, спосіб, посилання.
Правила, які мають значення
Ці частини конструктори ШІ не зроблять правильно, якщо ви прямо не попросите:
- Послідовні унікальні номери. Багато податкових систем очікують унікальні номери рахунків у порядку зростання. Генеруйте номер на сервері, коли рахунок виставлено, а не коли створено чернетку, щоб покинуті чернетки не залишали проміжків.
- Блокуйте надіслані рахунки. Після надсилання тихо редагувати рахунок — це проблема. Дозволяйте редагування лише чернеток; для надісланого рахунку анулюйте його і виставте новий або виставте кредитне авізо.
- Фіксуйте дані клієнта на момент рахунку. Якщо клієнт змінить адресу наступного року, рахунки минулого року мають показувати стару. Копіюйте реквізити клієнта в рахунок під час виставлення.
- Гроші в цілих одиницях найменшої монети. Зберігайте суми в центах (або пенсах), а не в десяткових дробах, щоб підсумки не розходилися через округлення. Округлюйте податок так, як очікує податковий орган: по позиції або по рахунку.
- Статус, що відповідає реальності. Чернетка, надіслано, оплачено, частково оплачено, прострочено, анульовано. «Прострочено» має визначатися з терміну оплати, а не встановлюватися вручну.
PDF чи сторінка рахунку?
Клієнти очікують PDF, але веб-сторінку простіше тримати в актуальному стані. Більшість інструментів пропонують обидва варіанти:
- Сторінка рахунку для спільного доступу з важко вгадуваним посиланням, щоб клієнт міг переглянути і оплатити без входу.
- Завантаження PDF, згенероване з тих самих даних, із вашим логотипом і реквізитами.
Перевірте макет для друку та розмір паперу (A4 або US Letter). Довгі списки позицій мають коректно переходити на наступну сторінку.
Онлайн-оплата
Для багатьох бізнесів достатньо вказати банківські реквізити в рахунку. Якщо потрібна оплата картками, підключіть провайдера платежів:
- Stripe Checkout або посилання на оплату на суму рахунку. Клієнт натискає «Оплатити» на сторінці рахунку.
- Webhook від провайдера повідомляє застосунку, що платіж пройшов, і застосунок позначає рахунок оплаченим. Не позначайте його оплаченим лише тому, що клієнт повернувся на сторінку «успішно»: до неї можна потрапити без оплати. Див. як додати платежі до застосунку.
- Спочатку тестовий режим. Використовуйте тестові ключі провайдера і тестові картки, доки весь процес не запрацює.
Варто знати: станом на вересень 2026 року Stripe також пропонує власний продукт для рахунків із розміщеними сторінками рахунків. Якщо вам потрібно лише надіслати рахунок і отримати оплату, цього може бути достатньо.
Нагадування
Автоматичні листи «ваш рахунок має бути оплачений» — одна з найцінніших функцій і одна з найлегших для помилки. Вам потрібні:
- Поштовий провайдер (Resend, Postmark, SendGrid та подібні) — див. як надсилати листи з вашого застосунку.
- Щось, що працює за розкладом і знаходить прострочені рахунки. Опублікований веб-застосунок, який засинає без активності, сам не прокинеться, тож запитайте у конструктора, як запускатиметься перевірка, наприклад через планове виклик зовнішнього сервісу cron до endpoint у вашому застосунку.
- Журнал надісланих нагадувань, щоб ніхто не отримав той самий лист двічі.
Почніть із ручної кнопки «Надіслати нагадування». Автоматизацію додайте пізніше.
Перший промпт, який працює
Створи застосунок для рахунків для мого бізнесу з веб-дизайну. Я входжу і керую клієнтами (ім'я, компанія, email, платіжна адреса, ПДВ-номер). Я створюю рахунки з позиціями (опис, кількість, ціна за одиницю), ставкою ПДВ для кожної позиції, і бачу підсумок, ПДВ і разом, які рахуються одразу. Номери рахунків послідовні (INV-0001, INV-0002) і присвоюються, коли я позначаю рахунок як надісланий; чернетки лишаються редагованими, надіслані рахунки заблоковані. Кожен рахунок має статус (чернетка, надіслано, оплачено, прострочено) і термін оплати; «прострочено» визначається з терміну. Кожен рахунок має приватне посилання для спільного доступу і завантаження PDF з моїм логотипом і банківськими реквізитами. Панель показує загальну суму до оплати і прострочені. Зберігай суми в пенсах. Лише GBP. Зберігай усе в базі даних.
Кроки побудови
- Спочатку налаштування і клієнти. Налаштуйте дані бізнесу і список клієнтів, бо від них залежить кожен рахунок.
- Редактор рахунку. Позиції, податки і підсумки. Перевіряйте на незручних числах — 3 × £33.33 зі ставкою 20% ПДВ — і звіряйте підсумки з калькулятором.
- Нумерація і блокування. Виставте три рахунки, видаліть чернетку, виставте ще один. Номери мають іти підряд без проміжків і дублікатів.
- Сторінка рахунку і PDF. Відкрийте посилання для спільного доступу у приватному вікні. Надрукуйте PDF.
- Оплата. Додайте Stripe у тестовому режимі, оплатіть рахунок тестовою карткою і переконайтеся, що webhook позначає його оплаченим.
- Перевірка безпеки. Вийдіть і спробуйте відкрити рахунок іншого клієнта, змінивши ID в адресі. Працювати має лише приватне посилання, і воно не має показувати інші рахунки. У нашому чек-листі безпеки є ще перевірки.
- Експорт. Додайте CSV-експорт рахунків і платежів для бухгалтера.
Типові помилки
- Гроші з плаваючою комою. Що £0.1 + £0.2 не дорівнює £0.3 — реальний баг у реальних застосунках. Зберігайте цілі мінімальні одиниці.
- Редаговані надіслані рахунки. Зміна рахунку після того, як клієнт його отримав, веде до суперечок і бухгалтерських проблем.
- Номери присвоюються чернеткам. Це створює проміжки і плутанину.
- Посилання, які можна вгадати.
/invoice/42спонукає спробувати/invoice/43. Використовуйте довгі випадкові токени. - Припущення про одне податкове правило. Ставки податків, зворотне оподаткування і обов'язкові формулювання відрізняються залежно від країни і типу клієнта. Питайте бухгалтера; не дозволяйте ШІ вгадувати.
- Немає резервних копій. Рахунки — записи, які ви можете бути зобов'язані зберігати роками. Експортуйте регулярно і, якщо план це дозволяє, зберігайте код на GitHub.
Витрати та інструменти
| Складова | Для чого | Примітки |
|---|---|---|
| Конструктор застосунків / хостинг / база даних | Створення і запуск застосунку | У Mythex один баланс кредитів покриває все це — див. ціни |
| Провайдер платежів | Оплата картками | Стягує комісію за транзакцію; актуальні ціни провайдера для вашої країни перевірте самі |
| Поштовий провайдер | Надсилання рахунків і нагадувань | Багато мають безплатні тарифи за малого обсягу |
| Домен | Професійні посилання на рахунки | Необов'язково, оплачується щороку |
Коли краще готовий софт для рахунків
Створюйте власний, коли виставлення рахунків є частиною вашого робочого процесу, коли хочете інструмент, сформований саме під те, як ви виставляєте рахунки, або коли додаєте рахунки до застосунку, який уже маєте. Обирайте перевірений бухгалтерський або інвойсинговий софт, коли:
- Вам потрібні бухоблік, банківські виписки, облік витрат і податкова звітність в одному місці.
- Ваша країна вимагає електронних рахунків у конкретному форматі або через сертифікований канал.
- Ваш бухгалтер волів би працювати в інструменті, який уже знає.
Поширений компромісний шлях: створити частину, специфічну для вас (роботи, табелі, клієнтський портал, де клієнти бачать свої рахунки), а цифри експортувати в бухгалтерський софт. Створити чи купити ПЗ для малого бізнесу розглядає це рішення детальніше.
Створення з Mythex
У Mythex ви описуєте застосунок для рахунків у чаті й бачите, як він формується в живому прев'ю. Коли застосунку потрібна база даних, вона додається автоматично; ключі API, як-от секретний ключ Stripe, зберігаються в секретах проєкту, а застосунок публікується за URL, яким можна одразу скористатися. Рецепт Stripe у документації показує налаштування з вашими ключами. Щоб почати з промпту, який уже описує основи, спробуйте шаблони генератор рахунків або фрілансерські рахунки.
Запитання
Які функції потрібні застосунку для рахунків?
Список клієнтів, рахунки з позиціями, податками і підсумками, унікальні послідовні номери, PDF або посилання на рахунок і статус кожного рахунку (чернетка, надіслано, оплачено, прострочено). Найкорисніші наступні доповнення — онлайн-оплата і нагадування.
Чи може мій застосунок для рахунків приймати оплату картками?
Так, через провайдера платежів, наприклад Stripe. Застосунок створює посилання на оплату або checkout на суму рахунку, а webhook від провайдера позначає рахунок оплаченим, коли платіж пройшов.
Чи законно користуватися власним застосунком для рахунків?
Зазвичай так, але вимоги до змісту рахунків різні в різних країнах: реквізити продавця, податкові номери, дати, розбивка податків. Деякі країни вимагають електронних рахунків у визначеному форматі. Перш ніж покладатися на застосунок, уточніть у бухгалтера, що стосується саме вас.
Чи варто створювати застосунок для рахунків або користуватися бухгалтерським софтом?
Беріть бухгалтерський софт, якщо вам потрібні ведення обліку, подання податкової звітності або банківська звірка. Створюйте власний, коли виставлення рахунків пов'язане з вашим робочим процесом — замовленнями, табелями, проєктами — або коли хочете простий інструмент без плати за місце.