Is there any way to upload attachments to a variable directory?


So, I discovered that I can create in Document Type Maintenance a type of document that I can use the type ‘File System Storage’ to copy the file directly to any folder (configured in the Base URL). However, if for example, I add a file to an AP Invoice.

It gets uploads in the (folder)/(company)APInvHed folder. However, everything gets dump there. I would like to be able to decide the folder.

I tried:

  • Method Directive on System Attachment on the ‘UploadFiles’ Method. However, there’s no parameter to decide the folder, only the name of the file that will be uploaded.

Any way to do that?


I don’t think so, pretty sure it’s all handled in Server Side code.
The idea is that no one has to worry about where to find the file and the file is accessed through Epicor when that record is viewed.
I have had cases where a client needed to see the list of attachments and I did that with a BAQ where I displayed the path. You can also create a URL pane subscribed to the path and if there is a browser plugin available to read the file it will display the document.
The idea is that file system structures are a type of friction to the user experience, so removing the need for users to keep track of file structures and just putting the document in context would simplify things.

What would be the decision logic you would use for where to place the file?
Just trying to understand your business case.


What Rick said. There was a similar discussion related to SharePoint but the answer is basically the same. If you do want to manage the folder structure completely, there is a way - although is works much better with URLs - is the Link Document type. You have to manage this completely and not use a Base URL.


Can’t you just create an Alternate Doc Type in Document Type Maintenance?

Say you have one customer that you need to keep all their docs separate from everybody else’s. Make a folder specific to for these.

Then maybe a BPM could enforce that Doc Type based on the customer.

The thing is that the folder is variable, it’s not only for one customer but for all suppliers. So, I want one document type for AP Invoices for examples.

The reason was because I wanted to see if we could upload documents directly in our folder on the networks that could regroup everything. That way, we would make sure that every invoice file would be on the network instead of hoping that the person will go copy it there. So, we would be able to find easily a document by searching in our network folder since it would regroup every invoice uploaded in Epicor AP Invoice Entry.

I’ll see what I can do with a BAQ, seems like a good idea to show more information and download the file from there.

Thanks for the proposed solution!

Hi Steven,

This is what a SharePoint and DocStar does really well. Upload all the files and use metadata to regroup by invoice, supplier, whatever tags you have on the file. In addition, these systems have the concept of packages. For example, a package is not complete until one has each time of document. Usually these systems use on boarding as a case. A package is not complete until there is an application, a citizenship document, benefits election, etc. The same can be done for AP. The package is not complete until you have a PO, a receiver, and an invoice.

Epicor provides a way to put metadata into SharePoint and DocStar. Unfortunately all document types share all metadata in the repository. But if you’re a M365 user then you already have SharePoint and you can do all you want with the Link document type and get the groupings you’re looking for. PLUS the search capability of a DocStar or SharePoint is far superior to what you can do with the filesystem.

Anyway, just a thought.


Hi Mark, thanks a lot for your detailed answer. I’ll look with our company if we have any of these tools but in the end, I can only suggest what you just told me.

The other solution that I was thinking was:

  1. In a customization, open a small window with a file input
  2. Upload a file. By doing this, it copy the file to the network directory if it doesn’t exist with the correct hierarchy (for now it’s only for AP so it wouldn’t be hard to manage I guess). Just /supplier/invoices/(file here
  3. Call the Attachment BO to create an attachment link (linked with the current invoice) with the file that was just created

But I understand that it’s not ideal. In theory it should work but we never know :slight_smile: