[GNC] Absolute and relative pointers to associated items
Jim DeLaHunt
list+gnucash at jdlh.com
Sat Jan 18 20:25:55 EST 2025
Håkon:
You ask a good question, and I fear the documentation does not describe
the present link path head behaviour of GnuCash well.
On 2025-01-18 11:50, hakon at finne.net wrote:
> Can someone please explain to me how to associate individual files (e.g. pdf copies of receipts) with their respective transactions. I wish to have receipts for transactions linked to each bank account and each credit card account in their corresponding individual folders. I managed to achieve this for several dozen transactions on account #1 by at first specifying the folder #1 in question as a base path (or head?) and then selecting the files one by one until completed. This resulted in relative addresses, and I have verified that the file names (but not their paths) are indeed stored in the .gnucash file. (I un-g-zipped the file and loaded it in an xml reader.) I then proceded to another account #2 and set the new appropriate base path to folder #2, expecting to see the first several dozen file paths change to absolute addresses. And they did - except not to folder #1 but erroneously to folder #2. And at the same time, they did not - at least the file names remain untouched in the .gnucash file, and neither folder #1 nor folder #2 is visible in that file.(Then where?) So in addition to getting the associations right (i.e., absolute rather than relative file paths) in the first place, it would also help to figure out how to change the few dozen first associations already registered, to their correct absolute path and remain mapped there. (I do indeed hope this is possible.)
I frequently associate individual files with their respective
transactions. Normally this is a PDF copy of an invoice or cheque. It
works well for me.
The "Path head for Linked Files Relative Paths" preference applies to
all accounts in a book file. I am not sure if it is stored in the book,
and can be different for different books, or if it is stored in the user
preferences, and will be the same for all books. But it certainly cannot
be different for account #1 than it is for account #2.
I have a folder tree for linked files, within the folder which contains
my book file. I have a hierarchy of subfolders. In my case, it is a
subfolder per year, but you could have subfolders "account #1/" and
"account #2/" if you want. I set my preference to have linked file paths
relative to the path head, for all transactions, and I set the path head
to that folder tree for linked files.
When you change the value of that "Path head for Linked Files Relative
Paths", a dialogue box appears. I can't find a screen shot of it in the
documentation, sorry. I remember that it has two checkboxes. Each
controls a correction which GnuCash could make or not make to existing
linked file paths. There is text in the dialogue box explaining what
each checkbox controls. I suggest you read that text very carefully.
If I recall correctly, one checkbox controls whether GnuCash should
change existing linked relative paths to be absolute. This might be
necessary because once you change the path head, the existing relative
paths will no longer take you to the files. The other check box, if I
recall correctly, controls whether GnuCash should change existing
absolute linked paths which travel via the new path head to become
relative.
In my workflow, I copy the book file along with the entire folder tree
of linked files along with it, to a new location. Then I change the
"Path head for Linked Files Relative Paths" to the new folder of linked
files location. I know that I am careful to keep both boxes unchecked.
That is because I want all my linked document file paths to be relative,
and because I copied all the linked files, the relative links will still
find the new linked files in the new location.
Does that make things clearer? Best regards,
—Jim DeLaHunt
More information about the gnucash-user
mailing list