Покроково розбираємо систему пакетів і оплат у Tutorio: від створення пакету до правильного обліку проведених та скасованих занять.
Головна проблема обліку оплат у репетиторстві
Фінанси в приватній практиці рідко ламаються через складні формули. Вони ламаються через дрібні неузгодженості: урок провели, але оплату не відмітили; пакет майже закінчився, але ви згадали про це запізно; учень переніс заняття, а баланс списався неправильно. У таблицях ці речі накопичуються тихо і помітні лише тоді, коли виникає конфлікт або касовий розрив.
Tutorio вирішує це структурою даних, а не дисципліною "не забути записати". У центрі моделі - пакет уроків із чіткими полями: загальна кількість, вартість за урок, загальна сума, статус пакету і статус оплати. Ви бачите не просто суму боргу, а стан кожної домовленості з учнем або групою.
Статуси оплати: paid, pending, partial
У реальному житті оплата приходить не завжди одним платежем. Саме тому в Tutorio закладені кілька статусів оплати. paid означає, що пакет закритий фінансово; pending - очікує оплату; partial - внесена лише частина. Ця деталізація потрібна не для "краси", а для щоденного пріоритезування: кого варто нагадати, а де питання вже закрите.
Є важлива бізнес-деталь: у дашборд-доході пакетна виручка потрапляє в період за датою фактичної оплати (paid_at), а не просто за датою створення пакету. Це захищає аналітику від викривлення, коли пакет створили в одному місяці, а оплатили в іншому. Ви отримуєте цифри, які реально відповідають руху грошей.
Пакети уроків і списання балансу
Коли урок прив'язаний до пакету, система відстежує, чи спожито пакетний урок, і відповідно змінює залишок. Для проведених занять баланс зменшується. Для скасованих - поведінка залежить від вашого рішення: можна скасувати зі списанням або без списання. Такий поділ критично важливий, бо він відображає вашу політику роботи: де штрафний no-show, а де лояльне перенесення.
У Tutorio це не залишається "в голові". Для ключових подій створюються транзакції пакету: lesson_completed, lesson_cancelled та інші службові записи. Тобто будь-яка зміна балансу має історію. Якщо через місяць виникне питання "чому лишилось саме стільки", ви відкриваєте транзакції і бачите шлях по кроках, а не відновлюєте все з переписок.
Вичерпання пакету і нагадування про оплату
Коли пакет вичерпується, Tutorio відмічає цей стан і може формувати відповідні сповіщення. Окремий сценарій - пакет вичерпано, але оплата ще не закрита. Це саме той випадок, де в ручному обліку найчастіше губляться гроші: заняття вже проведені, а рахунок "висить". У системі така подія не розчиняється, а залишається в полі зору через Notification Center.
Так само працює нагадування про оновлення пакету, коли залишається критично малий запас уроків. Це дозволяє говорити з учнем або батьками завчасно, без авралу. На практиці це покращує cash-flow: ви не чекаєте, поки пакет обнулиться і тиждень простоюєте без передоплати.
Індивідуальні та групові пакети
Tutorio підтримує не лише індивідуальних учнів, а й групи. Це означає, що одна й та сама фінансова логіка працює в обох форматах: можна створювати пакети для групових занять, відстежувати прив'язані уроки і бачити статуси оплати. Для тих, хто масштабується від кількох учнів до груп, це знімає потребу в "окремій таблиці для груп".
Додатковий плюс - єдині сценарії оновлення: renew-процес, історія занять у пакеті, контроль залишку. Тобто не важливо, працюєте ви з одним учнем чи мінікласом, операційна логіка залишається однаковою. Це сильно спрощує навчання асистента або адміністратора, якщо ви передаєте частину процесів.
Практичний фінансовий ритм на тиждень
Щоб система справді працювала на вас, достатньо короткого ритму. Раз на день: переглянути активні сповіщення по оплатах і статусах пакетів. Після кожного уроку: зафіксувати статус заняття, щоб баланс не відставав від реальності. Раз на тиждень: пройтися по пакетах у pending/partial і сформувати список комунікації.
Такий процес забирає значно менше часу, ніж здається, бо більшість кроків у Tutorio уже зведені до 1-2 дій. Зате ефект відчутний: дохід прогнозований, суперечки про "скільки залишилось" майже зникають, а ви бачите фінансову картину без ручного збирання даних. Фактично ви переходите з реактивного режиму (гасимо проблеми) в керований (попереджаємо проблеми).