Skip to main content

Lifecycle · Article 2.13

Tijdlijngebeurtenissen: elk gebeurtenistype uitgelegd

De tijdlijncomponent op elke offerte-detailpagina registreert 21+ gebeurtenistypen. Dit is de canonieke lijst met beschrijvingen en triggers, nuttig bij het controleren wat er is gebeurd op een offerte.

De tijdlijn is uw audittraject. Elke webhook, elke klik, elke e-mailverzending produceert een gebeurtenis. We bewaren ze gedurende de levensduur van de offerte (10 jaar voor wettelijke retentie). Wanneer u probeert te achterhalen "wacht, wanneer heeft de klant eigenlijk ondertekend?" of "is de aanbetalingsfactuur ooit uitgegaan?", is de tijdlijn de bron van waarheid — zelfs als de UI-badge of e-mailbevestiging u een andere indruk geeft.

Why this works this way

Tijdlijngebeurtenissen worden opgeslagen in het model ProposalTijdlijnGebeurtenis met velden: event_type (enum), created_by (Gebruiker of null voor door-klant-geïnitieerde), data (JSON: IP's, bedragen, handtekeningbewijs, enz.), created_at (UTC tijdstempel). Ze zijn alleen-aanvoegen — we bewerken of verwijderen nooit een gebeurtenis. Als een proces ongedaan wordt gemaakt (bijv. status teruggedraaid), registreren we een nieuwe gebeurtenis die de ongedaanmaking uitlegt, waarbij het origineel intact blijft.

### Referentie: alle gebeurtenistypen

GebeurtenisTriggerSleutelmetadata
createdOfferte voor het eerst opgeslagencreated_by gebruiker
sentFreelancer klikt op Verzendento_email, sent_from_ip
viewedKlant opent de koppeling voor het eerst met geldige PINviewer_ip, user_agent
signedKlant klikt op Ondertekenen op openbare paginasigner_name, signer_ip, ua, signed_at, consent
pdf_generatedAsync PDF-render voltooiddoc_type (PRO/SOV/CON/DEP/FAC/STR/DCR/CRN/BON), r2_key
deposit_paidStripe-webhook of handmatige markeringmethod, amount, payment_intent_id
final_invoice_issuedFreelancer geeft eindafrekening uitinvoice_number, total
payment_received (eindafrekening)Stripe-webhook of handmatige markeringmethod, amount
completedFreelancer markeert als voltooidnotes
declinedKlant weigert op openbare paginadecline_reason
expired90-daags cron-taakdays_since_sent
archivedFreelancer archiveertreason
amendment_proposedAddendum aangemaaktamendment_id, delta_total
amendment_viewedKlant opent addendum-koppelingviewer_ip
amendment_signedKlant ondertekent addendumsigner_name, ip, evidence_stack
amendment_declinedKlant weigert addendumdecline_reason
amendment_cancelledFreelancer annuleert addendum voor ondertekeningcancelled_by
amendment_expiredAddendum 90-daags verloop
refund_initiatedTerugbetalingsstroom geactiveerdcredit_note_number, amount
refund_completedStripe-webhook of handmatige markeringmethod, completed_at

Troubleshooting

Keep reading

Tijdlijngebeurtenissen: elk gebeurtenistype uitgelegd · Help · Clozo