Invoice Generator
Create professional invoices with line items, tax calculation, and printable output.
Reviewed by Aygul Dovletova · Last reviewed
From
Bill To
Line Items
How to Use the Invoice Generator
- Fill in the "From" block with your business name, address, and contact email. For sole proprietors this is your legal name; for LLCs it is the registered company name.
- Enter the client\'s "To" block. Match the name exactly to whatever is on their purchase order or vendor record, otherwise their accounts-payable system may kick the invoice back.
- Set the invoice metadata: a unique invoice number (sequential is easiest), an issue date, and a due date consistent with your payment terms (Net 15, Net 30, and so on).
- Add line items one by one. Each row takes a description, quantity, and rate - the amount column auto-calculates (quantity times rate) and folds into the subtotal.
- Enter a tax percentage if applicable. The tool computes tax on the subtotal and shows subtotal, tax, and grand total stacked on the right.
- Add notes for payment terms, bank details, or a thank-you line, then click Preview to see the formatted result. Use your browser\'s Print dialog to save as PDF or print to paper.
What This Tool Does and How It Works
The generator is a controlled-form Preact component that holds every invoice field in component state. When you type into an input, the state updates and any dependent computed values (line-item amount, subtotal, tax, total) recalculate on the same render pass. Totals are computed with Array.reduce over the line-item array and rounded to two decimal places with toFixed(2). The Preview mode swaps the edit form for a read-only formatted layout styled with a print stylesheet that uses the @media print CSS rule to hide navigation chrome, set A4/letter margins, and switch the background to white.
When you click Print, the tool opens a new window with just the preview HTML, which prevents the site\'s navigation and footer from appearing on the printed page. Saving as PDF goes through the browser\'s standard print dialog - in Chrome and Edge that means "Save as PDF" as the destination; in Safari it is "Export as PDF" in the print sheet. No PDF library is bundled into the page because browser print-to-PDF already produces a selectable, searchable, vector-quality document that is indistinguishable from what a server-side renderer like wkhtmltopdf would produce.
When You Would Use the Invoice Generator
- Sending a one-off invoice as a freelancer or consultant when setting up full QuickBooks or Xero feels like overkill for a single engagement.
- Invoicing an international client where you want a clean printable PDF to attach to an email, rather than a portal-hosted invoice URL.
- Reproducing a missing invoice from an older job, where you need a document for the records but no longer want to back-edit your main accounting system.
- Generating a proforma invoice before the work is done - useful for visa applications, wire-transfer pre-approvals, or procurement pre-clearance.
- Teaching or training someone on invoicing basics where the structure matters more than the persistence of any specific record.
- Issuing a credit note or adjustment invoice with a negative line item, where your main accounting platform requires convoluted workflows to handle it.
Common Pitfalls and Edge Cases
The biggest practical issue: nothing is saved. Close the tab and the invoice is gone - no draft, no recent-invoices list, no auto-recovery. Print to PDF before leaving. A second pitfall is tax handling: the tool applies a single flat percentage to the subtotal, correct for most sales-tax contexts but wrong for EU VAT where line items may carry different rates, or for mixed jurisdictions with partial exemptions. Invoice numbering must be sequential within your own records for auditability - do not skip or reuse numbers, and if you void an invoice, keep the number and mark it voided. Currency rounding at display time can produce sub-cent discrepancies on large line counts - acceptable for ad-hoc invoices, not for regulated accounting. Finally, the generator has no concept of payment status - the PDF does not say "paid" even after the money arrives.
Invoices in Practice
An invoice is a legally-adjacent document requesting payment for goods or services delivered or to be delivered. In most jurisdictions it must include issuer, recipient, date, unique identifier, description, quantity and price, total due, and applicable tax. The EU VAT Directive (Council Directive 2006/112/EC) lays out mandatory fields for B2B invoices in Europe; US state sales-tax rules vary; UK HMRC VAT guidance covers British rules. Standard electronic formats include UBL (Universal Business Language, an OASIS standard), EDIFACT, and ISO 20022. This tool produces a human-readable printable invoice suitable for most small-business use, not a machine-readable EDI document - for large-enterprise XML-schema or portal submissions, use a real accounting platform or a tax-compliance vendor like Avalara.
Comparison to Alternatives
QuickBooks, Xero, FreshBooks, and Wave are the established options for small businesses needing persistent client records, recurring invoices, payment tracking, and accountant-friendly reports. Stripe Invoicing and PayPal Invoicing bolt payment collection onto the invoice, a big win for card clients. Free alternatives like Invoice Ninja offer richer templates without full accounting subscriptions. Against these, this tool wins on zero-friction one-off use: no login, no trial, no data collected - a printable invoice in under two minutes. It loses whenever you have more than a handful of invoices per year or are subject to jurisdiction-specific compliance requiring certified e-invoicing.
Frequently Asked Questions
Does this tool save my invoices?
No. Every invoice exists only as long as the tab is open - reloading or closing wipes everything. This keeps the tool stateless and avoids data retention obligations, but it means you must print to PDF before leaving. For repeat invoicing, copy your "From" block into a scratchpad, or move up to a persistent tool like QuickBooks, Wave, or FreshBooks.
How do I save the invoice as a PDF?
Click Print, which opens the invoice in a new window with print-optimized CSS. In Chrome, Edge, and Firefox choose "Save as PDF" as the print destination; in Safari use "Export as PDF" from the print sheet. The resulting file is vector PDF with selectable, searchable text - indistinguishable from server-rendered PDF. Name the file with the invoice number and client so you can find it later.
How should I number my invoices?
Two durable conventions: sequential integers (INV-001, INV-002) or date-prefixed sequences (2026-04-0001). Sequential is easier to reason about; date prefixes make year-end bookkeeping simpler. Do not skip numbers and do not reuse them - tax authorities can ask for an explanation of gaps. If you void an invoice, keep the number with a VOID stamp rather than delete it.
Can I charge different tax rates on different line items?
No. The tool applies a single flat tax percentage to the whole subtotal, which is fine for single-rate jurisdictions (most US states, Australian GST at 10%) but wrong for mixed-rate situations. EU VAT often has standard, reduced, and zero-rated items on the same invoice; US multi-state sales may vary per state. For those cases you need a real accounting platform with per-line tax codes.
Are my business and client details uploaded anywhere?
No. Every field - business name, address, email, client details, line items, amounts, notes - lives in Preact component state inside your browser. The tool does not fetch, post, or transmit any of it during editing or printing. The print window is a same-origin pop-up that reuses loaded data, and the PDF is generated locally by the browser.
What payment terms should I use?
Net 30 (due 30 days after invoice date) is the default US B2B convention. Net 15 is common for smaller clients. Net 60 or Net 90 shows up in large-enterprise procurement but is painful for cash flow. Other useful conventions: "Due on receipt" for one-off clients; a late-payment clause like "1.5% monthly interest on past-due balances" adds teeth. Put whatever you choose in the notes section.
Can I add a logo?
Not in the current UI. The generator is text-based and does not accept image uploads. For branded invoices, move the content to Google Docs or Word which support image placement, or use a dedicated tool like Invoice Ninja or Wave. A custom Google Docs template produces a more polished result than this minimal generator.
Is this invoice legally valid?
A printable invoice with the required fields (issuer, recipient, date, unique number, description, amount, tax) is legally acceptable for most small-business use in the US, UK, and most of the EU. It is not automatically compliant with every jurisdiction's e-invoicing mandates (Italy's SDI, Mexico's CFDI, India's IRN, growing EU cross-border B2B mandates). For compliance-sensitive markets, consult your accountant or a platform like Avalara.
How do I issue a credit note or refund invoice?
Create a new invoice with a new number, reference the original in the notes ("Credit note for invoice INV-042"), and enter line items as negative amounts. Subtotal, tax, and total calculate as negatives. This matches how accounting software represents credits. Keep the original invoice unchanged - credit notes are additive, not retroactive edits, which matters if anyone audits.
Does the tool handle currency conversion?
No. The dollar sign is cosmetic and the math is pure multiplication regardless of currency. Enter amounts in whichever currency you will bill in and label accordingly (USD, EUR, GBP, JPY). For cross-border clients, state the currency explicitly and list bank details for international wire (IBAN, SWIFT/BIC) in the notes. For multi-currency accounting with FX tracking, Xero or Wise Business is the correct layer.
More Productivity
Cover Letter Generator
Generate professional cover letters from a fill-in template with your details and experience.
Open toolDigital Whiteboard
Draw and sketch on an HTML5 canvas with pen, eraser, colors, and PNG download.
Open toolEmail Signature Generator
Generate professional HTML email signatures with contact details and social links.
Open toolFlashcard Maker
Create and study flashcards with front/back content, shuffle, and navigation.
Open toolGrammar Checker
Check text for double spaces, repeated words, misspellings, capitalization, and passive voice.
Open toolMarkdown Table Generator
Build a Markdown table interactively. Add rows and columns, set per-column alignment and copy the GitHub-flavoured output.
Open tool