One way would be to add a Flat Rate field to your Invoice table, then change the calculation of the Invoice Total to:
If ( Is Empty (Flat Rate); Total Labour + Total Parts ; Flat Rate) // the total calc is simplified, but you get the idea.
This way all the actual costs are still in the appropriate tables. Might want to lock down the Flat Rate field so only a manager can access it.
I have the theory of the invoicing, but what I am asking is, when entering a value the line items to pull over the products, i want to be able to select a line item for a flat rate. Eg... bobs car should take 4 hours at 85 for labor costing 340, but i know bob and only want to charge him 275, how do I go about doing that? Or can that be done. Alson can i overwrite the price with out affecting the actual price?
I am assuming you have two tables for line items, one for parts and the other for labor? And you are not interested in give Bob a break on the cost of parts, but since he is your wife's brother-in-law you will give him a break on your labor costs. Next do you want the "break" to show in future reporting, ie, end of month labor costs, etc.?
If the answer to the first question is no, consider doing so, if yes, then you have a couple of choices, one would be a line item in labor, give it a labor code number, call it discount, where you could enter a negative number that would reflect in the overall totals for labor costs by simply entering the amount of the "break" as a negative number. If you don't want to change the actual total of labor costs in the line items table, then repurpose my original suggestion, or:
Create a just for show number field, normally this would show the sum of the labor costs, populate it via script, trigger or lookup. Include this field in the Invoice Total calculation instead of the real sum field, Total Labor. Then if you want to give a discount on labor since it is a number field you can easily overwrite it.
The mechanics of what you are asking are not that difficult, the hard part is deciding how you want to account for the discount in the overall scheme of things. The owner may want to account for all the "breaks" and it even might be better to create a separate table just for these discounts.