Refunds & Notifications · Article 6.6
De pagina Creditnota's
Een volwaardige sectie in het freelancer-dashboard die alle creditnota's over al uw offertes weergeeft, met status, terugbetalingsbedrag, gekoppelde offerte en actieknoppen. Gebruik dit wanneer u terugbetalingen wilt beheren zonder elke offerte afzonderlijk te openen.
Tot april 2026 waren creditnota's alleen zichtbaar binnen individuele offertes — zoek de offerte, open Documenten, zoek de creditnota. Dat werkte goed als u één of twee terugbetalingen in behandeling had; het brak samen zodra u er een dozijn had. De pagina Creditnota's toont terugbetalingsgeschiedenis en openstaande acties op één plek, gesorteerd op status zodat de items die uw aandacht vereisen bovenaan staan.
Step by step
Open
/credit-notesvia de zijbalk van het dashboard (onder Terugbetalingen / Creditnota's).
Filter op status.
Een rij pills bovenaan: Alle, In behandeling, Aangevraagd, Mislukt, Geslaagd, Handmatig. In behandeling en Mislukt staan standaard bovenaan — dat zijn degene die uw actie vereisen.
Inspecteer een rij.
Elke rij toont: CRN-NNNN, terugbetalingsbedrag + valuta, statusbadge, link naar offertenummer, link naar addendumnummer, uitgiftedatum, voltooiingsdatum terugbetaling (indien van toepassing), actieknoppen.
Onderneem actie vanuit de rij.
Dezelfde knoppen als de terugbetalingsbanner per offerte: Status vernieuwen (artikel 8.7), Opnieuw proberen (artikel 8.8), Markeer als terugbetaald (artikel 8.9), PDF downloaden.
Open de offerte als dat nodig is.
Klik op het offertenummer om
/proposals/{id}te openen voor volledige context (Tijdlijn, Documenten, gerelateerd addendum).
Why this works this way
Backend: CreditNoteListView (amendment_views.py:849, [D-116]) retourneert alle niet-verwijderde creditnota's voor de offertes van de geverifieerde freelancer, geordend op issued_at aflopend. Elke rij bevat het offertenummer, de klantnaam en het addendumnummer naast de eigen velden van de creditnota — geen extra round-trips nodig om de lijst te renderen.
De frontend-pagina leest uit dezelfde vorm als de per-offerte get_credit_notes serializer-methode, zodat de per-rij-component wordt hergebruikt. Filters zijn aan de clientzijde (de resultatenset is begrensd door het creditnota-aantal per account, dat doorgaans tientallen is, niet duizenden).
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.