What about this are you unable to do? I may not be understanding your goal, but entering invoices and affecting expense heads is exactly what the Purchase Invoice does.
most accounting system, you do not need to choose non-inventory item, but you could pick up expense account when you enter the bill.
You can pick the expense accounts when entering the bill now. Some people like to use generic category Items, like @FHenry suggests, but you don’t have to use defined items at all if you don’t want to. Just enter some descriptive text in the Item Name field, pick an expense head, and set your quantity and rate. Am I misunderstanding what you’d like to be able to do?