Usługi Case study Szkolenia Baza wiedzy O nas Bezpłatna konsultacja

Raty i płatności cykliczne: jak pilnować zaległości automatycznie

Mikołaj Brunka
Mikołaj Brunka
Co-Founder & CEO
· 16 min czytania
Raty i płatności cykliczne: jak pilnować zaległości automatycznie

System dla firmy sprzedającej kursy budowaliśmy z założeniem, które wyglądało na oczywiste: kurs kosztuje tyle a tyle, płatność rozkłada się na trzy raty, więc w bazie są trzy kwoty i trzy terminy. Model przeżył dokładnie jedną edycję. Przy zapisach większość grupy poprosiła o czwartą ratę, część osób chciała innych terminów niż domyślne, a kilka zapłaciło całość z góry. Sztywne pola zaczęły kłamać w pierwszym tygodniu sprzedaży.

Przepisaliśmy to na osobną tabelę rat, w której każdy uczestnik ma własną liczbę rat, kwoty i terminy. Ta jedna zmiana zdjęła z firmy cały późniejszy ból: raty da się rozbić, przesunąć i dopisać bez ruszania kodu, a panel sam pokazuje, kto zalega. Poniżej opisuję, co się na to składa. Mechanika jest ta sama niezależnie od tego, czy sprzedajesz kursy, abonament, czy fakturujesz wdrożenie w transzach.

TL;DR: Nie koduj liczby rat w strukturze bazy. Zrób osobną tabelę rat z kwotą w groszach, terminem i statusem, dołóż sekwencję przypomnień przed terminem i po nim, a do tego jeden widok „zalegający" z realnym saldem. Blokadę dostępu zostaw jako decyzję człowieka, nie jako regułę automatu.

Dlaczego raty w arkuszu się sypią

Arkusz z ratami działa, dopóki klientów jest kilkunastu i pilnuje ich jedna osoba. Sypie się nie dlatego, że arkusz jest zły, tylko dlatego, że w tym układzie systemem windykacji jest czyjaś pamięć.

Cztery rzeczy psują się zawsze w tej samej kolejności:

  • Termin mija w milczeniu. Zaległość istnieje od dnia po terminie, a zostaje zauważona wtedy, gdy ktoś akurat otworzy plik.
  • Status jest wpisywany ręcznie. „TAK" w kolumnie „opłacone" to czyjaś deklaracja sprzed dwóch tygodni. Prędzej czy później rozjeżdża się z wyciągiem i nikt nie wie, która strona ma rację.
  • Ustalenia żyją poza plikiem. Klient napisał, że zapłaci w piątek, osoba czytająca maila nie zdążyła dopisać i poszła na urlop, a klient dostaje w międzyczasie ostry monit.
  • Nie ma odpowiedzi na pytanie „ile nam wiszą". Suma kolumny nie uwzględnia nadpłat, częściowych wpłat ani rat po terminie.

To objawy jednego braku: rata nie jest tu osobnym bytem, tylko liczbą w komórce. Ten sam problem szerzej opisaliśmy w tekście o aplikacji wewnętrznej zamiast Excela.

Model danych: osobna tabela rat

Najczęstszy błąd na starcie to zaszycie liczby rat w strukturze danych. Klient prosi o trzy raty, więc powstają pola rata_1, rata_2, rata_3 plus komplet dat i flag. Rok później masz w kodzie pętlę po trzech polach, w interfejsie trzy sztywne wiersze, a w firmie klienta, który poprosił o pięć rat.

AspektPola rata_1..3 w rekordzie klientaOsobna tabela rat
Zmiana liczby ratmigracja bazy i zmiana kodudopisanie wiersza
Rozbicie raty na dwie mniejszeniemożliwe bez przebudowydwa wiersze zamiast jednego
Przesunięcie jednego terminuedycja pola, bez śladuzmiana daty z historią
Częściowa wpłatabrak miejsca na tę informacjękwota zapłacona osobno od należnej
Widok „kto zalega"przeliczanie po trzech kolumnachfiltr po statusie i dacie
Porównanie modeli danych rat: sztywne pola w rekordzie klienta kontra osobna tabela rat

Tabela rat w naszym wdrożeniu ma kilka pól i to wystarcza: do kogo należy rata, kwota należna, kwota wpłacona, termin, status i data zapłaty. Opcjonalnie tytuł widoczny dla klienta oraz notatka wewnętrzna. Wszystko, co dotyczy jednej płatności, siedzi w jednym wierszu.

Kwoty trzymamy w groszach jako liczby całkowite. Trzy raty z kwoty 2999 zł nie dzielą się równo i przy liczbach zmiennoprzecinkowych gubi się po drodze grosz, który potem rozjeżdża raport z wyciągiem bankowym. Na liczbach całkowitych rozbicie jest jawną decyzją: dwie raty po tyle, ostatnia z resztą. Popularne bramki operują zresztą najmniejszą jednostką waluty, więc trzymając grosze u siebie, nie konwertujesz niczego na granicy systemu. Wątek rozwijamy w artykule o bramkach płatności w automatyzacjach.

Druga zasada z tego wdrożenia: nie ma ręcznej flagi „opłacone". Rata jest opłacona wtedy, gdy kwota wpłacona pokrywa należną, a saldo liczy się z danych, nie z checkboxa. Dzięki temu częściowa wpłata nie wymaga dodatkowej konwencji. Do statusów wystarczą cztery wartości: zaplanowana, opłacona, po terminie i anulowana. Piątą („w ustaleniach", „wstrzymana") dokładasz przy obsłudze przesunięć terminu i to ona ratuje klienta przed monitem mimo dogadanej sprawy.

„Sztywny harmonogram rat wygląda jak uproszczenie, a jest zakładem o to, że wszyscy klienci zachowają się tak samo. Nasz model 'zawsze trzy raty' przegrał ten zakład przy pierwszej edycji kursu, i to nie przez klientów trudnych, tylko zwyczajnych. Elastyczny harmonogram kosztuje kilka dni więcej przy budowie i oszczędza rok tłumaczenia, dlaczego czegoś się nie da." — Mikołaj Brunka, założyciel NoCodeWork

Sekwencja przypomnień przed terminem i po nim

Przypomnienia dzielą się na dwie kategorie, które łatwo pomylić. Przed terminem to obsługa klienta: przypominasz o czymś, o czym człowiek zwyczajnie zapomniał. Po terminie to windykacja miękka i ton, treść oraz kanał robią się inne, bo inna jest stawka.

Sekwencja, którą wdrażamy najczęściej, wygląda tak:

MomentKanałTon i cel
5–7 dni przed terminemmailuprzejma informacja z kwotą, terminem i linkiem do płatności
dzień terminumail albo SMSkrótkie „dziś termin", bez oceny
3 dni po terminiemailrzeczowe przypomnienie, że wpłata nie dotarła, plus prośba o kontakt w razie problemu
7–10 dni po terminietelefon albo wiadomość od człowiekarozmowa, nie automat: ustalenie nowego terminu
po ustaleniachzapis w systemierata dostaje nowy termin albo status wstrzymania, sekwencja startuje od nowa
Oś czasu sekwencji przypomnień o racie: obsługa klienta przed terminem, windykacja miękka po nim

O tym, czy sekwencja pomaga, czy szkodzi, decydują detale łatwe do pominięcia na etapie projektu.

Sprawdzaj saldo tuż przed wysyłką, a nie w momencie planowania wiadomości. Monit do kogoś, kto zapłacił poprzedniego wieczoru, kosztuje więcej zaufania, niż przypomnienie zdążyło zyskać.

Zostaw furtkę. W każdej wiadomości po terminie powinno być zdanie zapraszające do kontaktu. Duża część zaległości to nie zła wola, tylko przesunięty przelew od kontrahenta albo chwilowy dołek. Klient, który ma gdzie napisać, pisze i wraca. Ten, który dostaje sam automat, znika.

