This can often be caused by activities not being linked to a price model. If this is the case, the "create invoice draft" will be greyed out.
To solve the issue, you can see which activities will be invoiced, for example, directly in the "to be invoiced"
By going directly to the project, you will be able to click the tab "activities" then see which activities do not have a price model linked to them.
Here we can see that one of the activities does not have a price model, hence the project could not create an invoice. By clicking "edit" you can choose the correct price model and then you will be able to invoice the project. Just make sure to refresh the "to be invoiced" page before you try and create a draft.
If you haven't defined hourly rates, Moment won't allow you to create a draft. Simply put this is due to Moment not having a basis to calculate the sales price in the invoice. Basically this entails an Incomplete price set-up
To fix this, simply click "go to project price setup" and add the hourly rates you need. Save the price model and refresh the "to be invoiced" page. This will solve the problem.
Sometimes you might forget to define a payment in a fixed price model. Although you might already have invoiced activities on that price model, Moment does not have a basis with which to estimate the next payment. In such a case you will get a message in the "to be invoiced" or "approval" page:
To solve this, simply go to project set-up and choose the relevant fixed price model. You will have to define a payment for the correct amount and date that you wish to invoice.
Save the price model and then refresh the "to be invoiced" page. This will solve the problem.