How to print invoices and receipts from your own records
Keep customers, products and sales in one place, and lay out the invoice once as a template that fills itself from one sale. A spreadsheet can do it with lookups, a database report or print layout does it from tables, and a receipt printer needs a layout 80 mm or 58 mm wide.
27 October 2026 · 6 min read
What an invoice has to carry
The rules differ from country to country, and a tax authority’s own guidance is the one to follow. Almost everywhere an invoice carries:
- Your business’s name and address, and its tax registration number where you have one.
- A unique invoice number and the date.
- The customer’s name and address.
- A line for each item or service, with its quantity, price and tax rate.
- The totals before tax, the tax, and the amount due, with when and how to pay.
A receipt is the short form of the same thing, given at the moment of payment.
From a spreadsheet
Keep the sales on one sheet, a row per line, each with its invoice number. Make an invoice sheet laid out for printing, with a cell for the invoice number, and fill the rest with lookups: XLOOKUP or VLOOKUP for the customer’s details, and FILTER (in Excel 365 and other current spreadsheets) to pull every line with that number. Set the print area, and save each one as a PDF.
It works well for a handful of invoices a week. It strains when invoices vary in length, when you print a month of them at once, and when numbering is done by hand.
Why mail merge is the wrong tool
Word’s mail merge makes one document for each row of a list, which is perfect for letters and labels. An invoice is one document for several rows, and mail merge has no plain way to repeat a varying number of lines on one page. People get round it with directory merges or by joining the lines into one cell beforehand, but a report or print layout made for the job is simpler.
From a database
A database keeps customers, products, invoices and invoice lines in tables of their own. A report grouped by invoice prints the heading once, the lines beneath it and the totals at the foot, one invoice to a page, and can print one invoice or a month of them. In Access, Northwind’s invoice report is a working example to copy; LibreOffice Base has a report builder that does the same.
Let the database number the invoices. Most tax rules expect numbers that are unique and in sequence, and a number given out by the database is never typed twice.
Receipts on a till roll
Receipt printers take paper rolls 80 mm or 58 mm wide, and print on a little less than that: about 72 mm and 48 mm are usual. Install the printer’s Windows driver, choose its paper size in the print dialog, and use a layout made for that width, in a monospaced or narrow font with no side margins. A layout made for A4 and shrunk to fit prints too small to read.
Shops that print hundreds a day often send the printer its own commands (ESC/POS) from the till software instead, which is faster but needs software that speaks them.
Sending them as PDFs
Every current system can save a PDF instead of printing. Name each file by its invoice number, keep a copy where your records are, and send the PDF rather than an editable document, so what the customer receives is exactly what you issued.
Our own product, disclosed
Where our own software comes into this
We make Rutba Office, a free desktop suite for Windows, whose Data Files app has print templates made for this. A template lays out one record as a business sends it: the letterhead from a table of your own details, the record’s fields, its lines with their totals, text with the record’s values in it, and places to sign. Paper can be A4, Letter, A5, or an 80 mm or 58 mm till roll.
A template can be for some records only, such as a delivery note for shipped orders, show a part only when it applies, keep a running balance, and group lines with subtotals. Print it or save it as a PDF from the form showing the record. Each of the sample businesses on the samples page comes with print templates of its own to start from.
Related
A free database for a small business, and how to tell you need one
You need a database rather than a spreadsheet once the same customer, product or job is typed into more than one place. Microsoft Access, LibreOffice Base and the SQLite tools keep the records on your own computer for little or nothing; online tools such as Airtable keep them on their servers.
How to do a mail merge: letters, envelopes and labels from a spreadsheet
A mail merge is one document and one list. The document says where each piece of the list goes, and the merge makes a copy for every row. It goes wrong in the same few places every time (dates and money in the wrong format, blank lines where a field was empty, the wrong sheet), and each of them has a plain fix.
How to turn a pile of receipts into a spreadsheet
Decide the columns first, keep each receipt beside its row, and check every row by its own sums: the items add up to the subtotal, and the subtotal and tax to the total. Reading the figures by machine saves typing, and the sums are what tell you whether to trust them.
Thirteen apps, one free download
No account, no telemetry, and it works with the network switched off.