I’m not exactly sure why this isn’t a feature within WHMCS.
It’s a well requested feature which still hasn’t been implemented.

I decided a while ago to write an add-on to do this and I’ve been using it for the past year or so without any issues.
I’ve been meaning to release it as a paid module, but then I would have to support it and it’s not something I really want to do considering I just slapped it together using some old forum posts and some googlefu.

So I’ll offer it here for free and you can use it at your own risk 🙂

All it does is allow you to set default payment terms. This is applied to every customer by default.
e.g if you want to give everyone 7 days from the created invoice date, put in 7 here.

chrome_2016-11-17_01-57-41

If you want to then have select payment terms for individual customers then you can do so in the client’s profile area.

chrome_2016-11-17_01-58-26

I’ve included the normal NET7, NET14, NET30, NET45 and NET60
If you want any others its pretty easy to add, just goto Setup>Custom Client Fields.
Just use the same format as the entries already there. e.g Append |NET 90,90 for a 90 days option.

chrome_2016-11-17_02-26-50

If you select none it will use the default payment term, if you select Due on Receipt it will put the due date as the invoice created date.
Pretty self explanatory.

One thing to do is to modify the hooks.php file, it needs a valid admin username to use the WHMCS API calls.

So here is the download, if you want to donate something you can through PayPal
Remember, its use at your own risk. If you have any issues I will do my best to help, but if all your invoices are screwed then you are on your own.