Technical configuration, lifecycle and troubleshooting

Troubleshoot public Delivery Note signing failure

Diagnose token, status, CSRF, browser and signature-data branches safely. 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 goSecure public Delivery Note link, then Admin Area → Delivery Note → View note

What you’ll accomplish

Diagnose token, status, CSRF, browser and signature-data branches safely. 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 link includes the exact token and opens the intended note.
  2. Check the note is Open, not Signed or Void.
  3. Verify JavaScript and Signature Pad CDN load in the recipient browser.
  4. Verify a non-empty signature is drawn and submitted.
  5. Check the CRM CSRF configuration/token when enabled.
  6. Check `sign_failed` events and application logs.
  7. Retest with a controlled open note without changing production data.

Fields and options to review

  • Secure token
  • Status
  • Signature hidden field
  • CSRF token when available
  • Browser JavaScript/CDN
  • Database update affected rows

Rules the system enforces

  • Missing, invalid and void tokens follow separate error branches.
  • Already signed notes reject another sign attempt.
  • The model records a signature only when a non-empty value updates the row.
  • The code captures IP/user agent and sends confirmation only after success.

How to confirm it worked

  • The cause is resolved or clearly identified while the note remains open or sealed according to its actual state.

Safety checks and troubleshooting

  • Never force status or insert a fabricated signature to close a support ticket.
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.