Ogranicz kanały. Jeden mail plus jeden telefon działa lepiej niż mail, SMS i powiadomienie w aplikacji tego samego dnia. Osobno zbuduj alert dla własnego zespołu, żeby ktoś wiedział, że sprawa wymaga rozmowy. My wysyłamy je na czat firmowy, a przy części wdrożeń przez bota na Telegramie.

Panel zaległości: jeden widok, jeden filtr

Cała ta mechanika jest warta tyle, ile widok, w którym firma ją ogląda. W systemie kursowym zrobiliśmy tabelę rat z filtrem „Zalegający" i to jest najczęściej używany element całej aplikacji.

Widok pokazuje wiersz na ratę, nie na klienta: kto, ile, kiedy było wymagalne, ile dni po terminie i kiedy poszedł ostatni kontakt. Sortowanie po dniach opóźnienia ustawia listę w kolejności, w jakiej trzeba dzwonić, a suma nad tabelą odpowiada na pytanie „ile nam wiszą" bez zestawiania czegokolwiek ręcznie.

W codziennym użyciu różnicę robią rzeczy, które na makiecie wyglądają na drobiazgi:

  • Widoczna data ostatniego kontaktu. Bez niej dwie osoby dzwonią do tego samego klienta w ten sam dzień, a do połowy listy nikt nie dzwoni przez miesiąc.
  • Akcja z poziomu wiersza. Przesunięcie terminu, rozbicie raty i notatka muszą być klikalne tam, gdzie patrzysz na listę. Jeśli zapis ustalenia wymaga przejścia przez trzy ekrany, nie zostanie zapisany.

Do tego jedno zbiorcze podsumowanie dziennie albo tygodniowo: ile rat weszło w opóźnienie, ile uregulowano, jaka jest suma zaległości. Nie alert od każdej raty osobno, bo osobne alerty zamieniają kanał w tło, którego nikt nie czyta.

Karta a przelew: dwie różne mechaniki

Firmy zwykle wrzucają obie ścieżki do jednego worka, choć problem do rozwiązania jest w każdej inny.

Płatność cykliczna kartą działa tak, że pierwszą transakcję inicjuje i potwierdza klient, a operator zwraca token. Kolejne obciążenia sprzedawca inicjuje sam, tym tokenem. Zaletą jest to, że nikt niczego nie musi pamiętać. Wadą, że obciążenia się nie udają: karty wygasają, limity się kończą, banki odrzucają transakcje. To normalny ruch, nie przypadek brzegowy, i trzeba go zaprojektować.

Obsługa nieudanych obciążeń nazywa się z angielska dunningiem i sprowadza się do czterech decyzji: po ilu dniach ponowić, ile prób maksymalnie, co wysłać klientowi przy każdej próbie i co dzieje się po ich wyczerpaniu. Automat ponawiający obciążenie kilkanaście razy w trzy dni potrafi zablokować kartę klienta i skończyć reklamacją zamiast płatnością.

Rata płacona przelewem nie ma problemu nieudanego obciążenia, ma za to problem dopasowania: pieniądze przychodzą na rachunek i ktoś musi wiedzieć, do której raty którego klienta należą. Dane z banku wchodzą wyciągiem w formacie MT940 lub camt.053, czasem przez API, a system dopasowuje wpłatę po tytule, kwocie, nazwie wpłacającego i dacie. Jednoznaczne dopasowania zamykają raty same, reszta ląduje na krótkiej liście wyjątków dla człowieka. Przy dużym wolumenie rozwiązują to rachunki wirtualne: każdy klient ma własny numer subkonta.

