Tracking Customers for training/coaching company

Tracking Customers for training/coaching company

hi

I have a training and coaching company.
We are hired by different organisations to run training programs for them.  
Each employee gets individual coaching/training but they don't pay for it.  
The organisation pays for it.
Lets say it costs $100.00

I'd like to get a solution where I can;

Add students to the courses
Pull reports based on who has completed the module or is in progress.
Run a report for the organisation as to who has started/completed the course

Has anyone experience of setting this up so I can start organising the workflow more efficiently.