PaperlessNgx is an excellent software to archive and manage documents. This can be digital PDFs sent by mail or downloaded somewhere, or scanned mail received from a company or authority. It makes the managing of the masses of documents so much easier and enjoyable.
While many things are fairly intuitive, creating a multi-user setup can be a bit tricky. In my case I wanted a setup where both users have their own accounts and documents but are able to have shared documents with each other. Even online I did not find one simple guide, but I managed to figure it out with a bit of testing. This post describes how I achieved this.
Understanding document permissions
The basis for this is done via permissions. Every document has a permissions tab with an „owner“ field. There can only be one owner and this is a user account. Unfortunately this cannot be a user group, that would make things considerably easier. So shared documents. In the same tab, you can decide which other users or groups can view or edit the document.
This is the only way to make a document visible to other users. Without them inside the view or edit permissions, they can never see the document. It does not matter if the document is under a shared storage path or tagged with a shared tag, etc.
The simplest way
So a simple way to share documents would be to
- Select all documents to be shared
- Click on „permissions“
- Add view or edit permissions for the other user account or a shared group
This is not too bad and you can even filter for documents „shared by me“ or documents „shared with me“. However, I wanted to have it a bit more clean and organized.
Assign permission via storage path
I liked the idea of a shared storage path for shared documents. This way all the shared documents between my partner and me are in a seperate place, neatly sorted. This storage path can be used as a trigger for a workflow that sets the permissions to be shared. The same way, when removing this storage path, another workflow can „unshare“ the document. So basically setting the storage path to the shared one is like a switch, which will control the view and edit permissions of those documents.
Here is how to do it:
- Create a user group and add all users to it, that the documents should be shared with
- Create a new storage path and under „edit permissions“ give the newly created group view and edit rights
- Create a new workflow. Under Triggers, add a „Document Udpated“ trigger with an advanced filter „has storage path“ and select the shared storage path. This means that whenever a documents is being assigned this storage path, something will happen.
- As an action to this workflow, select „Assignment“ and leave everything empty, except the „assign view permissions“ and „assign edit permissions“ (if you want also edit rights). Here add your shared user group. This basically means, that when the trigger is triggered (a document is stored under the shared storage path) now it automatically also gets the right permissions.
- Create another workflow that does the opposite. Same trigger, but „Does not have storage path“ and the action is a „removal“ action where the user group is removed again.
And that’s it! The same thing could be achieved with another trigger, e.g. a shared tag assigned to the document. Maybe for some cases, this would be even better. But you might still have another question..
What about tags, correspondents and document types?
Like documents, they are also owned by a user account and cannot be owned by a group. If nothing is done, the other account will only see „private“ tags, correspondents and document types. And this might be a bit frustrating when the document is a rent contract that cannot be found using the landlord correspondent or the contract document type.
Therefore, the best solution I found is to bulk edit tags, correspondents and document types and add view permissions to the user group. I did not find a way to automate this, but this is not too bad.
An account cannot see the permissions tab
I had a problem, where a non-admin account was not able to see the „permissions“ tab of a document. Turns out, they need a specific account permission to seeing this: The view permission for user and group. More here.

Hope it helps someone!