Schulmensa
Desktop-додаток, який замінив ручне складання візуальних чеків в Excel на нормальну генерацію HTML-рахунків.
Ручна бухгалтерія, яку було пора прибрати
Проєкт почався не з бажання автоматизувати складну бухгалтерську таблицю. Навпаки: Excel там майже не використовувався як таблиця. У ньому вручну збирали зовнішній вигляд чека - картинки, рамки, підписи, готові суми і текстові поля. Самі цифри рахувалися окремо на фізичному калькуляторі, після чого вручну переносилися в Excel-макет. Потім цей файл відправлявся клієнтам на пошту, і перше питання було очевидним: чи у всіх воно відкривається? Виявилося, що клієнти часто скаржилися саме на неможливість відкрити файл.
Excel використовувався не за призначенням
Головна проблема була не в тому, що формули в Excel були складними. Формул там якраз не було. Excel став візуальним редактором чеків, де людина руками розкладала елементи, вставляла картинки, рамки і вже пораховані суми. Це створювало і зайву ручну роботу, і поганий клієнтський досвід, бо на виході все одно відправлявся файл, який не всі могли відкрити.
- суми рахувалися окремо фізичним калькулятором і вручну переносилися в макет
- Excel використовувався як дизайнерська дошка для чека, а не як розрахункова система
- кожен чек вимагав ручного складання зовнішнього вигляду
- клієнти отримували файл, який часто не могли або не хотіли відкривати
- не було нормального статусу: кому вже відправлено, за який період і коли
Client List
У програмі є список клієнтів з потрібними даними, поштою, службовою інформацією і змінними, які раніше вручну переносилися в Excel-макет.
Period Control
Користувач вибирає місяць або потрібний період, а програма підставляє дані в рахунок без ручного копіювання і перераховування макету.
Invoice Preview
Перед відправкою можна подивитися готовий вигляд рахунку як листа, а не відкривати окремий Excel-файл і перевіряти його вручну.
Single Send
Окремий рахунок можна відправити вручну одному клієнту, якщо треба перевірити або повторити конкретну відправку.
Bulk Send
Головна функція: згенерувати всі рахунки за місяць і відправити їх одразу всім клієнтам без ручного складання кожної картки чека.
Send History
У картці видно, коли рахунок уже відправлявся, щоб не дублювати листи і не втрачати контроль над місячним циклом.
Як розроблявся
Найважливіше рішення було не автоматизувати існуючий Excel, а замінити сам підхід. Якщо Excel використовувався лише як конструктор зовнішнього вигляду, то логічніше було зробити власний генератор рахунків: користувач працює з даними і кнопками, а програма сама збирає охайний HTML-лист. Клієнт бачить готовий рахунок прямо в пошті, без вкладень і без залежності від того, чи є в нього Excel.
- 01
Виніс з Excel усі поля, які використовувалися для ручного складання макету
- 02
Додав вибір періоду, список клієнтів і кастомні поля для рахунків
- 03
Зробив preview, щоб перед відправкою було видно фінальний вигляд листа
- 04
Реалізував поодиноку відправку і масову відправку всіх рахунків за місяць
- 05
Підключив email-шар через Nodemailer і SendGrid для стабільної доставки HTML-листів
Продуктова ідея
У результаті процес став зрозумілим: вибрав місяць, перевірив дані, подивився preview, відправив одному клієнту або всім одразу. Людина більше не складає чек як картинку в Excel і не переносить туди цифри з калькулятора. Клієнт отримує нормальний лист, а не файл, який треба ще чимось відкривати.