Create and update contacts and opportunities from completed jobs

Completed job hooks don't update contact or deal records, leaving sales without paid-amount context. It ensures contacts and opportunities reflect job-paid totals so teams act same day.

Create and update contacts and opportunities from completed jobs

Create and update contacts and opportunities from completed jobs