Refunds & Notifications · Article 6.6
Strona Not kredytowych
Pełnoprawna sekcja w panelu freelancera wyświetlająca każdą notę kredytową dla wszystkich Twoich ofert, ze statusem, kwotą zwrotu, powiązaną ofertą i przyciskami akcji. Używaj jej, gdy chcesz zarządzać zwrotami bez wchodzenia w każdą ofertę z osobna.
Do kwietnia 2026 r. noty kredytowe były widoczne tylko w poszczególnych ofertach — trzeba było znaleźć ofertę, otworzyć Dokumenty, znaleźć notę kredytową. Działało to, gdy miałeś jeden lub dwa zwroty w toku; przestawało działać, gdy miałeś ich kilkanaście. Strona Not kredytowych wyświetla historię zwrotów i oczekujące akcje w jednym miejscu, posortowane według statusu tak, aby elementy wymagające Twojej uwagi trafiały na górę.
Step by step
Otwórz
/credit-notesz paska bocznego panelu (pod Zwroty / Noty kredytowe).
Filtruj według statusu.
Rząd pigułek na górze: Wszystkie, Oczekujące, Zlecone, Nieudane, Zakończone, Ręczne. Oczekujące i Nieudane domyślnie sortowane na górę — to te wymagające Twojego działania.
Sprawdź wiersz.
Każdy pokazuje: CRN-NNNN, kwotę zwrotu + walutę, odznakę statusu, link do numeru oferty, link do numeru aneksu, datę wystawienia, datę zakończenia zwrotu (jeśli dotyczy), przyciski akcji.
Podejmij akcję z wiersza.
Te same przyciski co baner Zwrotu per oferta: Odśwież status (artykuł 8.7), Ponów (artykuł 8.8), Oznacz jako zwrócony (artykuł 8.9), Pobierz PDF.
Przejdź do oferty w razie potrzeby.
Kliknij numer oferty, aby otworzyć
/proposals/{id}dla pełnego kontekstu (Timeline, Dokumenty, powiązany aneks).
Why this works this way
Backend: CreditNoteListView (amendment_views.py:849, [D-116]) zwraca wszystkie nieusunięte noty kredytowe dla ofert uwierzytelnionego freelancera, posortowane malejąco według issued_at. Każdy wiersz zawiera numer oferty, nazwę klienta i numer aneksu obok własnych pól noty kredytowej — nie są potrzebne dodatkowe żądania do wyrenderowania listy.
Frontendowa strona czyta z tego samego kształtu co serializator get_credit_notes per oferta, więc komponent per wiersz jest ponownie używany. Filtry działają po stronie klienta (zestaw wyników jest ograniczony przez liczbę not kredytowych na konto, która zazwyczaj wynosi dziesiątki, nie tysiące).
Troubleshooting
Keep reading
Refunds & Notifications
Refund stages: issued → requested → succeeded (or manual)
The credit note moves through up to four states from creation to settled. Each state corresponds to a specific point in the refund lifecycle, with predictable UI badges and email triggers.
Refunds & Notifications
Refresh status — pull-based sync when the Stripe webhook didn't land
Webhooks aren't perfect. When a credit note appears stuck in `requested` despite Stripe having processed the refund, click `Refresh status` to pull the current state from Stripe directly. Same transition logic as the webhook; no risk of double-firing side-effects.
Refunds & Notifications
Retry Stripe refund — when transient failures clear
A failed Stripe refund can usually be retried — most failures are transient (rate limits, brief Stripe outages, or deposit-paid webhook arriving after the post-sign pipeline ran). The Retry button calls `_trigger_stripe_refund` afresh on the credit note.
Refunds & Notifications
Mark refunded manually — for SEPA and out-of-band proof
When a refund is issued outside Stripe — SEPA bank transfer, cash, PayPal, mailed cheque — `Mark refunded` is how you record it in Clozo. Reason field is mandatory (typically a bank reference). The credit note moves to `manual` status and the client receives a confirmation email.