This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
RFQFlow AI: Automating RFQ Email Processing
What I Built
Businesses receive Request for Quotation (RFQ) emails containing customer details, product specifications, quantities, currencies, and delivery dates.
Manually extracting this information, validating it, detecting duplicates, and transferring it into an ERP system can be repetitive and time-consuming.
I built RFQFlow AI, a lightweight application that demonstrates how this workflow can be automated.
The application processes synthetic RFQ emails, extracts structured information, validates fields, detects duplicates, stores records in SQLite, and routes eligible records to a mock ERP service.
Incomplete records are flagged for human review instead of being silently accepted.
Live Demo
🚀 Try the application:
https://banthevaishnavi-rfqflow-ai-app-rp7isz.streamlit.app/
Code Repository
💻 GitHub:
https://github.com/banthevaishnavi/rfqflow-ai
Screenshots
1. RFQFlow AI Dashboard
The dashboard provides an overview of processed RFQs, including validated records, records requiring review, duplicates, and ERP submission statuses.
2. Human Review and Mock ERP
Incomplete RFQs can be reviewed by a human. Eligible records can be submitted to the mock ERP service, which returns a simulated success response.
3. RFQ Validation and Duplicate Detection
The application allows users to filter records by status and inspect duplicate RFQs.

How I Built It
The project uses:
- Python for processing and business logic.
- Streamlit for the interactive dashboard.
- SQLite for local database storage.
- FastAPI for the mock ERP service.
- Pytest for automated testing.
- Ollama and Gemma for optional local open-weight model integration.
The default extraction mode uses deterministic rules. An optional integration can send email text to a locally hosted model through Ollama.
Regardless of the extraction method, the application validates the resulting fields and flags missing information for review.
Why Does Open Innovation Matter?
Open innovation gives developers greater flexibility in how AI applications are built and deployed.
For RFQ processing, locally hosted open-weight models offer several potential benefits:
Privacy: A properly configured local inference setup can keep email contents on infrastructure controlled by the business rather than sending them to an external model API.
Cost control: Businesses can evaluate local inference instead of relying entirely on paid AI APIs. Actual costs depend on hardware and operational requirements.
Flexibility: Developers can experiment with different models and adapt the extraction workflow to different email formats, subject to each model's license.
Human oversight: Commercial workflows require more than extracting text. Validation, duplicate detection, and human review help prevent incomplete information from being treated as reliable business data.
This project demonstrates the surrounding workflow and provides an optional integration path for local open-weight inference. The default extraction mode is deterministic; the screenshots do not claim that a language model generated the displayed results.
What I Learned
Building RFQFlow AI helped me explore how email processing, structured data extraction, validation, database persistence, human review, and ERP integration can work together.
It also reinforced the importance of handling missing information and duplicates before allowing records to proceed to the next stage.
Future Improvements
Potential improvements include:
- Connecting Outlook through Microsoft Graph with appropriate authorization.
- Evaluating extraction quality using a locally hosted open-weight model.
- Adding authentication and audit logging.
- Integrating with a test ERP environment.
- Improving error handling and production readiness.
These are future improvements and are not part of the current demo.
Thanks for checking out RFQFlow AI!


Top comments (0)