This document outlines the operational procedure for the 'Excelerate' application, which automates the integration of financial data from CSV files provided by various funders into a central Excel workbook stored in Microsoft OneDrive.
- Make sure you have Python Installed
- Clone the repository
git clone https://github.com/calumsudo/Excelerate.git - Then navigate to the root directory
cd /path/to/your/project - Create Virtual Environment
python -m venv env - Activate the Environment
- Windows:
.\env\Scripts\activate - MacOS / Linux:
source env/bin/activate
- Windows:
- Install the Dependencies:
pip install -r requirements.txt - Start the program:
python main.pyorpython3 main.py
- The user starts the 'Excelerate' application.
- A user interface (UI) loads, presenting an authentication button.
- The user clicks the authentication button to begin the process.
- Once authentication is successful, the UI updates to display a new window.
- In the updated UI, the user is prompted to select a workbook from a list.
- The selected workbook is then downloaded from Microsoft OneDrive.
- A backup duplicate copy of the workbook is automatically created for safety.
- With the workbook downloaded, the UI activates functionality for CSV file processing.
- The user uploads each funder's Weekly or Daily CSV files.
- If time permits, enhance the UI with drag-and-drop capabilities for file upload.
- CSV files then get cleaned and processed with the parsing functions
- As CSV files are uploaded, they are placed into a queue to ensure that each funder's data is processed sequentially.
- The application processes one CSV file at a time, corresponding to each funder's data.
- During processing, the application checks for:
- Duplicate merchant entries.
- Merchants that do not exist in the workbook.
- Any discrepancies are logged for later review.
- After all CSV files are processed, the application compiles a report PDF which includes:
- The pivot table for each funder's CSV.
- Totals for each column in the pivot tables.
- A summary of any errors, exceptions, or duplicate entries found during processing.
- The processed data is inserted into the Excel workbook.
- The workbook is saved with all updates applied.
- The updated workbook is uploaded back to Microsoft OneDrive using the Microsoft Graph API.
- Any changes are synchronized, and the backup copy is retained as per the set retention policy.
The Excelerate application streamlines the process of updating financial data, ensuring that the information from various funders is consolidated efficiently and accurately into a central workbook. The process also includes robust error handling and reporting mechanisms to facilitate data integrity and accountability.


