{
  "$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"
}