Karta z tokenemPrzelew z harmonogramem
Kto inicjuje płatnośćsprzedawcaklient
Typowy problemnieudane obciążeniebrak wpłaty i dopasowanie
Potrzebny mechanizmdunning z limitem próbimport wyciągu i dopasowanie wpłat
Kosztprowizja od każdej transakcjizwykle zero
Dobre dlasubskrypcje, niskie kwoty, B2Cwysokie kwoty, faktury, B2B
Ryzyko relacyjneseria odrzuceń irytuje klientamonit do kogoś, kto już zapłacił

Najlepiej działa układ mieszany: klient detaliczny płaci kartą albo BLIK-iem przez bramkę, firmowy dostaje fakturę z terminem i płaci przelewem, a obie ścieżki kończą się w tej samej tabeli rat. Wtedy panel zaległości ma pełny obraz, niezależnie od tego, którędy przyszły pieniądze.

Kiedy blokować dostęp, a kiedy nie

Pokusa jest duża: skoro system wie o zaległości, niech sam odbierze dostęp. Technicznie to trzy linijki. Biznesowo to zwykle najgorsza możliwa reakcja w pierwszym tygodniu po terminie.

Klienci, którzy przestali płacić, dzielą się na dwie grupy. Pierwsza ma chwilowy problem z płynnością i zapłaci, jeśli dostanie kilka dni i normalną rozmowę. Druga odpuściła i nie zapłaci niezależnie od tego, co zrobisz. Blokada nie odzyskuje pieniędzy od drugiej grupy, a pierwszą zamienia w rezygnację. Przy produkcie edukacyjnym dochodzi do tego, że odcięty uczestnik wypada z rytmu grupy, więc szansa na dokończenie płatności spada.

Nasza reguła praktyczna:

  • Nie blokuj automatycznie w pierwszych dniach po terminie. Ten czas należy do sekwencji przypomnień i do telefonu.
  • Blokada jest decyzją człowieka, podejmowaną po wyczerpaniu sekwencji, z zapisem w systemie kto i kiedy ją włączył.
  • Przywrócenie dostępu po wpłacie ma być natychmiastowe i automatyczne. Klient, który zapłacił i dalej nie ma dostępu przez dwa dni robocze, jest stracony skuteczniej niż przez samą blokadę.
  • Stopniuj. Zawieszenie nowych zamówień albo wygaszenie funkcji premium bywa wystarczające tam, gdzie pełne odcięcie byłoby przesadą.

Wyjątkiem są tanie subskrypcje masowe, gdzie automatyczne zawieszenie po wyczerpaniu prób obciążenia jest standardem i nikt nie odbiera go osobiście. Im wyższa wartość klienta i im bardziej relacyjna sprzedaż, tym mocniej przesuwaj tę decyzję w stronę człowieka.

Księgowość rat: co się dzieje przy każdej wpłacie

Harmonogram rat nie jest zdarzeniem księgowym. Zdarzeniem jest wpłata i to od niej wszystko się zaczyna.

Przy usługach płatnych z góry, a tak jest przy większości kursów, otrzymanie części zapłaty przed wykonaniem usługi rodzi obowiązek podatkowy w VAT w momencie jej otrzymania i w odniesieniu do otrzymanej kwoty (art. 19a ust. 8 ustawy o VAT), a taką wpłatę trzeba udokumentować fakturą (art. 106b ust. 1 pkt 4). Dla systemu oznacza to, że każda opłacona rata potrzebuje własnego dokumentu, a nie jednej faktury wystawionej na starcie za całość. Ujęcie zależy od tego, co i komu sprzedajesz, więc schemat ustal z księgowością, zanim zaprogramujesz automat.

Drugi wątek to obieg dokumentów. Obowiązkowy KSeF ruszył 1 lutego 2026 dla podmiotów, które w 2025 przekroczyły 200 mln zł obrotu, a od 1 kwietnia 2026 objął pozostałe firmy. Najmniejsi podatnicy, o sprzedaży do 10 tys. zł miesięcznie, mają przesunięcie do 1 stycznia 2027 i od tej daty startują kary administracyjne za faktury wystawiane poza systemem. Jeśli budujesz teraz obsługę rat, celem integracji jest program księgowy albo fakturowy gadający z KSeF, a nie generator PDF-ów. Jak spiąć to z resztą obiegu, opisaliśmy w tekście o automatyzacji faktur i księgowości.

