Change Orders, Appropriate way to handle them at billing time

What is everyone’s method to invoice for added materials on jobs due to a change order? I am hoping there is a better way then how we currently do it…

My case:
I often create a quote, get and order, send the order to job. During the job, we may add parts and materials that were not included on the original estimate, and add sub assemblies for parts that are added to the job based on a customers request.
If we are not paying attention, the invoice clerk will simply invoice for the original amount that is on the Sales order, and we never get a return on that additional expense.
Even if we are paying attention, it seems cumbersome to get that additional expense onto the invoice to show/remind a customer why the invoice is higher then the sales order.

I would really love to see the invoice come through at the end of a job with a line that has the original total, and additional lines that are either related to sub assemblies, or added parts with a cost behind them. I realized I can add those manually, but again, it would be better if it just pulled them in and then it would tie that revenue to the job for a more accurate Job detail report.

Am I missing something? Anyone have a way they do it that works for them?

Right now, we just make a misc invoice and bill the additional price by manually calculating it. this does not tie that revenue to the job, just to Misc Income and it is Very easy to miss something…

Thanks!