- Is my data private? Does it get uploaded anywhere?
- Your data never leaves your device. All processing — CSV parsing, Excel parsing, PDF generation, ZIP creation — runs entirely in your browser using client-side JavaScript. There is no server involved, no account required, and no data is stored or transmitted. The libraries (PapaParse, SheetJS, pdf-lib, JSZip) are loaded from a CDN once, and everything else happens locally.
- What columns does my spreadsheet need?
- The only required column is the recipient / client name — that is used to name each PDF file and address the invoice. If you also map an amount column, the invoice will display a total. All other columns (email, address, item description, quantity, unit price, invoice number, notes) are optional. Extra unmapped columns are ignored. The first row should be a header row with column names.
- Can I handle multiple line items per invoice?
- Yes. If multiple rows share the same recipient name (and you have mapped the "Group by" field to recipient), they will be merged into a single invoice with multiple line items. Alternatively, if each row is a separate invoice (one client per row), leave grouping off and each row becomes its own PDF. The tool auto-detects which mode fits your data based on how you map columns.
- What file formats are supported?
- CSV (.csv) and Excel (.xlsx and .xls) files are fully supported. ODS files from LibreOffice are also accepted by SheetJS. The first row must be a header row. Make sure amounts are stored as numbers (not formatted currency text like "$1,200.00" — strip symbols and commas first, or map to the amount column and the tool will strip common formatting for you).
- How many invoices can I generate at once?
- There is no hard limit enforced by this tool. In practice, generating a few hundred PDFs takes a few seconds; a few thousand may take a minute or more depending on your device. All processing happens on your CPU — a faster machine will finish more quickly. If your browser tab runs out of memory on extremely large files, try splitting the spreadsheet into smaller batches.
- Can I customise the PDF template or add a logo?
- This tool uses a clean, professional built-in template that includes your company name, invoice number, date, recipient, line items, subtotal, and notes. Logo and advanced branding customisation are beyond the scope of this free in-browser tool — for those needs, consider a dedicated invoicing app. The PDF output is suitable for most freelance and small-business invoicing needs.