that's actually what suiteanswers recommended as well, although unfortunately it doesn't seem to be working so well for my use case - in order for the formula field to populate it has to have store value = false; but in my particular scenario (sorting time entry lines on the invoice) when the custom field on time entry is set to store value = false, it doesn't get carried over to the invoice record (which is where the sorting/printing takes place). Your solution is probably the cleanest one though, my situation is just overly complicated haha. I'm now thinking I can either have a script/workflow set the formula on the stored value field, or within my PDF, loop through once and set the concatenated value as a custom variable in a new hash, and then sort that new hash and loop through when actually printing.