A professional web application built to automate the month-end close process for accounting teams. This application streamlines transaction processing, generates comprehensive Excel reports, and provides a secure, user-friendly dashboard for managing financial data.
Live Application: https://month-end-automator-a7gpcmeucqacgzch.canadacentral-01.azurewebsites.net
This project follows a modular architecture for maintainability and scalability:
main.py: FastAPI web server with authentication, routes, and API endpointsprocessor.py: Data processing and validation logicreporter.py: Excel report generation with professional stylingerrors.py: Centralized error handling and custom exceptionsservices/company_service.py: User and company managementservices/audit_log.py: Activity logging and audit trailsservices/reconciliation.py: Financial reconciliation calculationsservices/transaction_cleaner.py: Data cleaning and validationtemplates/login.html: Secure login pagetemplates/dashboard.html: Main dashboard interfacetemplates/index.html: Legacy upload interfacegit clone https://github.com/aminahamdani/Month_End_Automator.git
cd Month_End_Automator
python -m pip install -r requirements.txt
python -m uvicorn main:app --reload
http://127.0.0.1:8000aminaamina0000GET /health - Health check endpointGET /login - Login pagePOST /login - Authenticate userGET /dashboard - Main dashboardPOST /api/upload - Upload transaction fileGET /download/{filename} - Download reportGET /transactions - Get transaction data with filteringPOST /api/export/{filename} - Export data in various formatsGET /api/stats/{filename} - Get file statisticsGET /api/period-analysis/{filename} - Period-based analysisThe application is deployed on Azure App Service with:
/healthSee AZURE_DEPLOYMENT.md for detailed deployment instructions.
See QUICK_DEPLOY.md for the fastest deployment method.
Key dependencies (see requirements.txt for complete list):
fastapi - Web frameworkuvicorn - ASGI servergunicorn - Production WSGI serverpandas - Data processingopenpyxl - Excel file generationjinja2 - Template enginerequests - HTTP libraryMonth_End_Automator/
├── main.py # FastAPI application
├── processor.py # Data processing
├── reporter.py # Report generation
├── errors.py # Error handling
├── requirements.txt # Dependencies
├── services/ # Service modules
│ ├── company_service.py
│ ├── audit_log.py
│ ├── reconciliation.py
│ └── transaction_cleaner.py
├── templates/ # HTML templates
│ ├── login.html
│ ├── dashboard.html
│ └── index.html
├── .github/workflows/ # CI/CD workflows
└── docs/ # Documentation
See LICENSE file for details.
For issues or questions, please open an issue on GitHub.