Hi,
It depends...
Will you have customer without company attached ?
What Mohamed proposed you is mostly good but I won't do it exactly like that for the payment process.
I think that creating a payment method with a ACL on a special group is better.
Because the total price will still there so you can easily have the sold that the company has to pay you.
You can put every users in the same user group if they have a company and use a "user custom field" to store the company name (it will help to regroup orders with the export).
About the usre group during the registration. I think that there are some joomla plugins which can do it.
If you can't have users without company affiliated, it will be easier because you won't have to do all this user group configuration and just a "user custom field" to know the company and regroup order in the export.
Otherwise, you can use, like I just said, an external plugin or a custom plugin (which will put the user in a special group if the custom field for the company is filled).
Customer can't change their user group, otherwise they could become "super admin" during the registration !
Regards,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.