Attachments - Sharepoint vs Filesystem

Which one do you prefer and why? Got any Pros/Cons.

Do you know what Sharepoint Version is needed for E10.1?

Not sure the version off the top of my head but we just did an update against new APIs so check the help…

As to the real question - what are you going to do with the files? Are you routinely doing collaboration outside of Epicor? Do you want some form of audit trail or workflow based on a SharePoint list?

I’d answer what you would want to use in SP and go from there.

We use attachments liberally in E9 - Quotes, Orders and Cases - as part of our sales cycle. We do custom work, so there’s a lot of ‘backup’ to go with the order. We’re moving to E10 but haven’t gotten to testing attachments yet.

As for pro/cons, in my opinion:
SharePoint is an IT burden. If you’re just using it for attachments, I think it’s overkill. We have a SP Services host holding a small percentage of our attachments and it offer no additional benefit in itself, for us.

File system attachments are a different kind of burden. Creating the file (PDF or otherwise), filing the file in the appropriate network share, attaching the file in Epicor (using a File->Open style dialog box) is a procedure for the users, BUT Epicor stores the file using a finite path, NOT a UNC path. So if one user maps the network share as the Q:\ drive and another maps the share as the T:\ drive, the latter cannot open a file attached by the former. While E10 has a File Attachment Path maintenance utility, we have yet to explore any changes in the whole process. I’m hoping that E10 stores UNC paths and we can convert the finite path to UNC paths during our conversion.Otherwise we’re happy with the File System attachments.

We also have DocLink (as part of APM) and licensed the additional features. I’m pretty sure I can scrape the code off a few of the DocLink modified forms and add a few buttons to the other relevant forms so we can use Doclink to store attachments for us. That’s one of our customization to-do items and I haven’t gotten that far either.


Hello Haso,

In E10, there are two types of File System types, File System Document and Attachment Link. The Attachment Link is what Mike described but the File System Document is a little bit different.


Instead of storing a link to the given location, Epicor copies the file to the folder specified in your Company Maintenance | Attachments location. The structure is a folder for each company and then another folder for each attachment context.


If memory serves, this is the same structure that Epicor uses to store documents in SharePoint. You cannot build your SharePoint Library and Link to an existing document. Epicor prompts for a base Library and then builds it in the same structure as above. Unlike File System Documents, Epicor allows you to maintain some metadata in SharePoint, which is kind of cool. Of course, SP also gives you an extra layer of security that you won’t have with File System Documents or Attachment Links.

I suppose that for any Document Repository that has a URL retrieval syntax could also work with the File Attachment Link as well, although I’ve never tried it. So it might be possible to use Google Drive, DropBox, OneDrive (or even SharePoint in a more limited fashion)…

And then there’s APM (which we don’t currently use) and the new Docstar feature that will be discussed at Insights this year.

Mark W.

I understand now the full need of Sharepoint when its applicable.

I have another question - lets assume I chose File System:

How can you control what individuals can attach? For example… No one is stopping me from attaching a 2GB .iso image file… now if i was a bad employee I could create a 180GB .iso file and have some fun with Infrastructure, using up all their disk-space and simply saying “oops”.

On the filesystem you can use Windows OS quotas on disk management. That has draw backs in picking the correct level. That is no different than struggles to figure out how much space to allow for a users email box though.


You could create an in-transaction data directive BPM on ice.xfileref where you log the user id of the user that uploaded the file. We don’t have any unused columns on this table, so you might want to extend this table using extended ud table maintenance first so you have a field to write that user name to. This record includes the file name (basefilename) and full path (xfilename) of the attachment that was uploaded so it would be straightforward to figure out who did what when at that point by searching this table (select * from xfileref where basefilename='crazy_large_file_muhahahaha.png' ) - even if you can’t stop a user from uploading it.

Regarding disk quotas: be aware that per user quotas won’t really work well with the default file transfer method that we use unless you really only care about the total size of all attachments not exceeding some size on a shared volume.

There are two ways in which file attachments can be copied to the file server from the Epicor client: through our business object (default - only the application pool identity user needs read/write to the file store location) or what we call “direct” which is the same as if the user opened Windows Explorer and pasted the file in the location (each user that adds/accesses attachments needs read/write to the share location where the attachments are located). If you use the business object approach (and all E10 customers do; and we removed the tag in the client .sysconfig files so it isn’t easy to change from the default) all files are created with the user identity on the application pool. Just an FYI.