Technical configuration, lifecycle and troubleshooting

Troubleshoot public Delivery Note signing failure

Diagnose token, status, CSRF, browser and signature-data branches safely.

Audience: Administrators and support staffPermission: Delivery Note: ViewModule v1.0.0
Exact navigationSecure public Delivery Note link, then Admin Area → Delivery Note → View note

What this guide covers

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.

Exact step-by-step process

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

Fields, choices and supported possibilities

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

Code-backed validations and workflow rules

  • 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.

Expected result and verification

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

Checks, security 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.