When billing from the Create Batch Invoice screen, inactive projects also show up.
This can happen if the option Active records only is un-checked in the Invoice Filters and Options dialog. In that case, if a project with Inactive status has some items left for billing or the project rule Always show in Create Batch Invoice screen is set, it shows up for billing there. To prevent projects with status other than Active from showing up for batch invoicing, you should check this option. Check Core Help Center for details.