Trzeci wątek to należności po terminie. W transakcjach handlowych między firmami odsetki za opóźnienie przysługują bez wezwania i liczy się je jako stopę referencyjną NBP powiększoną o 10 punktów procentowych, a do tego dochodzi ryczałtowa rekompensata z art. 10 ustawy z 8 marca 2013 o przeciwdziałaniu nadmiernym opóźnieniom: 40 euro przy świadczeniu do 5 tys. zł, 70 euro powyżej 5 tys. i poniżej 50 tys. zł oraz 100 euro przy 50 tys. zł i więcej. Wobec konsumentów stosuje się odsetki ustawowe za opóźnienie z art. 481 Kodeksu cywilnego, czyli stopę referencyjną NBP plus 5,5 punktu procentowego. System powinien umieć je policzyć, ale decyzję o naliczeniu zostaw człowiekowi.

Na co uważać

  • Rozłożenie ceny na raty nie jest neutralne prawnie. Ustawy o kredycie konsumenckim nie stosuje się do umów, w których konsument nie płaci odsetek ani innych kosztów kredytu (art. 4 ust. 1 pkt 1), więc czyste rozbicie ceny zwykle poza nią wypada. Każda „opłata za rozłożenie na raty", prowizja czy obowiązkowe ubezpieczenie zmieniają ten obraz. Sprawdź to z prawnikiem, zanim dołożysz taką opłatę.
  • Zmienia się otoczenie prawne odroczonych płatności. Dyrektywa 2023/2225 (CCD2) ma być stosowana od 20 listopada 2026 i obejmuje zakresem także płatności odroczone w modelu BNPL, również te bez odsetek. Prace nad polską ustawą wdrażającą trwały jeszcze w 2026 roku, więc zaplanuj przegląd regulaminu.
  • Automat wysyłający monity mimo ustaleń. Klient dogadał się mailem na nowy termin, nikt nie zmienił statusu raty, sekwencja poszła dalej. Status wstrzymania musi być klikalny tam, gdzie pracuje zespół.
  • Ponowienia obciążeń bez limitu. Ustal maksymalną liczbę prób i odstępy między nimi, zanim uruchomisz cykliczne obciążenia.
  • Webhook to jedyne wiarygodne potwierdzenie płatności. Powrót klienta na stronę „dziękujemy" nie oznacza, że pieniądze doszły, a ten sam webhook potrafi przyjść dwa razy. Więcej w artykule o płatnościach w automatyzacjach.
  • Nie buduj tego od zera, jeśli nie musisz. Przy prostej subskrypcji moduł operatora płatności obsłuży harmonogram i ponowienia lepiej niż Twój kod. Własny model rat ma sens tam, gdzie harmonogramy są indywidualne, a wpłaty przychodzą różnymi drogami. Granicę opłacalności rozkładamy na części w tekście o customowym CRM.

FAQ

Ile rat oferować przy sprzedaży kursu lub usługi?

Nie zapisuj tej liczby na sztywno w systemie. Ustal domyślny wariant, który proponujesz wszystkim, i zbuduj model danych tak, żeby liczba rat, kwoty i terminy dały się zmienić per klient bez zmiany kodu. W naszym wdrożeniu sztywny model „zawsze trzy raty" przestał wystarczać po pierwszej edycji, gdy większość grupy poprosiła o czwartą ratę. Elastyczna tabela rat obsłużyła to bez przebudowy.

Kiedy wysyłać przypomnienie o nadchodzącej racie?

