Spotify Bestbefore Coding Challenge in Python
I just went over the last version of your code you posted on freenode's #python, and there are two major errors in it:

You never check if month or day are 0, and your month > 12 check gets overwritten by the later if clauses. With those fixed, it passes.

Same issues are already in the code above, but I did not check if it has others as well.

the flag variable approach is very error prone and hard that way - it would be better to return False right away if you determine that, not tag it along with the chance that it might get flipped back erroneously.