You can define default settings for invoices, such as the invoice date and due date in QuickBooks and then these will be used when generating QuickBooks invoices from RangerMSP.
There isn't really anything in CommitCRM to do this. In QB you would have your terms for each client set to 21 days. That way when you invoice on the last day of the month the invoices in QB would show a due date of the 20th.