You are an expert invoice designer and front-end developer. Your job: collect my business details in this chat, then build a personalised invoice generator as a single HTML file with my details already built in.
## PHASE 1 – COLLECT BUSINESS DETAILS IN CHAT
Do NOT write any code yet. Ask me the questions below one group at a time, wait for my reply, then move to the next group. Keep each message short and friendly. If I skip an optional field, leave it out of the invoice.
Group 1 – Business identity
- Business name
- Owner / contact person name
- Logo: a public image URL, or say "no logo" (then make a clean text logo from my business name)
- Brand colour (hex code or a colour name; suggest one if I'm unsure)
Group 2 – Contact & address
- Full address (line 1, line 2, city, state, PIN/ZIP, country)
- Phone, email, website
Group 3 – Tax & currency
- Country of business
- Tax registration type and number (GSTIN / VAT / TRN / none)
- Tax type: GST (CGST+SGST / IGST), VAT, or No Tax
- Default tax %
- Currency (₹ INR, $ USD, AED, SAR, € EUR, £ GBP, or other)
Group 4 – Payment details
- Bank: account name, account number, bank name, IFSC / SWIFT / IBAN, branch
- UPI ID (optional; if given, show a UPI payment QR on the invoice)
- Default payment terms (Due on receipt / 7 / 15 / 30 days)
Group 5 – Invoice settings
- Invoice number prefix (e.g. INV-2026-) and starting number
- Default notes (e.g. "Thank you for your business")
- Terms & conditions
- Signatory name and designation
- Invoice style: Classic, Modern, or Minimal
After all groups, show me a neat summary of every detail and ask: "Shall I generate your invoice generator now? Reply YES or tell me what to change." Only after I confirm, go to Phase 2.
## PHASE 2 – GENERATE THE HTML FILE
Build ONE self-contained .html file (inline CSS + JS, no backend, works offline by double-clicking).
Hard-code all my business details from Phase 1 into the file as a clearly commented CONFIG object at the top of the script, so they can be edited later in one place. My business details must NOT appear as editable form fields in the app.
The app screen shows only what changes per invoice:
Left side = form, right side = live preview (updates on every keystroke; on mobile, stack with a Form/Preview toggle).
Form fields:
- Invoice number (auto from my prefix + number, editable), invoice date (today), due date (auto from my payment terms, editable)
- Client details: name, company, address, phone, email, client tax ID, place of supply
- Deliverables / line items: description, HSN/SAC (optional), quantity, unit price, discount %, tax % (default = my tax %), line total
- Add, delete and duplicate rows
- Overall discount (flat or %), shipping/other charges
- Auto-calculate: subtotal, discount, tax breakdown (CGST/SGST, IGST or VAT as per my setup), round-off, grand total
- Amount in words (Indian lakh/crore for INR, million format for others)
- Payment status: Unpaid / Partially Paid / Paid (shown as a stamp on the preview)
- Notes and terms (pre-filled from my defaults, editable per invoice)
Invoice preview:
- Professional A4 layout in my chosen style and brand colour
- My logo, business details, tax number, bank details, UPI QR (if given), signatory name and designation, plus a "Authorised Signatory" line
Buttons:
1. "Download PDF": use html2pdf.js from cdnjs; A4, high quality; file name = InvoiceNumber_ClientName.pdf
2. "Print": window.print() with a print stylesheet that shows only the invoice
3. "New Invoice": clears client and items and increments the invoice number
Optional extras (localStorage, wrapped in try/catch so the app still works without it):
- Remember the last invoice number
- Save clients for quick reuse from a dropdown
- Invoice history with search, open, duplicate and delete
## DESIGN & QUALITY
- Modern, minimal UI; Inter or Poppins from Google Fonts; responsive; large touch targets
- All amounts formatted with my currency and 2 decimals
- No placeholder or TODO code; no console errors
- Output the complete file in one code block
- After the code, give 3-line instructions: save as invoice.html → open in Chrome → fill in the client and items, then download
RUNS ON
All Models
How to use
Steps. Run it right.
Don't just paste and pray. Read how to get the best results from this prompt.
Paste the prompt into the LLM. It will ask you a series of questions about your business.
Answer every question in full. The more detail you give, the better the output.
Download the HTML file the LLM generates, then open it in your browser.
Edit on the left panel. Add your client details and the deliverables.
Check the live preview on the right side as you type.
Download as PDF once everything looks right, and share it with your client.
Sample output
What you'll actually get.
A real example of the output this prompt produces.
Claude 3.5 · Oct 8, 2026HTML File
HTML File
Pro tips
Things I'd add.
◇
Give full business details upfront. Share your logo, brand colours, GST number, bank details, and standard terms so every proposal is client-ready.
◇
Pre-load your services and prices. You'll only need to adjust quantities for each client.
◇
Ask for auto-calculations. Get subtotal, GST, discount, and total calculated automatically.
◇
Fix issues in the same chat. If something looks off, describe the change and ask for an updated HTML file.
Common mistakes
Don't do these.
×Giving vague answers. Short or incomplete replies to the LLM's questions produce a generic, unusable template.
×Skipping the PDF check. Sending without previewing can mean broken page breaks, wrong totals, or misaligned text.
×Editing the master file. Overwriting your original HTML means losing your clean template. Always work on a copy.
×Leaving out terms and validity. Proposals without payment terms, a validity date, or scope limits invite delays and scope creep.