Currently, if you're an existing customer and registering a domain name, the default name servers are applied (unless you choose custom ones during the order). But often the default name servers don't correspond with the name servers used by the customer's existing hosting plan. This creates confusion post-registration as the customer is unclear on why their domain does not function.
Here are some solutions for fixing this:
1. When the customer goes to register a domain name and it says "No Hosting, click to add", WHMCS should allow the customer to select from an existing hosting plan (or login to select an existing hosting plan if they're not logged in). This will automatically set up the name servers according to the selected hosting plan. It should also notify the user that they must add the domain in their hosting control panel because it will not automatically be added.
2. Alternatively (and much more easily) the default name servers shown during the order (as long as the customer is logged in) should be the name servers corresponding with their hosting plan. If they have more than one, a dropdown with all hosting plans should appear. Selecting a hosting plan from the dropdown will display the name servers corresponding with that plan.