Dodaje fakturę zakupu (koszt) do rejestru SQLite — zapisuje sprzedawcę, NIP, kwoty, kategorię, datę wpływu. Obsługuje wprowadzanie ręczne ORAZ OCR z pliku (PDF/JPG/PNG) przez lokalny Pixtral 12B z fallbackiem na Claude Haiku 4.5. Na ryczałcie koszty NIE pomniejszają podatku, ale VAT naliczony idzie do JPK_V7M jako odliczalny. Użyj gdy user mówi "dodaj fakturę zakupu", "zarejestruj koszt", "wprowadź wydatek", "kupiłem laptopa za...", "fakturę za hosting/SaaS/internet/paliwo", "dorzuć fakturę kosztową", "zeskanuj fakturę", "wczytaj PDF-a z fakturą", lub gdy user przesyła plik faktury.
Zapisuje koszt do tabeli expenses w SQLite. Używane potem przez skill jpk do wyliczenia VAT naliczonego do odliczenia.
--seller-country)YYYY-MM-DD)0)Opcjonalnie:
receive-date — data wpływu (domyślnie = issue-date). To ona decyduje o miesiącu w JPK_V7M.description — co kupiłeścategory — uslugi_obce | materialy | media | paliwo | samochod | biuro | sprzet | szkolenia | innevat-rate — stawka (domyślnie 23)--no-vat-deductible — flaga jeśli VAT NIE podlega odliczeniu (paliwo do auta osobowego, koszty reprezentacji)file-path — ścieżka do PDF/JPG zachowanego skanuDopytaj usera jeśli czegoś brakuje, zwłaszcza NIP i kwot. Nie wymyślaj.
python3 skills/expense/scripts/add.py \
--seller-name "Hetzner Online GmbH" \
--seller-nip "DE812871812" \
--seller-country DE \
--document-number "R0012345" \
--issue-date "2026-04-15" \
--description "Hosting VPS kwiecien 2026" \
--category uslugi_obce \
--netto 100 \
--vat 23
Zwraca JSON z id rekordu, datami i statusem saved.
Zamiast przepisywać dane, user może podać plik faktury:
# Podglad (preview, bez zapisu):
python3 skills/expense/scripts/scan.py --file faktura.pdf
# Zapis od razu:
python3 skills/expense/scripts/scan.py --file faktura.pdf --save
Flow:
--save skrypt zwraca JSON z wyciągniętymi polami + source (ollama | claude).--save lub skills/expense/scripts/add.py z poprawionymi polami.Backend domyślny: Pixtral 12B przez Ollama (http://localhost:11434). Przy błędzie/timeout → fallback na Claude Haiku 4.5 (wymaga ANTHROPIC_API_KEY).
Konfiguracja przez OCR_PROVIDER (auto | ollama | claude) w .env.
python3 skills/expense/scripts/list.py --month 4 --year 2026
Pokaż userowi: sprzedawca, numer dokumentu, kwoty, czy VAT odliczalny.
Jeśli vat_deductible=true — przypomnij że ten koszt zwiększy VAT do odliczenia w JPK_V7M za dany miesiąc.
DE812871812), ustaw --seller-country DE. Standardowy reverse charge — VAT nadal idzie do K_42/K_43, ale skomplikuje się sprawozdawczo (poza zakresem tego skilla).document_number z prefiksem KOR-.