Blog · Case study

Kwitly: fakturowanie i dokumenty sprzedaży w praktyce

Kwitly powstał z potrzeby, którą znamy z rozmów z właścicielami firm: dokumenty sprzedaży rozproszone po mailach, PDF-ach i arkuszach. Chcieliśmy panel, w którym status dokumentu, historia i eksport są tak samo ważne jak samo wystawienie faktury.

Problem biznesowy

W małej i średniej firmie „wystawienie faktury” to tylko wierzchołek. Potem pojawia się pytanie: czy dokument wyszedł do klienta, czy jest zapłacony, czy trzeba korektę, czy dane kontrahenta są aktualne. Gdy te odpowiedzi siedzą w głowie jednej osoby, firma nie skaluje się bez chaosu.

Kwitly ma być narzędziem operacyjnym: szybkie wyszukiwanie, czytelne statusy, powtarzalne szablony i miejsce na historię zdarzeń wokół dokumentu.

Decyzje produktowe

Postawiliśmy na webowy panel zamiast desktopowego klienta. Aktualizacje trafiają do wszystkich użytkowników naraz, a praca z dowolnego urządzenia nie wymaga instalacji. Rola użytkownika (właściciel, księgowość, handlowiec) ogranicza widoczność wrażliwych akcji.

Drugą decyzją było traktowanie dokumentu jako obiektu z cyklem życia, a nie tylko pliku PDF. PDF jest artefaktem wyjściowym. Źródłem prawdy pozostaje rekord w bazie: pozycje, stawki, kontrahent, status, znaczniki czasu.

Warstwa techniczna

Frontend oparty o Next.js daje szybkie ekrany list i szczegółów. Backend i model danych w PostgreSQL pozwalają budować raporty i ograniczenia spójności (np. numeracja, powiązania pozycji). Integracje (e-commerce, e-mail, eksporty) dokładamy jako procesy, które da się ponowić po błędzie sieciowym.

Środowisko produkcyjne działa w kontenerze za reverse proxy z HTTPS. Rebuildy idą z repozytorium, a sekrety (klucze API, połączenie do bazy) nie trafiają do Git.

Czego nauczyliśmy się na produkcji

  • Operatorzy potrzebują kontekstu: „co się stało z tym dokumentem”, nie tylko listy pól.
  • Import danych historycznych bywa trudniejszy niż nowy UI; warto zaplanować go wcześnie.
  • Walidacja kontrahenta i pozycji oszczędza godziny supportu później.
  • Czytelne komunikaty błędów przy integracjach są funkcją produktową, nie kosmetyką.

Dla kogo jest Kwitly

Dla zespołów, które wystawiają dokumenty regularnie i chcą mieć jeden panel zamiast mieszanki Excela, skrzynek mailowych i ręcznych PDF-ów. Jeśli budujesz podobny proces w swojej firmie (nawet poza fakturowaniem), ten case pokazuje nasz sposób myślenia: obiekt biznesowy, statusy, historia, automatyzacja brzegów.

Więcej o podejściu do SaaS: Jak budujemy aplikacje SaaS. Produkt: kwitly.cloud. Współpraca: kontakt.

Wróć do bloga