{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreicsdb5lqxayv32eacy537kbmzd5snfdag2tc5ja2rlxs5hn4ccmeq",
"uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mox4fvuoprw2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreievkh6ssa7a55t3nzrghewkiafcmgpln4xnin3jk6xr7l5r3p3pqe"
},
"mimeType": "image/webp",
"size": 63638
},
"path": "/vaibhav007code/i-built-an-invoice-generator-in-pure-htmlcssjs-heres-why-21m5",
"publishedAt": "2026-06-23T09:34:04.000Z",
"site": "https://dev.to",
"textContent": "\nHey devs!\n\nI'm VAIBHAV, a self-taught developer from Greater Noida, India.\n\nAfter paying ₹1,200/month for invoicing software I barely used, I decided to build my own.\n\n## What I Built\n\nA fully client-side invoice generator that:\n\n * Calculates GST automatically\n * Generates PDFs with one click\n * Works completely offline\n * Stores data locally (privacy first)\n * Runs on any device with a browser\n\n\n\n## The Stack\n\n * HTML5\n * CSS3 (no frameworks)\n * Vanilla JavaScript\n * html2pdf.js for PDF export\n\n\n\nNo React. No Node. No backend. Just a single HTML file that works everywhere.\n\n## Why This Matters\n\nMost invoicing tools charge monthly subscriptions. For freelancers in India, that adds up.\n\nI launched it on Gumroad for ₹1,250 one-time.\n\n**Try it:** [your Netlify link]\n\n**Buy it:** [your Gumroad link]\n\nFirst 10 buyers get 50% off with code EARLY50.\n\n## The Code\n\nThe entire product is a single HTML file. Here's the core logic:\n\n\n javascript\n // Auto-calculate totals\n function updateTotals() {\n const subtotal = items.reduce((sum, item) => sum + (item.qty * item.price), 0);\n const tax = subtotal * (taxRate / 100);\n const total = subtotal + tax;\n // Updates the invoice preview in real-time\n }\n",
"title": "I Built an Invoice Generator in Pure HTML/CSS/JS — Here's Why"
}