Spain recently passed a new law that extends the Value Added Tax to cruise purchases while in Spanish Ports or in Spanish Waters.
Guests who buy items onboard a cruise ship in Spain now may have to pay a value added tax of 21%. In addition, food and beverage purchases on cruise ships in Spain or in Spanish waters will be assessed a 10% VAT.
Source: johnthewanderer.com