How to schedule monthly updates with an annual subscription?

User A subscribes to an annual plan on Nov 3.
User B subscribes to an annual plan on Nov 5.
I’d like to update the available tokens user have every month.
User A should receive their first update on Dec 3, then on Jan 3, etc.
User B should receive their first update on Dec 5, then on Jan 5, etc.

In addition to the annual subscription the user has, I was thinking to create a “fake” monthly subscription, and rely on webhooks for this monthly subscription to update the tokens.
Is this a good idea?

I’d like to avoid storing additional subscription information in my database (I want Stripe to be the only source of truth).
I would also like to avoid updating many users tokens at once, and prefer to do the update based on the individual subscription anniversary dates.
What’s the best way to achieve this?