Business Details

Client Details

Invoice Details

Line Items

Description Quantity Rate Tax % Amount

Pricing

Subtotal 0.00
Tax 0.00
Shipping 0.00
TOTAL 0.00

Notes & Terms

INVOICE
FROM
Your Company
business@example.com
+1 (555) 123-4567
BILL TO
Client Name
client@example.com
INVOICE DATE
Date not set
DUE DATE
Date not set
Items
Subtotal: ₹0.00
Tax: ₹0.00
Shipping: ₹0.00
TOTAL: ₹0.00

Choose an Invoice Template

Select a template style for your invoice. You can change this anytime.

INVOICE
From Company Ltd
123 Business St
contact@company.com
Bill To: Client Name
456 Client Ave
Invoice #INV-001 | Date: 2024-01-01
Due: 2024-02-01
Total: ₹10,000.00
Professional
Clean, corporate style perfect for formal businesses
INVOICE
Modern Design
COMPANY
Company Ltd
CLIENT
Client Name
AMOUNT
₹10,000.00
Modern
Colorful design with accent bars and highlights
==================
INVOICE
==================
Company: Company Ltd
Client: Client Name
Number: INV-001
Date: 2024-01-01
==================
Total: ₹10,000.00
==================
Simple
Minimal, plain text style for maximum compatibility

Export & Save Your Invoice

Choose how you want to save or share your invoice.

Import from JSON

Invoice History

View and manage previously created invoices.

📋

No invoices found. Create your first invoice in the Invoice Generator tab.

1000+ Excel Business Templates
Professional Spreadsheets

1000+ Excel Business Templates

Stop building from scratch. Get 1000+ ready-to-use Excel templates for invoicing, HR, inventory, budgets, and more.

₹3,500 ₹299 Save 91%
View Premium Bundle →

About INVOICE

Free Invoice Generator - Create professional invoices online instantly. No sign-up required, works offline, supports GST, multiple currencies, and PDF export.

Why Use Our INVOICE?

Our INVOICE is completely free, works directly in your browser, and requires no sign-up or installation. Your data stays on your device for maximum privacy and security.

Key Features

Frequently Asked Questions

Is this INVOICE really free?

Yes, this tool is completely free to use with no limitations. We believe in making professional tools accessible to everyone.

Do I need to create an account?

No account or registration is required. Simply open the tool and start using it immediately.

Is my data safe?

Absolutely. All processing happens directly in your browser. We do not store, transmit, or access any of your data.

`; return html; } // Print Invoice function printInvoice() { window.print(); } // Download JSON function downloadJSON() { const invoiceData = { businessName: document.getElementById('businessName').value, businessEmail: document.getElementById('businessEmail').value, businessPhone: document.getElementById('businessPhone').value, businessAddress: document.getElementById('businessAddress').value, businessTax: document.getElementById('businessTax').value, clientName: document.getElementById('clientName').value, clientCompany: document.getElementById('clientCompany').value, clientEmail: document.getElementById('clientEmail').value, clientPhone: document.getElementById('clientPhone').value, clientAddress: document.getElementById('clientAddress').value, invoiceNumber: document.getElementById('invoiceNumber').value, invoiceDate: document.getElementById('invoiceDate').value, dueDate: document.getElementById('dueDate').value, currency: document.getElementById('currency').value, paymentTerms: document.getElementById('paymentTerms').value, discountType: document.getElementById('discountType').value, discountValue: document.getElementById('discountValue').value, shippingCost: document.getElementById('shippingCost').value, notes: document.getElementById('notes').value, terms: document.getElementById('terms').value, items: [] }; document.querySelectorAll('.item-row').forEach(row => { invoiceData.items.push({ description: row.querySelector('.item-description').value, quantity: row.querySelector('.item-quantity').value, rate: row.querySelector('.item-rate').value, tax: row.querySelector('.item-tax').value }); }); const json = JSON.stringify(invoiceData, null, 2); const blob = new Blob([json], { type: 'application/json' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'invoice-' + invoiceData.invoiceNumber + '-backup.json'; a.click(); showAlert('Invoice saved as JSON backup!', 'success'); } // Import JSON function importJSON(event) { const file = event.target.files[0]; if (file) { const reader = new FileReader(); reader.onload = function(e) { try { const data = JSON.parse(e.target.result); // Load business info document.getElementById('businessName').value = data.businessName || ''; document.getElementById('businessEmail').value = data.businessEmail || ''; document.getElementById('businessPhone').value = data.businessPhone || ''; document.getElementById('businessAddress').value = data.businessAddress || ''; document.getElementById('businessTax').value = data.businessTax || ''; // Load client info document.getElementById('clientName').value = data.clientName || ''; document.getElementById('clientCompany').value = data.clientCompany || ''; document.getElementById('clientEmail').value = data.clientEmail || ''; document.getElementById('clientPhone').value = data.clientPhone || ''; document.getElementById('clientAddress').value = data.clientAddress || ''; // Load invoice details document.getElementById('invoiceNumber').value = data.invoiceNumber || ''; document.getElementById('invoiceDate').value = data.invoiceDate || ''; document.getElementById('dueDate').value = data.dueDate || ''; document.getElementById('currency').value = data.currency || 'INR'; document.getElementById('paymentTerms').value = data.paymentTerms || 'Due on Receipt'; // Load pricing document.getElementById('discountType').value = data.discountType || 'none'; document.getElementById('discountValue').value = data.discountValue || '0'; document.getElementById('shippingCost').value = data.shippingCost || '0'; // Load notes document.getElementById('notes').value = data.notes || ''; document.getElementById('terms').value = data.terms || ''; // Load items const tbody = document.getElementById('itemsTableBody'); tbody.innerHTML = ''; if (data.items && data.items.length > 0) { data.items.forEach(item => { const newRow = document.createElement('tr'); newRow.className = 'item-row'; newRow.innerHTML = ` `; tbody.appendChild(newRow); }); } updateCurrencySymbols(); updateTotals(); showAlert('Invoice imported successfully!', 'success'); } catch (error) { showAlert('Error importing JSON: ' + error.message, 'error'); } }; reader.readAsText(file); } } // Load History function loadHistory() { const invoices = JSON.parse(localStorage.getItem('invoiceHistory') || '[]'); const historyList = document.getElementById('historyList'); if (invoices.length === 0) { historyList.innerHTML = `
📋

