Documents in InvoiceNinja

Hi All,

I’m here again with more questions about the concepts of “documents” in InvoiceNinja v5. Currently, I run v5.0.45-C37 on docker.

There are several places they can be attached (to specific invoices), to clients, to expenses. All of these make some sense, but it never clear what a document is. What type of file does InvoiceNinja work with and consider a document? What’s the design thinking behind this feature? My guess was PDF, so the following examples use that format.

From here I’m going to take a couple of examples. I go to a specific invoice that has been sent out and upload a document. This example is simply a PDF. From here, what use is this? There is no indication that this space is internal to me or visible to the customer. I go to the customer portal and view the invoice and there is no reference to a document or anywhere it can be downloaded:

I go to Documents in the Client’s Portal and, also no documents:

So, I want to be a little more direct - like getting a document somewhere so that a client can see it.

There is a “Documents” section in the client portal, maybe I try to get something there? Make sense it would happen in the client profile, so I go there and add the same PDF file. Then I go back to the client portal and see nothing under “Documents”.

I’m left with more questions than answers. It is not clear how these features work. How to actually get a document into the client portal? What are the various document areas used for? How is any of this intended to work?

Hey there,

As you can see there are two types of documents there. Resources & Client.

Resources - are documents client has uploaded. There’s settings on company level “client_portal_enable_uploads” that can be enabled which will let client upload documents. They should appear if “Resources” is ticked.

Client - are documents uploaded from the admin panel to the client itself. You can go to Clients > Client > Documents and upload document & if Client checkbox is ticked, they’ll show.

At the moment, document uploaded to the entities themselves (invoices, quotes, tasks) will not appear in the client portal but will be sent as an attachment in e-mail.

Hope that clarifies a thing for you.



Hi @ben - thanks for the response, I appreciate it. I want to clarify this is version 5 - hopefully, we’re talking about the same thing.

It’s more clear - it u helps to understand you’ve categorized into resources and clients.

The first - “There’s settings on company level “client_portal_enable_uploads” that can be enabled which will let client upload documents. They should appear if “Resources” is ticked.” - where is this “Resources” setting exactly? I’ve looked through the interface into every settings screen I can find no checkbox titled “Resources” or similar. Can you maybe give me a screenshot or some specific path to find this setting?

The second - Client, I’ve gone to the Clients > ClientName > Documents and uploaded a document:

There is no “Client checkbox” to tick? Can you expand on where I’d find that “Client” checkbox? As it is now, “download.pdf” is not visible in the portal until the “Client” checkbox is enabled.


Make sure you’re on the latest version. If using Git, make sure you do pull.

To enable a setting: Settings > Client portal > Documents Upload

This is what I refer to when I say “Client checkbox”:



Huh… I’m on v5.0.46-C37 - Docker

Presumably thought this was the newest… unless it’s some super new feature. Going into Settings > Client portal I see this (missing that setting):

Hey there, I think this feature in AP just handled recently. The update should arrive soon :+1:

Yep, I see the setting in v5.0.47-C38 - turned it on. I don’t think this works quite the way you guys hope it works… Everything ends up in “Client”, “Resources” is always checked off by default, nothing even gets to resources, nor is there any clear differentiation. Really is messy right now. Hopefully one day that feature gets there because - in theory - it seems useful.

Thank you for the feedback, we’re still actively working on it :+1: