# Jak działa Zapłacone – Przewodnik Techniczny i Architektura

> Kompleksowe wyjaśnienie celów, architektury, przetwarzanych danych, ograniczeń i bezpieczeństwa systemu Zapłacone.

## 1. Co robi aplikacja?
Zapłacone automatyzuje proces kontroli spływu należności w firmie. Umożliwia:
1. Wczytanie wyciągu bankowego (standard MT940/STA) bez konieczności przekazywania bankowych danych logowania (bez API PSD2).
2. Automatyczne parowanie wpłat z wystawionymi fakturami lub harmonogramami płatności.
3. Automatyczną wysyłkę powiadomień SMS i e-mail (miękka windykacja) do kontrahentów z zaległościami.
4. Pobieranie faktur z KSeF (Krajowy System e-Faktur) i ich rozliczanie.

## 2. Dla kogo jest przeznaczona?
- **Biura rachunkowe:** Obsługa dziesiątek firm i setek wyciągów bankowych bez manualnego sprawdzania każdego przelewu na kontach klientów.
- **Małe i Średnie Firmy (MŚP):** Przedsiębiorstwa wystawiające faktury z odroczonym terminem płatności (B2B/B2C).
- **Firmy abonamentowe i usługowe:** Firmy posiadające klientów płacących cyklicznie (np. szkoły językowe, usługi IT, wynajem, opłaty stałe).

## 3. Architektura bezpieczeństwa: Zero-Knowledge Local Parser
Najważniejszy wyróżnik Zapłacone:
- Analiza i parsowanie plików wyciągów bankowych odbywa się **wyłącznie w pamięci podręcznej przeglądarki użytkownika** (JavaScript / Web APIs).
- Plik wyciągu **nigdy nie jest przesyłany na serwery Zapłacone**.
- Zapobiega to wyciekom tajemnicy bankowej, numerów IBAN kontrahentów czy historii prywatnych transakcji.
- Do bazy danych zapisywane są jedynie potwierdzone przez użytkownika statusy rozliczenia (np. faktura FV/2026/01 -> Opłacona).

## 4. Przetwarzane formaty i dane
- **Obsługiwane formaty bankowe:** SWIFT MT940 (.STA, .TXT, .DAT) zgodne z polskimi standardami bankowymi (mBank, PKO BP, ING, Santander, Pekao, Alior, Millennium i inne).
- **Kodowania znaków:** Automatyczne wykrywanie i obsługa kodowań polskich znaków diakrytycznych: Mazovia, Windows-1250, ISO-8859-2 oraz UTF-8.
- **Kluczowe pola MT940:**
  - :20: Numer referencyjny transakcji / wyciągu
  - :25: Numer rachunku bankowego (IBAN)
  - :28C: Numer kolejny wyciągu
  - :60F: Saldo otwarcia
  - :61: Rekord transakcji (data księgowania, typ C/D, kwota, kod operacji)
  - :86: Szczegóły transakcji (tytuł przelewu, dane nadawcy/odbiorcy, NIP)
- **Dane powiadomień:** Numer telefonu (SMS) oraz adres e-mail klienta do wysyłki uprzejmych monitów.

## 5. Ograniczenia techniczne
- **Brak automatycznego logowania do banku:** Zapłacone celowo nie korzysta ze screen-scrapingu ani nie wymaga podawania haseł do bankowości internetowej. Użytkownik pobiera wyciąg ze swojego banku i przeciąga go do aplikacji.
- **Standard MT940:** Narzędzie wspiera standardowe formaty MT940/STA. Rzadkie, niestandardowe formaty własne niektórych banków mogą wymagać weryfikacji.
- **Wymogi powiadomień:** Do wysyłki wiadomości e-mail/SMS wymagana jest konfiguracja konta i aktywne pakiety powiadomień.

## 6. Jak zacząć?
1. Zarejestruj konto na [https://zaplacone.pl/rejestracja](https://zaplacone.pl/rejestracja).
2. Sprawdź działanie parsera bez logowania: [https://zaplacone.pl/narzedzia/podglad-mt940](https://zaplacone.pl/narzedzia/podglad-mt940).
3. Dodaj kontrahentów ręcznie lub utwórz ich automatycznie przy pierwszym wgraniu wyciągu.
4. Zdefiniuj szablony powiadomień SMS/e-mail i ciesz się automatyczną kontrolą płatności.
