With the continued growth of Service Oriented Architectures (SOA), cross-organizational enterprise collaboration is needed to satisfy complex client needs. To define dependencies between collaborative enterprises and guarantee the required Quality of Service (QoS) at different layers of the SOA, agreements present an effective solution. In fact, using agreements at different layers of SOA gives a clear specification and control of the agreed service levels between different stakeholders involved in the composition. In this context, aggregation functions that allow the management of composite agreements from the atomic ones at the same layer and translation techniques to detect dependencies between agreements at multiple layers are needed. In this paper, we give a survey on intra and inter organizational agreements for enterprise collaborations. We start by presenting the motivation of this paper and give an overview of agreements lifecycle and categories. Then, we give a state of the art of agreements composition approaches. After that, we highlight the techniques used to manage dependencies between agreements composition and we finish this paper by giving a synthetic view of existing works.