Everest Invoicing
SQL-Lite x Flask x HTML-CSS

Overview
Lightweight invoicing application built with Flask and SQLite for small business invoice generation and management.
The Problem
Small businesses and freelancers need simple invoicing without the complexity and cost of full accounting software. Existing solutions were either too expensive, too complex, or required internet connectivity.
Architecture & Approach
Built a desktop-first invoicing app using Flask as a local server with SQLite for zero-configuration data storage. The UI is pure HTML/CSS with minimal JavaScript for interactivity. Packaged as a standalone executable using PyInstaller for easy distribution.
Technology Stack
Key Features
Invoice Builder
Drag-and-drop line items, tax calculation, discounts, and custom branding.
Client Management
Contact database with billing/shipping addresses and payment terms.
PDF Generation
Professional PDF invoices with company logo, terms, and QR codes for payment.
Payment Tracking
Record partial payments, overdue tracking, and automated reminders.
Reports
Sales summary, aging report, tax summary, and export to CSV/Excel.
Offline-First
Runs entirely locally — no internet required for core functionality.
Lessons Learned
SQLite + Flask is perfect for local-first desktop apps — zero config, portable, reliable.
PDF generation with WeasyPrint/ReportLab needs careful CSS handling for print layouts.
Packaging Python apps for non-technical users is harder than building the app.
Keyboard-first data entry workflows dramatically improve invoice creation speed.