<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Qadeer Durrani</title>
    <description>The latest articles on DEV Community by Qadeer Durrani (@qadeer_durrani_a2a561ac96).</description>
    <link>https://dev.to/qadeer_durrani_a2a561ac96</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4179695%2Ff3a9a3a1-4048-417a-935d-1cd33e185447.png</url>
      <title>DEV Community: Qadeer Durrani</title>
      <link>https://dev.to/qadeer_durrani_a2a561ac96</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qadeer_durrani_a2a561ac96"/>
    <language>en</language>
    <item>
      <title>Title: Smart Invoice AI: private, local bookkeeping for freelancers</title>
      <dc:creator>Qadeer Durrani</dc:creator>
      <pubDate>Sun, 18 Oct 2026 17:50:30 +0000</pubDate>
      <link>https://dev.to/qadeer_durrani_a2a561ac96/title-smart-invoice-ai-private-local-bookkeeping-for-freelancers-1nhf</link>
      <guid>https://dev.to/qadeer_durrani_a2a561ac96/title-smart-invoice-ai-private-local-bookkeeping-for-freelancers-1nhf</guid>
      <description>&lt;p&gt;*his is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/p&gt;

&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;Smart Invoice AI is a bookkeeping tool for freelancers. You upload a photo or screenshot of an invoice or receipt, and a local AI reads it, extracts the date, vendor, total, currency and items, and suggests a category. You review the result, correct anything that is wrong and save it. At the end of the month you get an income, expense and profit report with a category breakdown and CSV export.&lt;/p&gt;

&lt;p&gt;Who would pay for it: freelancers who bill foreign clients and also pay platform fees, software subscriptions and internet bills, but have no real bookkeeping. I built it with Pakistani freelancers in mind. Tax season means digging through screenshots and half-finished spreadsheets, and their invoices contain client names and amounts that many people do not want to upload to a cloud service. Smart Invoice AI does everything on the user’s own computer.&lt;/p&gt;

&lt;p&gt;Business model: a one-time paid desktop licence (I am testing an early-access price of around Rs. 400), with a paid tax-season report planned later. I have no revenue yet, so this is a plan I still need to validate.&lt;/p&gt;

&lt;p&gt;Demo&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/N8ihBLFQ-zk" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl7o7n2jy492tdf3esp72.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl7o7n2jy492tdf3esp72.png" alt=" " width="799" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is no hosted demo, and that is deliberate. Hosting the app would send invoices to a server, which would defeat its purpose. The video shows the full flow: upload, extraction, editing, saving and the monthly report.&lt;/p&gt;

&lt;p&gt;Here is an honest result from a real garage invoice. The date (2025-10-22) and total (472.70) were extracted correctly. The vendor was wrong: the 3B model picked the customer’s name instead of the company that issued the invoice. This is exactly why every entry goes through an editable review form before it is saved.&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/qadeerdurrani244-art" rel="noopener noreferrer"&gt;
        qadeerdurrani244-art
      &lt;/a&gt; / &lt;a href="https://github.com/qadeerdurrani244-art/smart-invoice-ai" rel="noopener noreferrer"&gt;
        smart-invoice-ai
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Private, local AI bookkeeping for freelancers. Upload an invoice or receipt, a local AI (Ollama + OCR) reads it and builds your monthly income, expense and profit report. Nothing leaves your computer.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Smart Invoice AI&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Private, local AI bookkeeping for freelancers.&lt;/strong&gt; Upload a photo of an invoice or receipt, and a local AI reads it and builds your monthly income, expense and profit report. Nothing leaves your computer.&lt;/p&gt;
&lt;p&gt;Built for freelancers in Pakistan (PKR support, FBR tax-season report planned), useful for anyone who wants invoice tracking without sending client data to the cloud.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OCR&lt;/strong&gt; with RapidOCR reads text from invoice and receipt images (PNG/JPG)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI&lt;/strong&gt; (via Ollama) extracts date, vendor, total, currency and items as structured JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review before saving&lt;/strong&gt;: every field is editable, so AI mistakes never reach your books&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Category suggestions&lt;/strong&gt; from keyword rules (Platform Fees, Internet &amp;amp; Utilities, Equipment, ...)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monthly report&lt;/strong&gt;: income, expenses, profit, spending by category, CSV export&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;100% local&lt;/strong&gt;: SQLite database, no accounts, no cloud&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How it works&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;Image -&amp;gt; RapidOCR (text) -&amp;gt; local LLM via Ollama (JSON) -&amp;gt; editable form&lt;/code&gt;&lt;/pre&gt;…&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/qadeerdurrani244-art/smart-invoice-ai" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The README covers installation, usage, how to choose a model and the known limitations.&lt;/p&gt;

&lt;p&gt;How I Built It&lt;br&gt;
Python and Streamlit for the interface&lt;br&gt;
RapidOCR (ONNX, runs on CPU) to read text from images&lt;br&gt;
Ollama with qwen2.5:3b to turn the OCR text into structured JSON&lt;br&gt;
SQLite and pandas for storage and monthly reports&lt;/p&gt;

&lt;p&gt;The pipeline is: image, OCR, local LLM (JSON), editable form, SQLite, report.&lt;/p&gt;

&lt;p&gt;A few decisions shaped the project:&lt;/p&gt;

&lt;p&gt;OCR first, small text model second. My laptop is modest, and a vision model was too heavy. OCR reads numbers and dates well, so the LLM only has to structure the text.&lt;br&gt;
A human confirms every entry. Small models make mistakes, so nothing reaches the books until the user approves the form.&lt;br&gt;
Code handles what the prompt cannot. I instructed the model not to guess a currency from a lone $, and it ignored the rule. The app now accepts a currency only when a code such as USD or PKR is actually printed on the invoice, and otherwise falls back to the user’s default.&lt;br&gt;
The model is swappable. The SMART_INVOICE_MODEL environment variable switches models. The default qwen2.5:3b is released under a research licence, so for a commercial version I plan to move to an Apache-2.0 model such as qwen2.5:7b.&lt;/p&gt;

&lt;p&gt;I used an AI assistant to help write and debug the code, and I tested everything on my own machine. Setting it all up on a slow connection and a very new Python version took real effort.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;br&gt;
Privacy is the product. A freelancer’s invoices are their clients’ financial details. With open weights and local inference the data never leaves the laptop, which a closed API cannot offer because every invoice would travel to someone else’s server.&lt;br&gt;
No per-invoice cost. There is no API bill in dollars and no card needed. After the one-time model download, the app runs offline.&lt;br&gt;
I stay in control of the model. I can swap in a larger or differently licensed model with a single setting, which is how I will handle the commercial release.&lt;/p&gt;

&lt;p&gt;Next on the roadmap: PDF export, an FBR tax-season report and Urdu invoice support.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
