MySQL: Shouldn't these two DATE queries be the same?
AND  DATE_ADD(ord.paid_on, INTERVAL ord.extended_duration HOUR)

is a DATETIME, which might be in the middle of today.
BETWEEN (CURDATE() - INTERVAL 5 DAY) AND CURDATE()

excludes anything after midnight this morning.
Please provide the order that is miscategorized.