Sit down with him in the kitchen (if you have a table in there) and make a list. Have him write it. Open the fridge and say (make sure he's listening - men have cloth ears!) 'We've got butter, cheese, milk. We don't need them. Just get.....a, b, c. The flowers you got me are still fresh/died within minutes, whatever... so don't buy flowers! Check his list in case he's written down the things you said don't get just because he vaguely heard you name them. In the meantime, see if your budget will stretch just once to buying some artificial flowers. They are pricey but these days you can get really nice ones. Arrange them and he will probably not notice they are fake. He's a man! Point out whenever you make the list that the flowers are still fresh.... If he likes technology, download a shopping list app, I use 'Out of Milk'. Then he can cross each thing off as he puts it in the basket.