File size: 2,223 Bytes
89bea2e
 
 
 
 
 
 
 
 
0f283ae
 
9c4e7c0
0f283ae
9c4e7c0
 
 
0f283ae
9c4e7c0
0f283ae
9c4e7c0
0f283ae
 
 
9c4e7c0
 
0f283ae
9c4e7c0
0f283ae
9c4e7c0
 
0f283ae
 
9c4e7c0
 
 
 
 
 
 
 
 
0f283ae
9c4e7c0
0f283ae
9c4e7c0
 
 
0f283ae
9c4e7c0
0f283ae
9c4e7c0
0f283ae
9c4e7c0
0f283ae
9c4e7c0
 
 
 
 
 
 
0f283ae
9c4e7c0
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---
title: Test DB
emoji: 🧾
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: false
---

# Generator faktur

Projekt oferuje dwa sposoby tworzenia faktur: prostą aplikację CLI oraz rozbudowany panel webowy z backendem Flask i estetycznym PDF-em.

## Co w środku?
- **CLI** – szybkie narzędzie terminalowe do pojedynczych dokumentów.
- **Frontend + backend** – logowanie, edycja danych firmy, inteligentny formularz nabywcy, historia faktur i eleganckie PDF-y z logo.

---

## Aplikacja webowa

### Wymagania
- Python 3.8+
- `pip install -r requirements.txt`
- (opcjonalnie) `NEON_DATABASE_URL` – gdy ustawisz połączenie z bazą PostgreSQL/Neon, klienci i faktury są zapisywani w bazie zamiast w pliku.

### Uruchomienie
```powershell
python server.py
# aplikacja działa na http://localhost:5000
```

### Funkcje
- onboarding z konfiguracją firmy i logo,
- logowanie z tokenem w `sessionStorage`,
- edycja sprzedawcy i zarządzanie logo (PNG/JPG do 512 KB),
- formularz nabywcy z wyszukiwarką (po nazwie lub NIP-ie, wyniki tylko z konta zalogowanego użytkownika),
- dynamiczna tabela pozycji licząca netto/VAT/brutto oraz obsługę stawek 23/8/5/0/ZW/NP,
- sekcja zwolnienia podatkowego i automatyczna nota prawna,
- dashboard z filtrami dat, wykresem i historią ostatnich 200 faktur,
- eksport PDF spójny z UI (logo nad sprzedawcą, kapsułki z sumami, czytelna tabela).

> PDF-y generuje [jsPDF](https://cdnjs.com/libraries/jspdf) ładowany z CDN – przeglądarka musi mieć dostęp do internetu.

### Reset danych
- tryb plikowy: usuń `web_invoice_store.json`, aby przejść onboarding ponownie,
- tryb Neon: wyczyść tabele w bazie lub użyj nowej bazy.

---

## Aplikacja CLI

Lekki kreator w terminalu zapisujący dokumenty do katalogu `invoices/` i historię w `invoice_data.json`.

### Uruchomienie
```powershell
python invoice_app.py
```
1. Przy pierwszym starcie wpisz dane firmy i ustaw hasło.
2. Przy kolejnych startach logujesz się, uzupełniasz dane pozycji i (opcjonalnie) klienta.
3. Utworzona faktura trafia do `invoices/`, a historia do pliku JSON.

### Reset CLI
Usuń katalog `invoices/` oraz plik `invoice_data.json`, aby rozpocząć od nowa (historia zostanie utracona).