DEV Community

vaishnavi Banthe
vaishnavi Banthe

Posted on

RFQFlow AI: Automating RFQ Email Processing with Python and Open-Weight AI

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

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.

RFQFlow AI dashboard showing RFQ processing statistics, validation statuses, and records requiring review

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.

Human review form showing RFQ validation details and a successful mock ERP submission response

3. RFQ Validation and Duplicate Detection

The application allows users to filter records by status and inspect duplicate RFQs.
RFQFlow AI dashboard filtered to display duplicate RFQ records and their processing statuses

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)