I think a combination of the two is the best way to go. Although option A should not be used as a short cut to not "waste" time on declarations. If for example the player had said earlier in the story, he would stock up on his magic supplies, I would let him roll resources to see, if he got what he now needs, if it is simple stuff like candles, playdoh, things like that. Anything that would be a special order, he would have to get... well, specially ordered.
In any case, I don't think there is a need to make it harder than it needs to be. Harry for example could simply do a contacts check for pixie dust, because of his pixie housekeeping service, to declare that one of them is always around that he could ask for a donation. He wouldn't have to go out and get it.
Anything the character has no way of getting easily should however be done by option B.