I think there is a bug in the creation of invoices for Service Products.
A Service Product uses the Invoice Item Line Type (InvoiceItemTypeId) 'INV_SPROD_ITEM' and a Finished Good product uses the InvoiceItemTypeId 'INV_FPROD_ITEM'
If you create a Sales Order for a Service Product then the invoice generated has the line item type for a Finished Goods product which is wrong.
This is an issue because you can configure Service products to be posted to a different account to Finished Goods products in the GL Account Defaults. (https://localhost:8443/accounting/control/GlAccountSalInvoice?organizationPartyId=Company)
So currently Service products are being posted using the setup specified for Finished Goods. I think no one has noticed because in the Demo Data the accounts are the same 401000.
1) Create a Sales Order for the Service Product SV-1000 using DemoCustomer
2) Approve the Sales Order
3) An invoice will automatically be created for the Service Product SV-1000
4) Click the link to the invoice and you will see that the second column 'Invoice Item Type' says 'Invoice Finished Goods Item (Sales) and it should say 'Invoice Service Product Item (Sales)
The InvoiceServices.java contains the following, so looks like some possible hardcoding.