Charge Customer for Expenses
If you need to pass on expenses to customers, you can add expenses on Service Orders (Income -> Orders -> Service Order) by clicking the Add Expense button when editing a Service Order. You can define the type of expenses that will show in the list by going to Admin -> Orders -> Expense Templates. The Expense Templates will pull from items that are marked as Other Charges for Inventory Type.
You can also add the expenses as manually entered lines to fulfillment orders or invoices (that is lines that don't link to items in inventory).
You can handle the situation of a customer reimbursing you directly for an expense with a direct GL entry too, if that gets the system as you need. You can create a direct GL entry via Ledger -> Journal Entries -> New Journal Entry. You can set up the entry so that it reduces an expense account (credit) and reduces a sales account (debit). This will remove the amount charged to the customer for the expensed item so it won't be considered income for a particular period.