Hi Bill,
I think the viewmodel acts like a businessprocess container with all the possible actions for a certain businessprocess. Additonally you add enough commands and navigation handles to let the view interact with the viewmodel.
Your Invoice screen handles the businessprocess "SalesInvoices" so in my opinion you should have ha viewmodel "SalesInvoiceViewModel" which contains all the entities , logic, validationrules ?? navigation (next,prev) and so on.
When I'm wrong, please let me know :)
Peer
Edited by Peer - 25-Sep-2010 at 12:11pm