I sell a few digital products from a WooCommerce store I host myself. Nothing exotic: three downloads, a handful of countries, real customers. A week after it went live I was clicking through it the way a buyer would, and I noticed something that should not have been possible. The product page said €49. The checkout said €51.85.

Same product. Same session. Two different prices, eight seconds apart. Nothing had errored, nothing had warned me, and if I had not happened to be shopping from a test account set to Hungary I would never have seen it.

This is the story of why that happens, why it is not a bug in the usual sense, and the one line of configuration that fixes it. If you sell digital products to consumers in the EU on WooCommerce, it is almost certainly happening to you right now.

The rule that makes this hard

A digital product sold to a consumer in the EU is taxed where the buyer is, not where the seller is. That is the VAT One Stop Shop rule, and the rates are not close to each other: 17% in Luxembourg, 27% in Hungary, with everything else in between.