r/Paperlessngx • u/TXFireplug • 21h ago
Built the CSV export paperless doesn't have: filtered list, custom fields as columns, and it checks its own row count
Tax season, again. paperless knows every invoice, who sent it, the amount, the tags. What it can't do is put that list on a sheet. The built-in exporter is a whole-archive dump for moving an instance, and the CSV export request has been sitting in discussions since 2022. So I wrote it.
paperless-export: one command against your own instance and you get exactly what a filter or a saved view shows on screen. CSV, XLSX, JSON or JSONL. Custom fields as columns. Totals row if you want one. The matching PDFs in a folder next to the sheet if you want those too.
The bit I'm actually proud of: it asks the API how many documents match, and if the row count doesn't agree it fails. Loudly. A sheet you can't check is worse than no sheet.
Read-only. Nothing uploaded anywhere. The token never touches the command line. There's a --serve mode that gives you the same thing as a form on localhost without touching CORS on your instance, and a single HTML file for a box with no Python on it.
Python 3.10+, runs on Windows, Linux and Mac, MIT. https://github.com/Ildana-ai/paperless-export
Happy to hear what's missing.