A project is not showing up in the Create Batch Invoice screen and so the user cannot bill it.
This happens when there is nothing to bill for the project in the specified date range because there might not be any billable, approved time and expenses for it. If you turn on the project rule 'Always show in Create Batch Invoice screen', you will always see this project for billing. This rule is usually set for project phases so that they appear on the invoice even if there is no charge for it. Check Core Help Center for details on this rule.
If you don't have time and expenses associated with a project, you can also use the Manual Invoice option to bill that project.
If you have time and expenses to bill on a project, but it still does not show up on the Create Batch Invoice screen, it might be because you have selected the option Generate invoice amount based on % complete values when applicable in the Invoice Filters and Options dialog when creating the invoice. This option makes Core ignore the billable time and expenses on a project. The Create Batch Invoice screen then lists only those projects that have a contract amount and the percentage of the contract amount billed on the projects is less than the % Complete field of the projects (Projects > General > Details > % Complete). Check Core Help Center for details on this field.