We can this 'holdbacks' but im sure its the same thing ..
In general there are 2 choices> leave the unpaid amount in vendor AP or take it out of Ap and put it into a separate current liability. Sounds like you want the separate account, and have already created it in CoA. Although not requires - suggest you also create a 'retainage' item. Make it an 'other charge' type item and set it to post to the retainage liability account.
You should be using "customer + job " names for your project.
When entering vendor bills you must set that 'job name' on the item/account lines. Enter 100% of the vendor bill as they sent it to you. If the bill is subject to holdback (not all are) then add another line and code Retainage with a (negative) amount = to the total to be withheld. Sales tax treatment of holdbacks is questionable and likely depends on your local rules. My first guess is that no sales tax applies to that line. Then 'paybills' for the balance shown which is now net of holdback.
When vendor claims his holdback he may send you another bill - or maybe just a notice that holdbacks are now due. Either way - you now create a new vendor bill, add the retainage item and amount - including Job name. Then 'pay bill' when the payment is due.
You can report the retainage account and sort or filter by Job name to get the info you need.
There are many variants possible to this method, so others may have slightly different procedures.