If I have time, I go out with DS and buy it together, then drop it off with him at his dads. If not, I try to buy it, but if I can't he's happy to buy it too. Things work quite nicely when we're not bickering about who should buy what, arguing about money was one of the reasons I ended our relationship, I'll be damned if I let the bad feeling continue on over something as piddling as birthday presents. I come from the standpoint that I ensure I am able to provide most things, that way I am never disappointed. I also find when I give a little, and be supportive of ex that he reciprocates and things stay civil.
So when a birthday invite comes in, I'll usually phone him and we'll both pencil it into our calendars, then we'll discuss the present and decide who gets it, if he's a bit skint or strapped for time, I'll offer, and vice versa, and we'll arrange what outfit DS can wear.
Our ultimate goal is to ensure DS has a great time. Okay sometimes I think morally that he should pay if it's on his time, but life isn't always about ideals, it's about working with what you have together to do the best you can.
Wow. I had loads to say on this matter. I must be in a rambling mood tonight.