Bill the full amount.
Accept the discount as payment terms.
For example, you bill $500. Client offers $100 in services discounts + $400 cash. Accept that payment.
The invoice should not reflect how the client is paying. However, the receipt for payment may. Similar to how you'd bill $X amount but offer a 10% discount for cash... the payment receipt would show the discount, not the invoice.
If you don't customarily create receipts, do so for situations such as this so the client can show they've paid and you have a record of what was accepted as payment (should they fail to provide the discount).
In situations where the discount is for a personal item or service unrelated to your business, I believe they should be separate. The same way your business can't pay for your groceries directly - you can't accept a personal discount on behalf of the business. Therefore your business has nothing to do with the discount they are offering. It would equate to a "kickback". Imagine if you had an employee in the same position... what would you advise? Would your business lower an invoice so an employee could get a personal discount somewhere? Most likely no.
Pay for the discounted service they are offering out of your pocket.... leave the business out of it, would be my advice.
The other option, is your business accepts the discounted service and pays for it... then you pay your business for the service. You essentially buy the discount from your business.
Ultimately, if it's a personal item/service you should personally be paying for the service/item. If the business merely acts as a middleman, I believe that's fine. But be aware, I am not an accountant or tax attorney.