Create professional invoices for business, trade & sales instantly. Add logo, QR code, taxes & more — download PDF or print for free.
Instant PDF 100% Free 5 Templates QR Code Multi-Currency Tax & Discount
Choose Template
📄
Classic
🎨
Modern
✨
Minimal
⚡
Bold
💼
Pro
Your Business Info
Click to upload logo PNG, JPG, SVG — max 2MB
Bill To (Client)
Invoice Details
Line Items
DescriptionQtyRateAmount
Tax, Discount & Totals
Bank & Payment Details
Notes & Terms
Live Preview
User Guide
How to Create an Invoice
Fill in your Business Info — name, address, contact, and tax ID.
Add your Client's details in the Bill To section.
Set the Invoice Number, date, due date, and currency.
Add Line Items — each with description, quantity, and rate. The amount calculates automatically.
Configure Tax, Discount & Shipping if applicable.
Add Bank details and a UPI/payment link for QR code generation.
Click Download PDF or Print — your professional invoice is ready!
Templates & Colors
Choose from 5 professional templates (Classic, Modern, Minimal, Bold, Professional) and customize the accent color using the swatches or color picker. The preview updates instantly.
QR Code
Enter your UPI ID, payment URL, or any link in the UPI / Payment Link field. A scannable QR code is generated automatically and printed on the invoice, making it easy for clients to pay instantly.
Tax & Discount
Enter a discount % (applied to subtotal first), then tax/GST % (applied after discount). Shipping is added last. All totals recalculate live. You can also customize the tax label (GST, VAT, etc.).
FAQ
Is this invoice generator really free?
Yes — completely free, no registration, no watermarks, no hidden fees. Create and download unlimited invoices.
Can I add my business logo?
Yes! Click the logo upload area and select a PNG, JPG, or SVG file. It will appear on the invoice preview immediately.
Does it support GST / VAT invoices?
Yes. You can add your GSTIN and client GSTIN, set a tax percentage, and customize the tax label (GST, VAT, IGST, etc.).
How do I download the invoice as PDF?
Click the "Download PDF" button. The browser's print dialog will open — select "Save as PDF" as the destination to save it to your device.
Is my data saved or stored?
No data is sent to any server. Everything runs entirely in your browser. Your invoice data stays private on your device.
`;const printWin = window.open('', '_blank', 'width=900,height=700');
if (!printWin) { alert('Please allow pop-ups for this site to print invoices.'); return; }
printWin.document.open();
printWin.document.write(printDoc);
printWin.document.close();
}function generatePDF() { printInvoice(); }/* ══ RESET ══ */
function resetForm() {
if (!confirm('Reset all invoice data?')) return;
['bizName','bizPhone','bizEmail','bizAddress','bizGST','bizWeb',
'clientName','clientPhone','clientEmail','clientAddress','clientGST',
'poNumber','invNotes','invTerms','bankName','bankAcc','bankAccName','bankCode','upiLink',
'discount','tax','shipping'].forEach(id => {
const el = document.getElementById(id);
if (el) el.value = el.type === 'number' ? '0' : '';
});
document.getElementById('invNumber').value = 'INV-001';
document.getElementById('taxLabel').value = 'Tax';
document.getElementById('sigLabel').value = 'Authorized Signature';
document.getElementById('payTerms').value = 'Due on Receipt';
document.getElementById('invStatus').value = '';
const today = new Date(), due = new Date(today); due.setDate(due.getDate()+30);
document.getElementById('invDate').value = fmt(today);
document.getElementById('dueDate').value = fmt(due);
document.getElementById('itemsContainer').innerHTML = '';
itemCount = 0;
removeLogo();
document.getElementById('qrPreview').innerHTML = '';
addItem(); addItem(); addItem();
render();
}/* ══ LOAD SAMPLE ══ */
function loadSample() {
document.getElementById('bizName').value = 'Bright Solutions Ltd.';
document.getElementById('bizPhone').value = '+1 (800) 555-0199';
document.getElementById('bizEmail').value = 'billing@brightsolutions.com';
document.getElementById('bizAddress').value = '123 Business Ave, Suite 400\nNew York, NY 10001\nUSA';
document.getElementById('bizGST').value = 'US-TAX-98765';
document.getElementById('bizWeb').value = 'www.brightsolutions.com';
document.getElementById('clientName').value = 'Apex Traders Inc.';
document.getElementById('clientPhone').value = '+1 (212) 555-0188';
document.getElementById('clientEmail').value = 'accounts@apextraders.com';
document.getElementById('clientAddress').value = '456 Commerce Blvd\nChicago, IL 60601\nUSA';
document.getElementById('invNumber').value = 'INV-2024-089';
document.getElementById('poNumber').value = 'PO-AT-2024-112';
document.getElementById('payTerms').value = 'Net 30';
document.getElementById('currency').value = 'USD';
document.getElementById('discount').value = '5';
document.getElementById('tax').value = '10';
document.getElementById('taxLabel').value = 'GST';
document.getElementById('shipping').value = '25';
document.getElementById('invNotes').value = 'Thank you for your business! Please process payment by the due date.';
document.getElementById('invTerms').value = 'Payment is due within 30 days. A 1.5% monthly fee applies to overdue balances.';
document.getElementById('bankName').value = 'Chase Bank';
document.getElementById('bankAccName').value = 'Bright Solutions Ltd.';
document.getElementById('bankAcc').value = '0123-4567-8900';
document.getElementById('bankCode').value = 'CHASUS33';
document.getElementById('sigLabel').value = 'Authorized Signature';// Clear items and add sample ones
document.getElementById('itemsContainer').innerHTML = '';
itemCount = 0;
addItem('Web Design & Development', '1', '1500');
addItem('SEO Optimization Package', '3', '200');
addItem('Monthly Hosting (3 months)', '3', '49');
addItem('Logo Design', '1', '350');
addItem('Social Media Management', '2', '180');render();
}