I've been doing homemade calendars for years, started when the dc were tiny and it would be a finger puppet or a dino model each day out of a pack of split up. I used to save forgotten toys from party bags or magazines for the stash to.
My dds are now teens and it's trickier, especially to do it cheaply, but apparently it a tradition and Christmas will be ruined if I don't continue.
This is my go to strategy:
First I find any items that I would buy anyway - maybe a Christmas jumper if they need one for a Christmas jumper day, or new hat or gloves, those sorts of things. They can be calendar gifts. If they are too big for the calendar (ours is tiny buckets) I put a note in to tell them where to find the gift.
Then I add the sort of nice Christmassy things that will liven up December - Christmas pjs, Christmas bubble bath, new fairy lights or decorations, maybe a candle to burn, a Christmassy book. Again I try to tell myself I'd buy these during the month anyway.
Then I fill up the other days with really small and cheap things, ideally bought in a set and split up - pin badges, lip balm, stationary items. I usually have some bits left from previous years to raid.
I will give something a little bit nicer on Christmas eve as an early gift.