DevKit Tools

Invoice Generator

Build an invoice with line items, tax, discount and totals, then print it or save it as a PDF straight from your browser.

Documents/Invoice Generator

Build a clean invoice with line items, tax and totals, ready to print or save as PDF from your browser.

Invoice

Invoice

INV-2026-014

From

Ada Lovelace

12 Analytical Way London, EC1A 1BB VAT GB123456789

Bill to

Acme Corporation

500 Enterprise Road New York, NY 10001

DescriptionQtyRateAmount
Landing page design1$1,800.00$1,800.00
Component library build24$85.00$2,040.00
Accessibility audit1$450.00$450.00
Subtotal$4,290.00
VAT 20%$858.00
Total due$5,148.00

Nothing is stored or sent. Copy the HTML, open it in a browser and print to PDF. This produces the document; chasing the payment is a different job and needs a service that can send email on a schedule.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Invoice INV-2026-014</title>
<style>
  @media print { body { margin: 0 } .no-print { display: none } }
  body { font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: #111827; max-width: 800px; margin: 40px auto; padding: 0 24px; }
</style>
</head>
<body>
  <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse:collapse;margin-bottom:32px">
    <tr>
      <td style="vertical-align:top">
        <h1 style="margin:0;font-size:28px;letter-spacing:-0.5px">Invoice</h1>
        <p style="margin:4px 0 0;color:#6b7280">INV-2026-014</p>
      </td>
      <td style="vertical-align:top;text-align:right;color:#6b7280;font-size:14px">
        
        
      </td>
    </tr>
  </table>

  <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse:collapse;margin-bottom:32px">
    <tr>
      <td style="vertical-align:top;width:50%">
        <p style="margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280">From</p>
        <p style="margin:0;font-weight:600">Ada Lovelace</p>
        <p style="margin:4px 0 0;color:#6b7280;font-size:14px;white-space:pre-line">12 Analytical Way
London, EC1A 1BB
VAT GB123456789</p>
      </td>
      <td style="vertical-align:top;width:50%">
        <p style="margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280">Bill to</p>
        <p style="margin:0;font-weight:600">Acme Corporation</p>
        <p style="margin:4px 0 0;color:#6b7280;font-size:14px;white-space:pre-line">500 Enterprise Road
New York, NY 10001</p>
      </td>
    </tr>
  </table>

  <table width="100%" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-size:14px">
    <thead>
      <tr>
        <th style="text-align:left;padding:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;border-bottom:2px solid #111827">Description</th>
        <th style="text-align:right;padding:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;border-bottom:2px solid #111827">Qty</th>
        <th style="text-align:right;padding:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;border-bottom:2px solid #111827">Rate</th>
        <th style="text-align:right;padding:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#6b7280;border-bottom:2px solid #111827">Amount</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb">Landing page design</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">1</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$1,800.00</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$1,800.00</td>
      </tr>
      <tr>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb">Component library build</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">24</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$85.00</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$2,040.00</td>
      </tr>
      <tr>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb">Accessibility audit</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">1</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$450.00</td>
        <td style="padding:10px 0;border-bottom:1px solid #e5e7eb;text-align:right">$450.00</td>
      </tr>
      <tr>
        <td colspan="2"></td>
        <td style="padding:6px 0;text-align:right;color:#6b7280">Subtotal</td>
        <td style="padding:6px 0;text-align:right;">$4,290.00</td>
      </tr>

      <tr>
        <td colspan="2"></td>
        <td style="padding:6px 0;text-align:right;color:#6b7280">VAT 20%</td>
        <td style="padding:6px 0;text-align:right;">$858.00</td>
      </tr>
      <tr>
        <td colspan="2"></td>
        <td style="padding:6px 0;text-align:right;font-weight:bold;font-size:16px;border-top:2px solid #111827">Total due</td>
        <td style="padding:6px 0;text-align:right;font-weight:bold;font-size:16px;border-top:2px solid #111827">$5,148.00</td>
      </tr>
    </tbody>
  </table>

  <div style="margin-top:36px;padding-top:16px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:13px;white-space:pre-line">Payment due within 14 days by bank transfer.
Late payments are subject to interest at 8% above base rate.</div>
</body>
</html>

About the invoice generator

An invoice is a document, not a service. Producing one needs no account, no subscription and no data leaving your machine, which is why almost every invoice tool that asks you to sign up is selling you something other than the invoice.

This calculates the line totals, applies discount before tax in the order accountants expect, and produces a clean printable document. Nothing is stored, so nothing can be lost or leaked.

The part it does not do is chase the payment. Reminders and escalations need a service that can send email on a schedule, which is a different kind of product entirely.

How to use it

  1. 1Fill in your details and the client's.
  2. 2Add line items as description, quantity and rate separated by a vertical bar.
  3. 3Set the tax rate and any discount.
  4. 4Copy the HTML, open it in your browser, and print to PDF.

Questions

Is my invoice data stored anywhere?

No. Everything is calculated in your browser and nothing is sent to a server. Close the tab and it is gone, so save the PDF.

How do I get a PDF?

Copy the HTML, save it as a .html file, open it in your browser and press Ctrl+P or Cmd+P, then choose Save as PDF. The print styles are already set up.

Is discount applied before or after tax?

Before. The discount reduces the subtotal, then tax is calculated on the reduced amount, which is the order tax authorities expect.

Can it chase late payments?

No, and that is a deliberate limit. Sending reminders on a schedule needs a service running around the clock with your client's email address stored. This produces the document only.

Does it handle VAT or sales tax?

It applies one rate to the whole invoice and lets you label it. Multiple rates on different lines need an accounting package.

More Calculators tools