Jak zbudować aplikację do fakturowania
Aplikacja do fakturowania prowadzi listę klientów, pozwala tworzyć faktury z pozycjami i podatkiem, nadaje każdej unikalny numer, tworzy PDF albo link, który klient może otworzyć, i śledzi, czy faktura została opłacona. Pierwsza wersja to prosta aplikacja z bazą danych, którą możesz zbudować z AI w ciągu jednego lub dwóch popołudni. Szczegóły, które mają znaczenie — numeracja, podatek, blokowanie faktur, status płatności — decydują o tym, czy masz zabawkę, czy coś, co możesz wysłać klientowi.
Zdecyduj, jakiego narzędzia do fakturowania potrzebujesz
„Aplikacja do fakturowania” obejmuje kilka różnych rzeczy. Wybierz jedną przed startem:
| Rodzaj | Kto korzysta | Co go wyróżnia |
|---|---|---|
| Osobisty generator faktur | Freelancer | Jedna firma, szybki PDF, prosta lista tego, kto zapłacił |
| Narzędzie do fakturowania dla firmy | Mały zespół | Kilku użytkowników, wspólna lista klientów, raporty |
| Fakturowanie w większej aplikacji | Twoi klienci albo pracownicy | Faktury tworzone ze zleceń, rezerwacji lub kart czasu pracy, które już śledzisz |
| Produkt do fakturowania dla innych | Wiele firm | Każde konto widzi tylko swoje dane — to SaaS |
Trzeci rodzaj to miejsce, w którym budowanie własnego rozwiązania najbardziej się opłaca: jeśli i tak zapisujesz zlecenia lub godziny, wygenerowanie faktury z tych danych oszczędza przepisywania. Czwarty to pełnoprawne MVP SaaS z własnymi problemami dotyczącymi kont i rozliczeń.
Model danych
Cztery tabele pokrywają większość potrzeb:
- Ustawienia firmy — Twoja nazwa, adres, numer NIP lub VAT, logo, dane bankowe, domyślne terminy płatności, domyślna stawka podatku, waluta i następny numer faktury.
- Klienci — nazwa, firma, e-mail, adres do faktury, numer podatkowy, jeśli jest potrzebny, i domyślne warunki.
- Faktury — numer, klient, data wystawienia, termin płatności, status, waluta, uwagi i sumy (netto, podatek, brutto).
- Pozycje — faktura, opis, ilość, cena jednostkowa, stawka podatku i wartość pozycji.
Dodaj tabelę płatności, jeśli klienci płacą w ratach lub kilkoma metodami: faktura, data, kwota, metoda, numer referencyjny.
Reguły, które mają znaczenie
Tych części narzędzia AI nie zrobi dobrze, dopóki o nie nie poprosisz:
- Kolejne, unikalne numery. Wiele systemów podatkowych oczekuje, że numery faktur będą unikalne i kolejne. Generuj numer na serwerze w momencie wystawienia faktury, a nie przy tworzeniu szkicu, żeby porzucone szkice nie zostawiały dziur.
- Blokuj wysłane faktury. Gdy faktura zostanie wysłana, cicha edycja to problem. Pozwól edytować tylko szkice; wysłaną fakturę unieważnij i wystaw nową albo wystaw notę korygującą.
- Zapisuj migawkę danych klienta. Jeśli klient zmieni adres za rok, faktury z zeszłego roku powinny nadal pokazywać stary. Kopiuj dane klienta na fakturę w momencie wystawienia.
- Pieniądze jako całe jednostki najmniejszej monety. Przechowuj kwoty w groszach, a nie jako ułamki dziesiętne, żeby sumy nie rozjeżdżały się przez zaokrąglenia. Zaokrąglaj podatek tak, jak oczekuje tego urząd skarbowy — per pozycja albo per faktura.
- Status zgodny z rzeczywistością. Szkic, wysłana, opłacona, częściowo opłacona, przeterminowana, unieważniona. Status „przeterminowana” powinien wynikać z terminu płatności, a nie być ustawiany ręcznie.
PDF czy strona faktury?
Klienci oczekują PDF-u, ale stronę internetową łatwiej utrzymać w synchronizacji. Większość narzędzi do fakturowania oferuje oba:
- Udostępnialna strona faktury z trudnym do odgadnięcia linkiem, dzięki czemu klient może ją obejrzeć i opłacić bez logowania.
- Pobieranie PDF wygenerowanego z tych samych danych, z Twoim logo i danymi.
Zadbaj o układ przyjazny drukowaniu i sprawdź PDF pod kątem formatu papieru (A4 lub US Letter). Długie listy pozycji powinny czysto przechodzić na kolejne strony.
Otrzymywanie płatności online
Dla wielu firm wystarczy pokazanie danych bankowych na fakturze. Jeśli chcesz płatności kartą, podłącz dostawcę płatności:
- Stripe Checkout albo link do płatności na kwotę faktury. Klient klika „Zapłać teraz” na stronie faktury.
- Webhook od dostawcy informuje aplikację, że płatność się powiodła, a aplikacja oznacza fakturę jako opłaconą. Nie oznaczaj jej jako opłaconej tylko dlatego, że klient wrócił na stronę sukcesu — tę stronę da się otworzyć bez zapłaty. Zobacz jak dodać płatności do aplikacji.
- Najpierw tryb testowy. Używaj kluczy testowych dostawcy i testowych kart, dopóki cały przepływ nie zadziała.
Warto wiedzieć: od września 2026 Stripe oferuje też własny produkt do fakturowania z hostowanymi stronami faktur. Jeśli potrzebujesz tylko wysłać fakturę i otrzymać płatność, może to wystarczyć.
Przypomnienia
Automatyczne e-maile „Twoja faktura jest do zapłaty” to jedna z najbardziej cenionych funkcji i jedna z najłatwiejszych do zepsucia. Potrzebujesz:
- Dostawcy poczty (Resend, Postmark, SendGrid i podobne) — zobacz wysyłanie e-maili z aplikacji.
- Czegoś, co działa według harmonogramu i wyszukuje przeterminowane faktury. Opublikowana aplikacja webowa, która zasypia, gdy jest bezczynna, sama się nie obudzi, więc zapytaj twórcę, jak będzie uruchamiane sprawdzanie — na przykład zaplanowanym wywołaniem z zewnętrznej usługi cron do endpointu w Twojej aplikacji.
- Zapisu, które przypomnienia zostały wysłane, żeby nikt nie dostał tego samego e-maila dwa razy.
Zacznij od ręcznego przycisku „Wyślij przypomnienie”. Automatyzację dodasz później.
Pierwszy prompt, który działa
Zbuduj aplikację do fakturowania dla mojej firmy zajmującej się projektowaniem stron. Logowanie i zarządzanie klientami (nazwa, firma, e-mail, adres do faktury, numer VAT). Tworzę faktury z pozycjami (opis, ilość, cena jednostkowa), stawką VAT dla każdej pozycji i widzę sumę netto, VAT i brutto liczone na bieżąco. Numery faktur są kolejne (INV-0001, INV-0002) i przydzielane w chwili, gdy oznaczę fakturę jako wysłaną; szkice pozostają edytowalne, wysłane faktury są zablokowane. Każda faktura ma status (szkic, wysłana, opłacona, przeterminowana) i termin płatności; przeterminowanie wylicza się z terminu. Każda faktura dostaje prywatny link do udostępnienia i pobieranie PDF z moim logo i danymi bankowymi. Pulpit pokazuje łączną kwotę do zapłaty i przeterminowane. Kwoty przechowuj w groszach. Tylko GBP. Zapisuj wszystko w bazie danych.
Kroki budowy
- Najpierw ustawienia i klienci. Dane firmy i lista klientów muszą działać, bo każda faktura od nich zależy.
- Edytor faktur. Pozycje, podatek i sumy. Testuj z niewygodnymi liczbami — 3 × £33,33 przy 20% VAT — i sprawdzaj sumy kalkulatorem.
- Numeracja i blokowanie. Wystaw trzy faktury, usuń szkic, wystaw kolejną. Numery powinny być kolejne, bez luk i duplikatów.
- Strona faktury i PDF. Otwórz link do udostępnienia w oknie prywatnym. Wydrukuj PDF.
- Płatności. Dodaj Stripe w trybie testowym, opłać fakturę testową kartą i potwierdź, że webhook oznacza ją jako opłaconą.
- Sprawdzenie bezpieczeństwa. Wyloguj się i spróbuj otworzyć fakturę innego klienta, zmieniając ID w adresie. Działać powinien tylko prywatny link, który nie ujawnia innych faktur. Nasza lista kontrolna bezpieczeństwa zawiera więcej rzeczy do sprawdzenia.
- Eksport. Dodaj eksport CSV faktur i płatności dla księgowego.
Typowe błędy
- Pieniądze jako liczby zmiennoprzecinkowe. Że 0,1 + 0,2 nie równa się 0,3 to prawdziwy błąd w prawdziwych aplikacjach. Przechowuj całe jednostki najmniejsze.
- Edytowalne wysłane faktury. Zmiana faktury, którą klient już ma, powoduje spory i problemy księgowe.
- Numery przydzielane do szkicu. Tworzy luki i zamieszanie.
- Linki do faktur, które da się odgadnąć.
/invoice/42zachęca do wpisania/invoice/43. Używaj długich, losowych tokenów. - Zakładanie jednej reguły podatkowej. Stawki, odwrotne obciążenie i wymagane sformułowania różnią się w zależności od kraju i typu klienta. Zapytaj księgowego; nie pozwalaj AI zgadywać.
- Brak kopii zapasowej. Faktury to dokumenty, które możesz być zobowiązany przechowywać przez lata. Eksportuj regularnie, a na planach, które to umożliwiają, trzymaj kod w GitHub.
Koszty i narzędzia
| Element | Do czego służy | Uwagi |
|---|---|---|
| Narzędzie do budowy aplikacji / hosting / baza danych | Budowa i uruchamianie aplikacji | W Mythex jedno saldo kredytów pokrywa wszystkie te elementy — zobacz cennik |
| Dostawca płatności | Płatności kartą | Pobiera prowizję od transakcji; sprawdź aktualny cennik dostawcy dla swojego kraju |
| Dostawca poczty | Wysyłka faktur i przypomnień | Wielu oferuje darmowe plany przy niewielkim wolumenie |
| Domena | Profesjonalne linki do faktur | Opcjonalna, rozliczana rocznie |
Kiedy lepszy jest gotowy program do fakturowania
Buduj własne, gdy fakturowanie jest częścią Twojego procesu, gdy chcesz narzędzia dopasowanego dokładnie do sposobu wystawiania faktur albo gdy dodajesz faktury do aplikacji, którą już masz. Wybierz sprawdzony program księgowy lub do fakturowania, gdy:
- Potrzebujesz ksiąg, połączeń z bankiem, śledzenia wydatków i deklaracji podatkowych w jednym miejscu.
- Twój kraj wymaga e-faktur w określonym formacie albo przez certyfikowany kanał.
- Wolisz, by Twój księgowy pracował w narzędziu, które już zna.
Częsta droga pośrednia: zbuduj część specyficzną dla Ciebie (zlecenia, karty czasu pracy, portal klienta, w którym klienci widzą swoje faktury) i wyeksportuj liczby do programu księgowego. Budowa czy zakup oprogramowania dla małych firm omawia tę decyzję.
Budowa z Mythex
W Mythex opisujesz aplikację do fakturowania w czacie i obserwujesz, jak nabiera kształtu w podglądzie na żywo. Dodaje bazę danych, gdy aplikacja jej potrzebuje, przechowuje klucze API, takie jak Twój sekretny klucz Stripe, w sekretach projektu i publikuje aplikację pod adresem URL, z którego możesz korzystać od razu. Przepis na Stripe w dokumentacji pokazuje konfigurację z własnymi kluczami. Aby zacząć od promptu, który już opisuje podstawy, wypróbuj szablony generator faktur lub fakturowanie dla freelancerów.
Pytania
Jakie funkcje powinna mieć aplikacja do fakturowania?
Listę klientów, faktury z pozycjami, podatkiem i sumami, unikalne kolejne numery faktur, PDF albo udostępnialną stronę faktury oraz status każdej faktury (szkic, wysłana, opłacona, przeterminowana). Najbardziej przydatne kolejne dodatki to płatności online i przypomnienia.
Czy aplikacja do fakturowania może przyjmować płatności kartą?
Tak, przez dostawcę płatności, na przykład Stripe. Aplikacja tworzy link do płatności lub checkout na kwotę faktury, a webhook od dostawcy oznacza fakturę jako opłaconą, gdy płatność się powiedzie.
Czy legalne jest korzystanie z własnej aplikacji do fakturowania?
Ogólnie tak, ale faktury muszą spełniać wymogi co do treści, które różnią się w zależności od kraju — dane sprzedawcy, numery podatkowe, daty, rozbicie podatku — a niektóre kraje wymagają e-faktur w określonym formacie. Przed poleganiem na aplikacji sprawdź z księgowym, co dotyczy Ciebie.
Czy powinienem zbudować aplikację do fakturowania, czy użyć programu księgowego?
Użyj programu księgowego, jeśli potrzebujesz ksiąg, rozliczeń podatkowych lub uzgadniania z bankiem. Buduj własną aplikację, gdy fakturowanie jest powiązane z Twoim własnym procesem — zleceniami, kartami czasu pracy, projektami — albo gdy chcesz prostego narzędzia bez opłat za stanowisko.