A contract in Axon is the combination of a company and a project. If there is a concrete sub contractor that company will only exist once. However if that sub is on two different projects they will have a contract for each. Each contract can have it's own set of attributes.
So when a user gets invited to a contract they only have access to see the data for the company's activity on that particular project. If you want a user to see data on both projects they have to be added to each project separately.