I am not sure if it can be done with Workflows, because Products module is a bit more complex, with Line Items etc.
But by creating records in the several modules and adding relationships, you might be able to get it working. The logic hook is more complex because you have to be a PHP developer (or hire one), but for these purposes it would be much simpler to achieve because you can just code everything directly.
Have you read about relationships in the SuiteCRM. Maybe you could create one-to-many relationship between accounts and products. It will create subpanel under the modules.
Definately want an on save hook here. When you save a contract you basic logic is going to be:
Get the account id
Loop through the products on the contract to get the product ids (this will be in line items I think, I’ve never done contracts, but I’ve done this in the past with quotes)
Loop through the prodcuct id’s to populate the relationship between the products(line items) and the account id
Getting the right relationship name, is where I always have problems, so make sure you look at the account bean and find the right account-product relationship name.
I don’t see any reason why this wouldn’t work in SuiteCRM 8. It’s all back end logic that should be the same as SuiteCRM 7.