It's actually pretty easy to track progress payments and change orders in Quickbooks. This assumes you have Quickbooks Premiere Contractor edition (all of the premiere editions are the same, you just have to select the contractor option during setup.)
Here's the process:
First, click on Edit/Preferences, then click on Jobs & Estimates, then click the "company preferences" tab. Make sure you've selected "yes" to progress invoicing," and "yes" to using estimates, then UNCHECK "Don't print items that have zero amounts." (I'll explain later.)
1.) Make your estimate in Bid4Build as you would normally do. If you are tracking individual items in quickbooks (for example, framing material; framing labor; etc.) then there is a slightly more complicated version of this next step. I am going to assume you aren't doing that, but if you are let me know and I can walk you through that process. Take the total price of your contract and create an ESTIMATE (not an invoice) in quickbooks. There is a default "construction income" account in quickbooks that you can use to capture all of your income from the job.
2.) To do progress billing you simply open the estimate, then click the "invoices" button at the top of the form. A window will pop up with 3 options: Create invoice for entire estimate, create invoice for a different percentage of each item, or create invoice for a percentage of the entire invoice. If you only have one item then click "create invoice for percentage of entire invoice."
3.) You'll get a new window asking for the percentage you wish to bill. If it's 20%, enter 20 in the window.
4.) An invoice for 20% of the estimate will be created. Send that to the customer. When payment arrives, apply it against that invoice.
5.) If you would like to track the progress of the estimate you can open the estimate, then click the "history" button at the top of the form. This will show you all of the payments that are applied to that estimate and the outstanding balance of the estimate.
The nice thing about this system is that you can create a change order at any time during the process. It doesn't matter if you've billed part (or even all) of the estimate already. Here's how:
1.) Open the estimate
2.) Add a new line item for the change order (for example, Upgrade doors per agreement). Add an amount for the item.
3.) Save the estimate.
4.) When it's time to bill you will go back to step 1, except this time you can either bill for the entire estimate (which includes the change orders) or PARTS of the estimate. By selecting PARTS of the estimate you can bill for any line item individually, so if you are billing for just the change order then you can enter "0" for the original contract price and the percentage of the change order(s) that you are billing for. Quickbooks tracks everything together under the history tab.
To get the progress payment percentage information to the client you need to enable that on the INVOICE.
Open the invoice, then click the "customize" button at the top. If you're in QB 2010 or greater select the bottom blue button when the little screen pops up. Click the "Prog Cols" tab, the click the tick box for Prior Amount, Prior %, Curr % and Total %. You can click the tab under "print" only, since you don't really need to see this on the screen.
When you print the estimate you'll have the prior percentages and amounts along with the current amount. It's easy for the client to figure out what they've paid.
Since you're printing items with zero values on the estimate your client will see that they've fully paid for an item or if they haven't yet paid for an item every time you send an invoice. If zero values were not printing the it would hide these items as you are not billing for them on this particular invoice.