Troubleshooting & Reference · Article 7.10
„Status mówi Faktura końcowa wystawiona, ale faktura nie ma pozycji"
Stan wyścigu między `Oznacz jako ukończone` a wstępnie wyrenderowaną fakturą końcową. Jeśli wstępny render cicho się nie powiódł przed kliknięciem ukończenia, rekord faktury jest tworzony, ale PDF jest pusty lub błędny. Odtworzenie: zregeneruj fakturę końcową.
Przepływ faktury końcowej ma dwa etapy: wstępny render (w tle, w chwili opłacenia zaliczki) i wysyłka (na pierwszym planie, po kliknięciu Oznacz jako ukończone). Wstępny render to miejsce, gdzie kryje się większość błędów — jeśli Gotenberg zawiedzie podczas wstępnego renderu, rekord INV-zastępczej istnieje, ale jej PDF jest uszkodzony.
Step by step
Sprawdź listę rozwijającą Dokumenty.
Sprawdź INV-XXXX — jeśli brakuje lub jest oznaczona jako błędna, to jest podstawowy problem.
Kliknij
Zregeneruj fakturę końcowąz Akcji. Renderer uruchamia się ponownie z aktualnym stanem oferty (po aneksie jeśli dotyczy).
Potwierdź PDF.
Otwórz INV-XXXX z Dokumentów; pozycje powinny być wypełnione.
Wystaw ponownie jeśli potrzeba.
Jeśli już wywołałeś e-mail z uszkodzonym PDF, kliknij
Wyślij ponownie e-mail z fakturą końcową, aby wysłać poprawioną wersję.
Why this works this way
Przepływ wstępnego renderu (zadanie Celery prepare_final_invoice):
1. Renderuj HTML faktury końcowej (Jinja).
2. Wyślij do Gotenberg → bajty PDF.
3. Prześlij do R2.
4. Zapisz URL w FinalInvoice.pdf_url.
Jeśli krok 2 lub 3 nie powiedzie się po ponowieniach, rekord FinalInvoice istnieje z pdf_url = null. Status oferty pozostaje na Deposit paid i pojawia się przycisk Ponów fakturę końcową. Przed poprawką (wczesny 2026 r.) przycisk nie zawsze się pojawiał — status przechodził do In work i nie można było powiedzieć, że PDF brakuje, dopóki nie kliknięto Oznacz jako ukończone. Obecne zachowanie (poprawka maj 2026 r.) blokuje postęp statusu, gdy wstępny render się nie powiedzie, więc problem ujawnia się wcześniej.
Troubleshooting
Keep reading
Lifecycle
Status: In work — deposit settled, project running, final invoice ready
You're between the deposit and the final payment. The final invoice is pre-rendered and ready to issue when you finish. Clozo doesn't track project progress here — you do — but it's listening for you to say `done`.
Proposals & Invoices
The 4 delta branches: Δ+, Δ−, Δ=0, Δ_REFUND
Every signed amendment falls into one of four branches based on (a) the sign of the cost change and (b) whether the proposal was already paid. Each branch fires a different document chain. This is the central conceptual map for the entire amendment system.
Troubleshooting & Reference
"The invoice link is broken or the PDF is missing"
PDFs occasionally fail to render (Gotenberg flake) or fail to upload to R2. Symptom: the document shows as "issued" but clicking the link returns 404 or the PDF is blank. Recovery: regenerate from the Documents dropdown.