The use of "contras" is a perfectly sensible accounting practice. Unfortunately, QuickBooks Online does not seem to understand that a customer and a vendor can be the same organisation although this happens all the time. Usually, either you, or your customer/vendor will issue a statement showing sales invoices (Invoices in QuickBooks language) and purchase invoices (Bills in QuickBooks language) and the balance is settled by a single payment made by one, or other of the parties.
In simple manual accounting systems where the balance was owed to us, for example, we would show the Invoice with a column showing the amount received and another column showing (where applicable) a Contra which would be equal to the value of the balancing Bill. The sum of the amount received and the Contra would equal the Invoice value. We would show the balancing purchase invoice with zero in the amount paid and the value of the Bill in the contra column, i.e. the Bill was being paid with money owed by the Customer for the Invoice.
Having failed to find any help on this, this is what I am doing where the name of the customer/vendor is "xxx":
Create a customer named "xxx (customer)".
Create a vendor named "xxx (vendor)".
Create an account in the Chart of Accounts - click the gearwheel icon, select All Lists, then Chart of Accounts, click the New button, Account Type should be Cash at bank or in hand, Detail should be Current, Name should be "xxx (contra)". Balance must be 0.00. A single account called “Clearing account”, or “Contra account” could be used for all customer/vendors, but I think setting up a separate one for individual customer/vendors makes it clearer.
Enter invoices to xxx (customer) and bills from xxx (vendor) as usual.
In this example, the value of a Bill is being set against (contra) an Invoice
Click the + icon and select Receive payment - the Customer is xxx (customer) and the Deposit is to xxx (contra). The amount is the value of the Bill(s) If you wish you can attach a document to show what is going on here, then click Save and Close.
Click the + icon and select Pay bills - the Account is xxx (contra), check xxx (vendor) on the Payee list, enter the bill amount in the Payment column if this doesn't happen automatically and click Save.
When the balance has been deposited in your bank account and you update your banking, the deposit should match the balance due in the usual way.