If there is any good workflow for migrating out of Paperless, aside from manual labour, I would love to know too.
I'm going to give Alinof Archives a try. Does anyone have a good workflow to migrate data from Paperless over - I have about 10 yrs worth of stuffs and the thought of doing manually just kill me.
Thanks to the post by JustARumor, I investigated the SQLite database, and thought I'd post my solution if anyone is in need of it, or can build on it.
This is just to export the files into a meaningful file and folder structure. It's a start for importing to somewhere else.
I wrote it in NodeJS (TypeScript, actually). I suspect you could do this in a self-contained Ruby or Python script but I'm just more fluent in JS. I used Paperless basically as a digital filing cabinet, not caring as much about tracking receipts and more about scanning/saving documents that I would have, 20 years ago, kept in a filing cabinet. Financial statements, tax documents, automotive records, etc. So I did not focus on the aspect of capturing the "amount paid" data or anything like that. I simply wanted to extract my PDFs from the
.paperless library and get them into my file system, ideally with some form of organization that resembles the categories I used in Paperless.
So my script opens the SQLite database, gets all of the documents and the metadata I was interested in (date, categories, tags), and copies the files into a folder with a path like
/category/subcategory/yyyy-mm-dd_NameOfDoc__tag1_tag2.pdf. I did not utilize tags in a terribly meaningful way so this system worked for me. More details are available at the project's repo:
Node script to copy documents from a Mariner Software Paperless library to the filesystem. - drukepple/paperless-export
github.com
I'm sure my export is not up to everyone's needs but it got all files out of the Paperless library and onto my filesystem where I can browse folders and files and have a pretty good idea what's where.
I did not build this to run everywhere. It's a node script, with hard-coded paths and things. Download it, set it up, and read the Quickstart in the README. There is not a bunch of bulletproof error checking. My philosophy was: get this to work once, and then back to fun things.
If you're not technically minded this might be somewhat difficult to run, but I tired to write a section in the README that was beginner-friendly. It's nothing outrageously deep, if you have a software engineer buddy, they can probably help you out.