π I built a lightweight Invoice Generator using HTML, CSS & JavaScript
Most invoice tools Iβve used are either:
- Too heavy
- Require login/signup
- Or feel overkill for simple use cases
So I decided to build something minimal.
π Introducing BillForge β a lightweight invoice generator that runs entirely in the browser.
π‘ What I wanted to solve
I wanted a tool that:
- Works instantly (no setup)
- Doesnβt require a backend
- Generates clean, printable invoices
- Can export to PDF easily
β¨ Features
- π§Ύ Dynamic invoice creation
- β Add / remove items
- π° Real-time total calculation
- π Export as PDF
- π€ Share via WhatsApp / Gmail
- βοΈ Optional Google Sheets integration
π Tech Stack
- HTML5
- CSS3
- Vanilla JavaScript
- html2canvas (for capturing UI)
- jsPDF (for PDF generation)
βοΈ How it works
The app captures the invoice layout using html2canvas, then converts it into a PDF using jsPDF.
For optional backend support, I used Google Apps Script, which stores invoice data in Google Sheets.
π₯ Demo
π Live Demo: https://nilesh-padiyar.github.io/billforge/
π GitHub: https://github.com/nilesh-padiyar/billforge
π§ What I learned
- Handling DOM-based PDF generation isnβt always straightforward
- Balancing PDF quality vs file size is tricky
- Keeping UI clean makes a big difference in usability
- Even simple projects can benefit from optional backend integrations
π Whatβs next?
Iβm thinking of adding:
- Invoice history
- Custom themes
- Export to CSV/Excel
π Feedback welcome
Iβd love to hear:
- What features would you expect in such a tool?
- Any improvements or ideas?
Thanks for reading!
Top comments (0)