I almost understand, but let me describe in more detail and you can correct.
First, I would create a "virtual" bank account that is used to receive and pay these clearing transactions. This account would be given a balance of zero to start, and would always be required to carry a zero balance.
Second, I would "pay" our Bill Payments to be netted through this virtual account, and I would "receive" funds for the customer invoices due to this same virtual account.
Third, the final step is reconciling the net balance. The easy case is when we are owed money, and I can implement this simply by "transferring" funds from the virtual account to our real bank account. In effect we would document an incoming wire or ACH for the net amount as being a transfer from our "virtual" bank account, carefully cross referencing to the actual transactions and vendor who made payment.
The harder case is when we owe the vendor money. In this case part of one or more invoices is paid by our check or wire or ACH. The remaining balance on those invoices is paid by the virtual acccount.
Doing things this way I would not need to create any special customer or vendor IDs, which greatly simplifies administration of this scheme since no one would want to back out which vendor name is used on Bills, Item Receipts, and Purchase Orders that are all linked to each other.