PDF, QR, email and audit evidence

Troubleshoot Delivery Note PDF or QR output

Diagnose document generation without changing unrelated CRM, theme or server files. 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.

Audience: Administrators and support staffPermission: Delivery Note: ViewModule v1.0.0
Jump to steps
Where to goAdmin Area → Delivery Note → View note → PDF

What you’ll accomplish

Diagnose document generation without changing unrelated CRM, theme or server files. This guide follows the supplied Delivery Note module’s live hooks, controller actions, model rules, views and stored side effects.

Follow these steps

  1. Verify the note exists and View permission is granted.
  2. Test the admin PDF route directly from the note detail page.
  3. Check whether TCPDF is available; observe the inline HTML fallback if not.
  4. Check company logo readability and size.
  5. Check invoice snapshot JSON and item data.
  6. Test the secure URL separately.
  7. Check PHP/application logs for PDF image, font or QR-library errors.

Fields and options to review

  • Note record and snapshots
  • TCPDF availability
  • Logo file
  • Signature data URI
  • QR library candidates
  • Public URL

Rules the system enforces

  • A missing QR library should fall back rather than prevent output.
  • Malformed image/signature data can affect rendering and should be investigated without changing status.
  • The module does not write a PDF file record; it streams output on demand.

How to confirm it worked

  • The root cause is isolated to record data or the module’s document dependencies while the note remains intact.

Safety checks and troubleshooting

  • Do not disable TLS/security controls or expose filesystem paths to work around a rendering issue.
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.