I use Egencia and I have to be very careful about that. Egencia's default seems to be "unless we say otherwise, your rate will NOT earn points." So I've learned to check, double check, and triple check that I'm selecting a rate that explicitly states it does earn points. And that's not just with Marriott, but with all chain hotels booked through Egencia. As long as I select one of those rates, I've always gotten points and my Marriott Rewards number has almost always been attached (and the one or two times it wasn't, a quick call to Marriott fixed it.)