You could set up a banking system that allowed users to grant access to view and tax transactions to certain entities (e.g. non-profit organizations), so that a coordinated voluntary tax could be implemented with an overseeing entity being able to affirm that you have adhered to the tax. This gives the benefit that you can display a public commitment to this voluntary tax.
This also confers the advantage of being silent and automatic, so you don't have to think about it. You would just automatically pay more for taxed items in accordance with plan.
If it was a redistributive tax, then at the end of the tax period you'd automatically receive an equal share of the taxes collected from every participant of the course of the tax period.
This would allow for better group coordination around establishing voluntary taxes for a variety of common goods. For example, you could enter into a voluntary carbon-tax agreement.
The downside is that the tax would need to be small/subtle enough that it wasn't worth the bother to avoid it by withdrawing cash to purchase items which would otherwise be taxed.
One stopgap measure to prevent that could be to tax cash withdrawals as if they were in the taxed category of item.