No invoices found. Create your first invoice in the Invoice Generator tab.

`; return; } historyList.innerHTML = ''; invoices.reverse().forEach((invoice, index) => { const date = new Date(invoice.timestamp).toLocaleDateString(); const historyItem = document.createElement('div'); historyItem.className = 'history-item'; historyItem.innerHTML = `
Invoice #${invoice.invoiceNumber}
Client: ${invoice.clientName || 'N/A'} | Date: ${date}
`; historyList.appendChild(historyItem); }); } // Load Invoice from History function loadInvoice(index) { const invoices = JSON.parse(localStorage.getItem('invoiceHistory') || '[]'); if (index >= 0 && index < invoices.length) { const invoice = invoices[index]; // Load all fields document.getElementById('businessName').value = invoice.businessName || ''; document.getElementById('businessEmail').value = invoice.businessEmail || ''; document.getElementById('businessPhone').value = invoice.businessPhone || ''; document.getElementById('businessAddress').value = invoice.businessAddress || ''; document.getElementById('businessTax').value = invoice.businessTax || ''; document.getElementById('clientName').value = invoice.clientName || ''; document.getElementById('clientCompany').value = invoice.clientCompany || ''; document.getElementById('clientEmail').value = invoice.clientEmail || ''; document.getElementById('clientPhone').value = invoice.clientPhone || ''; document.getElementById('clientAddress').value = invoice.clientAddress || ''; document.getElementById('invoiceNumber').value = invoice.invoiceNumber || ''; document.getElementById('invoiceDate').value = invoice.invoiceDate || ''; document.getElementById('dueDate').value = invoice.dueDate || ''; document.getElementById('currency').value = invoice.currency || 'INR'; document.getElementById('paymentTerms').value = invoice.paymentTerms || 'Due on Receipt'; document.getElementById('discountType').value = invoice.discountType || 'none'; document.getElementById('discountValue').value = invoice.discountValue || '0'; document.getElementById('shippingCost').value = invoice.shippingCost || '0'; document.getElementById('notes').value = invoice.notes || ''; document.getElementById('terms').value = invoice.terms || ''; // Load items const tbody = document.getElementById('itemsTableBody'); tbody.innerHTML = ''; if (invoice.items && invoice.items.length > 0) { invoice.items.forEach(item => { const newRow = document.createElement('tr'); newRow.className = 'item-row'; newRow.innerHTML = ` `; tbody.appendChild(newRow); }); } updateCurrencySymbols(); updateTotals(); switchTab('generator'); showAlert('Invoice loaded successfully!', 'success'); } } // Delete Invoice function deleteInvoice(index) { if (confirm('Are you sure you want to delete this invoice?')) { const invoices = JSON.parse(localStorage.getItem('invoiceHistory') || '[]'); invoices.splice(index, 1); localStorage.setItem('invoiceHistory', JSON.stringify(invoices)); loadHistory(); showAlert('Invoice deleted successfully!', 'success'); } } // Filter History function filterHistory() { const searchTerm = document.getElementById('historySearch').value.toLowerCase(); const historyItems = document.querySelectorAll('.history-item'); historyItems.forEach(item => { const text = item.textContent.toLowerCase(); item.style.display = text.includes(searchTerm) ? 'flex' : 'none'; }); } // Select Template function selectTemplate(templateName) { document.querySelectorAll('.template-card').forEach(card => { card.classList.remove('selected'); }); document.querySelector('.template-' + templateName).classList.add('selected'); showAlert('Template "' + templateName + '" selected!', 'success'); } // Show Alert function showAlert(message, type) { const alert = document.createElement('div'); alert.className = 'alert alert-' + type; alert.textContent = message; alert.style.position = 'fixed'; alert.style.top = '100px'; alert.style.right = '20px'; alert.style.zIndex = '1000'; alert.style.minWidth = '300px'; alert.style.borderRadius = '4px'; document.body.appendChild(alert); setTimeout(() => { alert.remove(); }, 3000); } // Load html2pdf on page load window.addEventListener('load', function() { if (typeof html2pdf === 'undefined') { const script = document.createElement('script'); script.src = 'https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js'; script.async = true; document.head.appendChild(script); } });
127 people viewed Premium bundles today View Bundles

Before you go...

Premium template bundles starting at just

₹2,999 ₹199
Browse Premium Bundles