Have a look at the Group module which is like a "little brother" of Organic groups. It only started in D7 and with a D8 version in the pipeline. Personally I'm more and more considering/using it as a potential alternative for the Content Access module. And since it is all Entity based, there are lots of ways it can be used in combination with the Rules module also.
Specific to your question here, I think what is going to help you a lot is the Group member profiles submodule, which you can use to create multiple fieldable member profiles and which can be attached to a member.
For way more details about this module, refer to:
Also, as per your comment below (= "Can you tell me if it works with views? I would like to display in a view all the companies attached to the user (Moderator) that is logged in."): I suggest you have a look at comment nr 2 in the issue about "How to list groups in a view?", which even includes a view in export format you may want to have a look at.
Note: Your question doesn't specify which version you are using, but this answer applies for both D7 and D8.