Jobs, stops, dispatch and status control

Reconcile job payment from invoice status changes

Allow the core invoice hook to update the job payment state.

Audience: Courier operations staffPermission: Courier: Manage financeModule v2.0.0
Exact navigationAdmin Area → Sales → Invoices → Open linked invoice

What this guide covers

Allow the core invoice hook to update the job payment state. The instructions below follow the supplied module’s controller, form and model rules, including server-side validation and downstream effects.

Exact step-by-step process

  1. Change/send/update the linked invoice through the core CRM workflow.
  2. Allow the invoice_status_changed hook to run.
  3. Return to the Courier job.
  4. Verify payment status reflects the core invoice.

Fields, choices and supported possibilities

This action uses the values already stored on the selected source record. Review that record before continuing.

Code-backed validations and workflow rules

  • The hook reconciles by linked invoice ID.
  • The invoice remains the authoritative source for its core status.

Expected result and verification

  • The source record, status/history and any downstream notification, provider, POD or finance record should agree after the action.

Security, audit and operational checks

  • Use the exact record and least-privilege role before changing any state.
  • Verify the saved record after every action; a browser message alone is not evidence that every downstream step completed.
  • Use protected document and image routes rather than exposing server filesystem paths.
  • Keep customer, driver, provider, financial and credential data within the authorised workflow.
  • For provider, finance, employment, transport and compliance decisions, follow the organisation’s authorised professional process.
Do not bypass the code flowDo not force database values, invent a status, mark a job completed without signed POD evidence, or expose encrypted credentials to make a screen appear successful.