DEV Community

Abhisek Roy
Abhisek Roy

Posted on

InvoicePilot AI: Smarter Invoice Automation with TEv1 and MCP

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

What I Built

I built a local invoice assistant for freelancers who lose hours chasing late payments. You upload a photo or screenshot of an invoice, a vision model running on your own laptop reads the client, amount, and due dates, and after you confirm the fields it saves them to a local database. You can then ask plain questions like “which invoices are overdue?” or “how much does this client owe me?”, and it drafts a polite reminder email with the exact amount and days overdue. Freelancers would pay for it because it turns an awkward, tedious chore into one click, without ever sending their clients’ details to a cloud service.

Demo

DB Data

user query

Assistant answer

Second user query

Assistant answer

Code

InvoicePilot AI is split into two repositories to keep the AI agent and invoice tools separate.

1. MCP Client — The AI Agent

This repository contains the agent logic, TEv1 tool-selection flow, and LLM integration. It selects the appropriate invoice tool and handles argument generation and tool execution.

GitHub: MCP Client

2. MCP Server — Invoice Tools

This repository exposes invoice operations as MCP tools, allowing the client to interact with invoice data through a standardized interface.

GitHub: MCP Server

How I Built It

I built this project using TEv1, Ollama, open-weight language models, and the Model Context Protocol (MCP) to explore reliable AI agent tool selection and execution.

Tech Stack

  • gemini-flash-latest (vision): Reads invoice images locally and extracts the client, amount, and dates as structured JSON.
  • SQLite: Stores confirmed invoices on the user's own machine.
  • TEv1: Tool selection and decision-making.
  • Ollama: Run open-weight models locally.
  • Qwen 2.5 3B: Local language model experimentation.
  • MCP: Standardized communication between the AI agent and its tools.
  • Python: Agent orchestration and tool execution.

The project explores whether combining a lightweight decision model with an LLM can improve tool-calling reliability while reducing input-token usage.

By running the decision model locally, the project avoids additional API costs for tool selection while keeping the main LLM responsible for generating tool arguments.

Why Does Open Innovation Matter?

Open innovation lets me build and experiment with AI agents without depending entirely on closed, proprietary APIs. Using Ollama and open-weight models, I can run AI locally and test different approaches without per-token costs for tool selection. TEv1 helps select the right invoice tool, while MCP connects the client and server. This project shows how open models and protocols can make AI agents more reliable, accessible, and customizable.

My First User

My first user is me. I haven't put it in front of a freelancer yet, so I can't claim a paying customer, but I did pay for this project in a different currency: time and curiosity. Building it taught me things I couldn't pick up from tutorials alone: how an MCP server and client actually talk to each other, why a small router model like tev1 can pick tools better than a big model guessing, how a local vision model reads a messy invoice, and how much a real database query beats asking an LLM to add up numbers.

Using it on my own sample invoices also showed me what a real user would ask for next: PDF support, editing a saved invoice when the model misreads a date, and marking invoices as paid. That's my roadmap, and my next step is to hand it to a freelancer friend and see if they'd pay for it.

Prize Categories

Featured Categories

*Best Use of Gemma

Partner Categories

*Best Use of a .tech Domain

Top comments (0)