1) Create a fictitious bank type account called "Dummy Bank Account" in the chart of accounts. Don't worry, it's a common practice and you are not breaking any laws.
2) Go to Receive Payments and select the customer, then the invoice which you need to show as paid. This step is needed if you didn't receive a payment yet.
3) Go to Record Deposits (QB Desk) or for QBO, go to Gear Icon>Bank Deposit, and follow the same steps you normally would except this time select "deposit to account" as Dummy Bank Account". Click save. Go to step 4.
4) Go to "Dummy Bank Account". Here we have a balance now on this account in the amount of deposited payment and we need to take money out, so that the account shows zero. Why? When you entered the invoice, it increased the Income account for the billed product/services to a customer, and when you had money deposited into bank account from customer, which didn't match the invoice, it also went to some income account. The situation created double income scenario. The following final steps, will help you get rid of this extra income while also show the invoice as paid. To complete this:
a) Go to Enter Bills ( QB Desk) or Gear Icon > Expense
b) Create an expense in the amount of Dummy bank deposits you just recorded. In the "Bank/Account" info, select "Dummy Bank Account" and in Account info, select the Income account which was used in billing a customer. This expense will deduct the extra fake income.
The invoice will now show as paid, your income should be correct as well! Good luck!