Guide

How to write an invoice, step by step.

To write an invoice, put the word “Invoice” at the top, add a unique invoice number and the date, list your details and your client's details, describe each product or service with its quantity and price, add any sales tax, show the total, and state when and how you want to be paid.

That is the whole job. Below is each step in order, a filled-in example, and the small mistakes that make clients pay late. If you would rather not start from a blank page, the free invoice generator builds the layout for you while you type.

Short on time? Skip ahead: Open the free invoice generator

The 7 steps to write an invoice

Work through these in order and nothing gets forgotten. Each step is covered in more detail further down.

  1. Label the document “Invoice” and give it a unique invoice number.
  2. Add the invoice date and the payment due date.
  3. Put your name or business name, address and contact details at the top.
  4. Add your client's name, company and billing address.
  5. List every product or service with a short description, quantity, rate and line total.
  6. Show the subtotal, any sales tax or discount, and the total due.
  7. State how to pay, by when, and what happens if the invoice is late.

Start with the label, number and dates

Call the document an invoice, in plain type at the top. A client's accounts-payable person scans for that word first.

Give it a number nobody else on your list has. Sequential numbers (1001, 1002, 1003) are fine, and so is a prefix with the year. What matters is that no two invoices share a number, because your client will use it to find the invoice and you will use it to match payments. There is a full guide to invoice numbering if you want a system.

Add two dates: the invoice date (the day you send it) and the due date. Writing the actual due date, such as “Due: November 14, 2026”, is clearer than only writing “Net 30”. See what Net 30 means if a client asks for it.

Your details and your client's details

At the top, show your business name (or your own name if you work as a sole proprietor), mailing address, email and phone number. If you have a logo, this is where it goes.

Below it, show who you are billing: the company name, the person you work with, and the billing address. If the client gave you a purchase order number or a project code, add it now. Larger companies often cannot pay an invoice that does not carry their PO number.

Some clients will also ask for your tax ID before they can pay you. Freelancers in the US usually give a W-9 for that. Do not put your full Social Security number on an invoice that goes out by email; use an EIN, or send the W-9 separately.

Describe the work so nobody has to ask

The line items are the heart of the invoice. Each line needs a description, a quantity, a rate and an amount. “Web design” alone invites questions. “Homepage design, 3 rounds of revisions” does not.

For hourly work, show the hours and the hourly rate. For fixed-price work, show one line per deliverable or per milestone. For products, show the item, quantity and unit price. Keep the wording something your client could read out to their boss.

Type of workWhat to show on the line
HourlyTask, hours, rate per hour, amount
Fixed priceDeliverable or milestone, amount
ProductsItem, quantity, unit price, amount
ExpensesWhat it was, the date, the amount, receipt attached if the client asked

Totals, sales tax and discounts

Show a subtotal (the sum of all the lines), then any discount, then sales tax, then the total due. Put the total in bold and make it the biggest number on the page, so that it cannot be missed.

Whether you must charge sales tax depends on what you sell and where your client is. Many services are not taxed in many states, and goods usually are. This varies a lot by state, so check your state's rules or ask your accountant before you add a tax line. If you charge tax, show the rate and the amount as their own line.

If part of the invoice is already paid, such as a deposit, show it as a deduction so the “amount due” is the real number the client owes.

Payment terms and how to pay

Say how long the client has and how they can pay. Common choices are due on receipt, Net 15 and Net 30. Pick the shortest term your client will accept. If you are not sure, Net 30 is the standard for business-to-business work.

Then make paying easy. Give your bank details for a transfer, or a payment link for card payments. Every extra step between the client and the pay button delays your money. A line such as “Pay by bank transfer or card using the link below” costs you nothing.

If you plan to charge a late fee, the invoice has to say so before the invoice is overdue, with the exact fee. See the guide on late fees for wording that holds up.

A filled-in invoice example

Here is a simple invoice for a freelance designer. Copy the structure and change the content.

Invoice INV-1042

Maple Street Studio

120 Maple Street, Austin, TX 78701

[email protected]

Bill to: Juniper Bakery, attn. Ava Brooks

48 Oak Avenue, Austin, TX 78702

PO number: JB-2291

Invoice date: October 17, 2026

Due date: November 16, 2026 (Net 30)

Logo design, 3 rounds of revisions 1 x $1,200.00 $1,200.00

Brand color guide (PDF) 1 x $350.00 $350.00

Subtotal: $1,550.00

Sales tax (0%): $0.00

TOTAL DUE: $1,550.00

Pay by bank transfer: routing 111000025, account 123456789.

Late payments: 1.5% per month after the due date.

Thank you for your business!

Mistakes that make clients pay late

After sending, put the due date in your calendar. If the money has not arrived, a polite reminder email usually does the job.

  • No due date, or only “Net 30” with no date the client can put in a calendar.
  • The invoice goes to a general inbox, not to the person who approves payments. Ask who that is before you send.
  • Vague line items that make the client email you with questions before they pay.
  • Missing PO number or tax ID that the client's finance team requires.
  • Sending it weeks after the work. Invoice the day the job is done, or at the milestone you agreed on.
  • A different total from the quote, with no explanation. If the scope changed, say so in a note.

Do it in a Word file, a spreadsheet, or an app

You can write an invoice in any tool that makes a clean PDF. A Word or Google Docs file works for a few invoices a year. A spreadsheet adds the arithmetic. The risk with both is a typo in a total, a reused number, or an old client name left on the page.

An invoice tool removes those errors: totals are calculated for you, and numbers do not repeat. The free invoice generator on this site needs no account and saves a PDF. In the Jiffy app you can also send the invoice by email, WhatsApp or a link, and your client can pay from the link. For a layout to start from, browse the invoice templates.

Guide

Questions people ask

What is the minimum information needed on an invoice?

At least: the word invoice, a unique invoice number, the date, your name and contact details, your client's name, a description of what you sold, the amount owed and how to pay. Requirements can be stricter for some businesses and some states, so check yours.

Can I write an invoice without a template?

Yes. An invoice is just a clear document with the details above. A template or generator only saves time and keeps the layout consistent.

Do I need to send an invoice if I am paid upfront?

It is still a good idea. A paid invoice is your record of the sale, and your client needs one for their books. Mark it as paid and show a zero balance.

When should I send an invoice?

As soon as the work is done or the milestone is reached. The sooner it goes out, the sooner the due date arrives. For long projects, invoice in stages instead of at the very end.

Should I send the invoice as a PDF?

Yes. A PDF looks the same on every device and cannot be edited by accident. Name the file with your business name and the invoice number so it is easy to find.

Not here? Email us: [email protected]

Make this invoice in a minute.

Fill in the blanks in the free invoice generator and download a PDF. No account, and nothing you type leaves your browser.

Choose your language