TL;DR: I need to create a system in SharePoint in which a user uploads an Excel (or CSV) file to the site from a webpage. The site takes the uploaded document and uses it to populate a list. Then it runs calculations on the list. Then, if there are any errors, it generates a report that can be e-mailed. I know I need to use a workflow, but I can't figure out how to make all of this work together. And to make matters more difficult: the user should be able to do all of this from any web browser.
More detail: I've contracted with a small corporation to write some bespoke enterprise resource management software. I intended to write the software with mostly Python and a PostgreSQL backend. About four months into my project I find out that IT is throwing a fit, because they weren't consulted about any of this. Apparently, the corporate division I'm working with contracted out to me because their IT department is so abysmally bad. This is largely true. The problem is, IT won't supply me with server space. Honestly, I would have quit right then, but I need the money and the guy that brought me on board is a friend I don't want to embarrass.
Anyway, my boss met with the head of IT and the compromise they came up with was giving me a SharePoint 2010 server (the complete package, not Foundation). This works for IT because they needed to justify the purchase. It doesn't work for me because I've never worked with SharePoint. I'm learning a lot about SharePoint, but it's really not made to do what I need it to. That being said, I'm pretty sure it can do what I need it to do, if I abuse it enough. I need to have a web-based system in which users can upload a spreadsheet, calculations can be done on the contents of the spreadsheet, and then reports can be generated from those contents. I could do this in C#, but I'm not sure how to do it in SharePoint. Nor am I sure how to make C# to play with SharePoint. I don't have command line or ftp access to the server.
I am sure that IT is trying to sink the project. I'd like to see it succeed. Any suggestions?