Understand invoice and item snapshot data
Know which invoice, client and item data is copied so the delivery record remains auditable.
Exact navigationAdmin Area → Invoices → Open invoice → Create Delivery Note
What this guide covers
Know which invoice, client and item data is copied so the delivery record remains auditable. This guide follows the supplied Delivery Note module’s live hooks, controller actions, model rules, views and stored side effects.
Exact step-by-step process
- Open the source invoice.
- Create the delivery note.
- Review the Invoice Snapshot panel before saving.
- After creation, compare delivered items with the source invoice as it existed at creation time.
Fields, choices and supported possibilities
- Invoice row snapshot
- Client row snapshot
- Invoice items ordered by `item_order`
- Item descriptions, long descriptions, quantity and unit
- Invoice/client IDs retained as links
Code-backed validations and workflow rules
- Snapshots are stored as JSON in the module table.
- Later invoice edits do not rewrite an existing note snapshot.
- The PDF intentionally omits commercial prices and uses delivered quantities/units.
- If source tables or records are unavailable, snapshot values can be empty and must be investigated.
Expected result and verification
- The note preserves the delivery-relevant source state even if the invoice changes later.
Checks, security and troubleshooting
- A snapshot is evidence of creation-time data; it is not a live mirror.
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.
