Sample invoice data
1,000 × 11rows × columns in the 1,000-row file
Updated 3 November 2026. Fictional U.S. businesses and people, generated with a fixed seed.
textnumberdateyes/no
Largest file10,000rows; also 100 and 1,000
Columns11with a data dictionary below
Dates2024-01-01 – 2024-12-31range in the file
LicenceCC0synthetic, free for any use
What is in it
Each row is one invoice issued in 2024 to a fictional client: issue and due dates, paid date, subtotal, tax rate and amount, total, status as of 31 January 2025 and days late.
First rows
point at a column to light it up
| invoice_idtext | clienttext | issue_datedate | due_datedate | paid_datedate | subtotalnumber | tax_ratenumber | taxnumber | totalnumber | statustext | days_latenumber |
|---|---|---|---|---|---|---|---|---|---|---|
| INV-24001 | Granite Dental Group | 2024-08-13 | 2024-09-12 | 2024-09-18 | 425.22 | 0.05 | 21.26 | 446.48 | Paid late | 6 |
| INV-24002 | Northstar Logistics LLC | 2024-03-22 | 2024-04-21 | 2024-04-18 | 292.68 | 0.07 | 20.49 | 313.17 | Paid | 0 |
| INV-24003 | Redwood Print Shop | 2024-09-30 | 2024-10-30 | 2024-11-13 | 5453.87 | 0.0825 | 449.94 | 5903.81 | Paid late | 14 |
| INV-24004 | Foxglove Foods Ltd. | 2024-06-15 | 2024-07-15 | 2024-06-27 | 3279.33 | 0.0825 | 270.54 | 3549.87 | Paid | 0 |
| INV-24005 | Oakmont Fitness LLC | 2024-09-13 | 2024-10-13 | 2024-10-01 | 204.05 | 0.0625 | 12.75 | 216.8 | Paid | 0 |
| INV-24006 | Acme Supply Co. | 2024-03-05 | 2024-04-04 | 2024-03-30 | 493.32 | 0.0825 | 40.7 | 534.02 | Paid | 0 |
| INV-24007 | Blue Ridge Media Co. | 2024-08-15 | 2024-09-14 | 2024-08-31 | 7317.75 | 0 | 0 | 7317.75 | Paid | 0 |
| INV-24008 | Foxglove Foods Ltd. | 2024-12-16 | 2025-01-15 | 2024-12-19 | 5924.25 | 0.07 | 414.7 | 6338.95 | Paid | 0 |
| INV-24009 | Ironwood Consulting | 2024-10-28 | 2024-11-27 | 2024-11-11 | 5231.84 | 0.0625 | 326.99 | 5558.83 | Paid | 0 |
| INV-24010 | Juniper Builders Inc. | 2024-05-19 | 2024-06-18 | 2024-06-06 | 2219.05 | 0.0825 | 183.07 | 2402.12 | Paid | 0 |
Invoices by status
invoices, 1,000-row file
Show as a table
| status | value |
|---|---|
| Paid | 639 |
| Paid late | 215 |
| Overdue | 146 |
Data dictionary
| Column | Type | Meaning |
|---|---|---|
| invoice_id | text | Invoice number |
| client | text | Fictional client company |
| issue_date | date | Issued (2024) |
| due_date | date | issue_date + 30 days |
| paid_date | date | Blank if unpaid |
| subtotal | decimal | Before tax (USD) |
| tax_rate | decimal | Sales tax rate applied |
| tax | decimal | subtotal x tax_rate |
| total | decimal | subtotal + tax |
| status | text | Paid, Paid late, Open or Overdue (as of 2025-01-31) |
| days_late | integer | Days paid after due date, or days overdue at 2025-01-31; 0 if on time |
Practice questions
answers checked in SQL and in Python
How many invoices are in each status?
Paid 639; Paid late 215; Overdue 146
SQL
SELECT status, COUNT(*) FROM invoices GROUP BY status ORDER BY COUNT(*) DESCFile: invoices-1000
How much money is overdue?
$506,974.73
Excel
=SUMIFS(I:I,J:J,"Overdue")SQL
SELECT ROUND(SUM(total),2) FROM invoices WHERE status='Overdue'File: invoices-1000
Average days late for invoices paid late?
22.5 days
SQL
SELECT ROUND(AVG(days_late),1) FROM invoices WHERE status='Paid late'File: invoices-1000