Jacek Pyziak
33ee1a1cf5
feat(115): wystawianie faktury z zamowienia (lokalne + delegowane Fakturownia)
Phase 115 complete (vertical slice "zamowienie z NIP -> faktura PDF"):
- Task 1: InvoiceRepository + InvoiceService (dual-flow orchestrator) +
InvoiceIssueException + FakturowniaApiClient::createInvoice + buildPdfUrl
- Task 2: InvoiceController + OrdersController::toggleInvoiceRequested +
OrdersRepository::setInvoiceRequested + auto-import invoice_requested z
Allegro (invoice.required) i shopPRO (5-key flexible parser) + show.php
(toggle w zakladce Platnosci + warunkowy przycisk Wystaw fakture)
- Task 3: Lista wystawionych /settings/accounting/invoices/issued z filtrami
+ invoice_preview + invoice_pdf Dompdf template + hub link
- Task 3b (dodany): NIP lookup przez MF Biala Lista (publiczne API, bez
rejestracji) — MfWhitelistApiClient w src/Core/Http/ + /api/nip/lookup +
przycisk "Pobierz z GUS" w formularzu
Auto-fixes podczas smoke testu (5):
- GUS endpoint Fakturowni nie istnial (HTML 404 -> "json is not valid");
switch na MF Biala Liste
- PHP 8.5 curl_close() deprecation wycieka HTML przed JSON; usuniete z
MfWhitelistApiClient i FakturowniaApiClient (3 miejsca)
- Fakturownia 422 payment_to_kind_days (nieistniejace pole) -> usuniete
- Generic "error" w 422 -> parser plaskuje errors: {pole: [...]} +
error_log z 1000 znakow raw body
- Fakturownia security odrzuca seller_*/department_id jako "create new
department"; usuniete z payloadu (Fakturownia uzywa danych konta)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 23:34:50 +02:00
..
2026-03-12 23:36:06 +01:00
2026-03-13 00:43:04 +01:00
2026-03-13 00:58:59 +01:00
2026-03-13 10:15:58 +01:00
2026-03-13 10:15:58 +01:00
2026-03-13 17:26:03 +01:00
2026-03-15 00:37:21 +01:00
2026-03-15 19:49:06 +01:00
2026-03-15 19:49:06 +01:00
2026-03-15 19:49:06 +01:00
2026-03-15 20:31:04 +01:00
2026-03-15 21:00:29 +01:00
2026-03-15 23:57:33 +01:00
2026-03-16 23:59:25 +01:00
2026-03-18 00:02:18 +01:00
2026-03-18 00:39:47 +01:00
2026-03-22 21:16:54 +01:00
2026-03-22 21:16:54 +01:00
2026-03-22 21:16:54 +01:00
2026-03-22 22:49:28 +01:00
2026-03-22 23:54:59 +01:00
2026-03-22 23:10:07 +01:00
2026-03-22 23:27:14 +01:00
2026-03-22 23:42:56 +01:00
2026-03-22 23:53:44 +01:00
2026-03-23 18:17:21 +01:00
2026-03-23 20:33:44 +01:00
2026-03-23 23:04:05 +01:00
2026-03-23 23:55:42 +01:00
2026-03-25 21:59:37 +01:00
2026-03-25 22:46:51 +01:00
2026-03-25 22:46:51 +01:00
2026-03-25 22:46:51 +01:00
2026-03-25 22:46:51 +01:00
2026-03-27 09:40:06 +01:00
2026-03-27 12:54:57 +01:00
2026-03-28 15:04:35 +01:00
2026-03-28 13:24:20 +01:00
2026-03-28 15:04:35 +01:00
2026-03-28 15:04:35 +01:00
2026-03-28 15:32:34 +01:00
2026-03-28 21:16:21 +01:00
2026-03-29 23:15:52 +02:00
2026-03-29 23:32:07 +02:00
2026-03-29 23:40:25 +02:00
2026-03-29 23:51:24 +02:00
2026-03-31 00:30:50 +02:00
2026-03-31 00:30:50 +02:00
2026-03-31 00:30:50 +02:00
2026-03-31 00:30:50 +02:00
2026-03-31 00:30:50 +02:00
2026-03-31 10:56:31 +02:00
2026-03-31 10:56:31 +02:00
2026-04-02 00:17:46 +02:00
2026-04-03 11:30:14 +02:00
2026-04-03 22:35:49 +02:00
2026-04-03 22:35:49 +02:00
2026-04-03 22:35:49 +02:00
2026-04-03 22:35:49 +02:00
2026-04-04 18:20:13 +02:00
2026-04-06 12:00:08 +02:00
2026-04-07 08:21:38 +02:00
2026-04-07 08:26:53 +02:00
2026-04-07 09:14:40 +02:00
2026-04-07 10:44:03 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 20:32:43 +02:00
2026-04-07 22:39:16 +02:00
2026-04-07 22:39:16 +02:00
2026-04-07 22:39:16 +02:00
2026-04-08 19:08:40 +02:00
2026-04-08 19:08:40 +02:00
2026-04-08 20:59:55 +02:00
2026-04-08 20:59:55 +02:00
2026-04-08 23:22:48 +02:00
2026-04-09 00:51:24 +02:00
2026-04-09 12:14:36 +02:00
2026-04-12 01:35:19 +02:00
2026-04-12 01:35:19 +02:00
2026-04-12 01:35:19 +02:00
2026-04-12 01:35:19 +02:00
2026-04-12 01:35:19 +02:00
2026-04-13 10:56:03 +02:00
2026-04-13 22:31:06 +02:00
2026-04-13 22:31:06 +02:00
2026-04-13 22:31:06 +02:00
2026-04-14 20:36:20 +02:00
2026-04-16 23:19:11 +02:00
2026-04-17 09:03:44 +02:00
2026-04-19 22:43:02 +02:00
2026-04-22 22:54:26 +02:00
2026-04-27 21:19:29 +02:00
2026-04-27 22:10:24 +02:00
2026-04-28 22:15:04 +02:00
2026-04-28 22:48:31 +02:00
2026-05-05 23:35:14 +02:00
2026-05-07 23:22:37 +02:00
2026-05-10 22:11:55 +02:00
2026-05-10 22:32:29 +02:00
2026-05-10 23:34:50 +02:00