Implementing SAP ERP in an organization is not an easy process. However this depends on many parameters like size of the company, complexity of operations, number of users, requirements of the user,resistance from the employees etc. You should choose the right vendor by evaluating their proposals which is the most important task because he is having a very special role in the journey.
Its better to have a SAP team internally to work with the implementation team which will definitely help to reduce the gap between the implementation partner and the business. Exact requirements of the users of the system form different departments should be gathered accurately by getting help of them and each process should be studied thoroughly to identify areas which you need customization in standard SAP. This can be done by appointing a team including members from different departments (Production, Quality, Marketing etc) and SAP guys. Internal SAP team should act as the bridge between the implementation partner and the company. Its better to draw UML diagrams of the processes and study about the solution of the legacy system.
Most commonly customer is providing all the hardware and equipment to the consulting firm. This becomes critical in the context of SAP because SAP needs application servers, database servers and networks unlike other simple desktop applications.