Attachment storage structure idea

Hi there,

I’ve been experimenting with attachments ahead of deciding if I want to use Manager to manage invoice files (pdfs, scans, etc) internally. What I wanted to avoid was ending up with a singular massive file (the business data file) containing all these invoice files as it would result in slow local backups (which many others across the forum, including lubos, seem to agree with), as well as making network backups and cloud backups take increasingly longer with time as the business progresses and the file becomes increasingly huge. I can see down the track this would lead to a situation such as: making a change to one transaction record resulting in a few B or KB change in the data file but then having to sync an entire 100MB+ file as a result.

For me, storing invoices separately is a better solution, so at the moment I’ll be keeping a separate folder/s storing the invoice files, but naming them such that I can find one quickly using info I’ve entered into Manager (e.g. invoice date and/or number). My ideal would be something along the lines of Manager using location links to refer to these outboard files, so connections to the files can still be formed (easier paper trails, searching, etc), but it doesn’t have to store them internally and other programs can access them without requiring 2 copies stored on disk (i.e. one original, one contained in the business file).

The question following this then is how to ensure Manager always has the files, as linking to a file which might be nowhere near a Manager folder, maybe even on another drive, is a recipe for disaster. What I’d propose to address this is a minor adjustment to Manager’s file storage approach. Rather than each business being simply a file amongst all the other business files stored in the main Application Data folder, a business could become a Folder (of the same name) within the Application Data directory, and within this would be the “business.manager” file, along with a sub-directory called “Attachments” (for simplicity’s sake, but could be more specific e.g. “Purchase Invoices”). This would retain similar portability to having everything in a single file (which I understand is an important consideration you’re trying to maintain) as entire Business folders could be moved between devices. For situations where single-file transport is required (e.g. email) users could package (e.g. zip) the folder for transport and un-package (un-zip) at the destination. Even better, this packaging and importing process could be integrated within Manager itself. Further, this would allow for some more advanced features, which I’ve seen others discussing, such as removing excess old attachments before sending to an accountant in order to minimise file size for transport.

Is this something which has been considered already? There’s quite a number of attachment discussions here, so I may not have found an existing discussion/s about ideas like these.

Backups are typically incremental. Even Dropbox, Google Drive or iCloud are incremental. They only sync the portion of the file that has changed so this is not an issue.

Yeah, and then you need each folder for each transaction because one transaction can have multiple attachments and then one attachment could be attached to more documents and now you are duplicating files across multiple folders. Sooner or later you will hate this. It will be a mess.

Honestly, I’m not sure what problem you are trying to solve. The current approach: “one business = one file” is elegant and simple.

Sorry, I wasn’t describing something that would inevitably result in a massive folder tree, rather the complete opposite. The proposed attachments folder could be as simple as a single folder containing all attachments. What you mentioned about duplicating files across multiple folders wouldn’t occur as the approach would be very similar to what you’re implying is current i.e. that each transaction contains merely a reference to the attachment (not all the data it contains), such that an identical attachment referenced by multiple transactions/records is only stored once.

I appreciate you informing me that most cloud sync products use incremental sync to avoid the issue I described.
In this sense, the “issue I’m trying to solve” comes down to the other things I mentioned:

  • environments where incremental-sync backups aren’t possible
  • situations where one might want to access the attachment outside manager without requiring a second copy
  • situations others have mentioned about sending to other parties, such as accountants, only the data which is required to save transfer space + time.

I do agree the single file method is elegant. This was just an idea; like I said, I’m experimenting and determining the best approach possible in the environment I have, so I don’t have to rework something in 6 months. Proposing this idea has helped in figuring this out.

My only question was if this kind of structure had been considered. If it had, a simple explanation of why it was decided against was all I was looking for as it would help for understanding how to best plan for and use Manager, and integrate it into my business. As a new user I of course trust the decisions you’ve made, and absolutely appreciate your work.

I think this addresses the other requirements

1 Like

Hadn’t seen that topic, thanks for sharing.