Pierwsze na 5–7 dni przed terminem, drugie w dniu terminu. To wystarcza, żeby zdjąć zaległości wynikające ze zwykłego zapomnienia. Przypomnienia po terminie prowadź jako osobną sekwencję z innym tonem: rzeczowa wiadomość po około trzech dniach i telefon po tygodniu. Saldo weryfikuj w momencie wysyłki, żeby monit nie poszedł do kogoś, kto zapłacił wczoraj.

Czy odcinać klientowi dostęp do produktu po niezapłaconej racie?

Nie automatycznie i nie w pierwszych dniach. Blokada nie odzyskuje pieniędzy od osoby, która odpuściła, a osobę z chwilowym problemem finansowym zamienia w rezygnację. Zrób z niej decyzję człowieka, podejmowaną po wyczerpaniu sekwencji przypomnień i próbie kontaktu, a przywrócenie dostępu po wpłacie zautomatyzuj. Wyjątkiem są tanie subskrypcje masowe, gdzie automatyczne zawieszenie po wyczerpaniu prób obciążenia jest normą.

Czy rozłożenie ceny na raty przez sprzedawcę to kredyt konsumencki?

Ustawy o kredycie konsumenckim nie stosuje się do umów, w których konsument nie jest zobowiązany do zapłaty odsetek ani innych kosztów związanych z kredytem (art. 4 ust. 1 pkt 1), więc samo rozbicie ceny na nieoprocentowane raty zwykle mieści się w tym wyłączeniu. Jeśli dokładasz prowizję, opłatę za rozłożenie albo obowiązkowe ubezpieczenie, sytuacja się zmienia. Dochodzi do tego dyrektywa CCD2, stosowana od 20 listopada 2026, obejmująca także płatności odroczone bez odsetek. Konkretny przypadek skonsultuj z prawnikiem.

Czy każda rata wymaga osobnej faktury?

Przy usługach opłacanych przed wykonaniem otrzymanie części zapłaty rodzi obowiązek podatkowy w VAT w momencie jej otrzymania i w odniesieniu do otrzymanej kwoty (art. 19a ust. 8 ustawy o VAT), a taką wpłatę dokumentuje się fakturą (art. 106b ust. 1 pkt 4). W praktyce oznacza to dokument do każdej opłaconej raty, a nie jedną fakturę na starcie za całość. Szczegóły zależą od przedmiotu sprzedaży i statusu nabywcy, więc schemat ustal z księgowością.

Podsumowanie

Pilnowanie rat rozkłada się na cztery decyzje i najtrudniejsza z nich nie jest techniczna. Model danych: osobna tabela rat zamiast liczby rat zaszytej w strukturze, kwoty w groszach, saldo liczone z danych zamiast ręcznej flagi. Komunikacja: krótka sekwencja przed terminem, osobna po terminie, z furtką do kontaktu w każdej wiadomości. Widok: jedna tabela z filtrem zalegających, posortowana po dniach opóźnienia. I polityka: co się dzieje z dostępem, kto o tym decyduje i po jakim czasie.

Trzy pierwsze rzeczy da się zbudować szybko i zdejmują z firmy większość roboty. Czwarta jest najważniejsza, a jednocześnie najczęściej oddawana automatowi. Zaległość to zwykle sygnał, że u klienta coś się wydarzyło, a nie że jest nieuczciwy. System ma o tym powiedzieć właściwej osobie w odpowiednim momencie, nie zastąpić rozmowy.

Sprzedajesz w ratach i chcesz ustalić, czy w Waszym przypadku wystarczy moduł operatora płatności, czy potrzebny jest własny harmonogram i panel zaległości? Umów bezpłatną konsultację — powiemy wprost, jeśli gotowe narzędzie załatwi sprawę i żadne wdrożenie nie jest potrzebne.

Przeczytaj również

Mikołaj Brunka Od teorii do wdrożenia

Pogadajmy o Twojej firmie. Bezpłatnie.

30 minut o Twoich procesach. Termin wybierasz od razu po wysłaniu.

Umów konsultację