I need invoices to be added to the calendar by their due_date, how do I accomplish this?
This is not an easy task… and will require a fair amount of code customisation.
To start you off you need to copy the calendar index file from the core modules into the custom module to make it upgrade safe.
Then override the classes which are included with your own custom classes.
Create functions which will find any invoiced related to the current user, their duration, their start time etc and then add those items to the calendar display.