Review the Delivery Note compliance event log
Follow this guide to use the append-only module timeline to trace creation, access, changes, signing and invoice-PDF access. The guide then takes you through the correct route, the checks to complete before making changes, the workflow in order, and the evidence to review afterwards.
Where to goAdmin Area → Delivery Note → View note → Compliance Log
What you’ll accomplish
Use the append-only module timeline to trace creation, access, changes, signing and invoice-PDF access. This guide follows the supplied Delivery Note module’s live hooks, controller actions, model rules, views and stored side effects.
Follow these steps
- Go to the note detail page.
- Read events in their displayed order.
- Compare event type and message with the note status.
- Check event time, IP and actor context.
- Use event metadata only through authorised troubleshooting tools when deeper detail is needed.
Fields and options to review
- Event type
- Event message
- IP address
- User agent stored in the table
- Meta JSON
- Created by staff ID when available
- Created at timestamp
- Event IP source order: CF-Connecting-IP, first X-Forwarded-For value, then REMOTE_ADDR
Rules the system enforces
- Implemented event types include created, updated, void, viewed, sign_failed, signed and pdf_viewed_from_invoice.
- Public events can have no staff actor.
- Email send success/failure is not recorded as a dedicated event in the supplied code.
- The log is module-owned and is removed on uninstall.
- Proxy headers must be trusted and normalised by the production infrastructure; the module itself records the first available value.
How to confirm it worked
- The record lifecycle can be reconstructed from module events and the sealed note data.
Safety checks and troubleshooting
- An event log supports evidence review but does not replace external retention, incident or legal procedures.
Stay within the supported flowDo not force database values, expose secure tokens, bypass permission checks, replace a stored signature or invent a status or interface that the supplied code does not implement.
Continue with related guidance
Was this guide useful?Your response is stored only in this browser.
