Update opportunity and contact after job completion for billing

Completed jobs that don't update CRM records leave billing teams without payment context. This posts paid totals and advances opportunities so billing can reconcile before the next billing run.

Update opportunity and contact after job completion for billing

Update opportunity and contact after job completion for billing