I rarely find places that accept bitcoin (yet) but if I do I get around the taxable event issue by using Strike. This goes straight from USD to their lightning address so there is no taxable event on my side. Also, prevents me from using my own bitcoin, though if I do that I just spend and replace.