Disclaimer: My experience with SharePoint does not extend much beyond having spelled it correctly a few times.
I've inherited a SharePoint 2010 library that tracks expense reporting by running an InfoPath 2010 form through a series of workflows. Mileage reimbursement is calculated based on rates stored in a SharePoint list.
Problem: If the rate in the list changes, the change causes any existing documents to recalculate their totals the next time they are opened.
What I know: I've been able to do some spelunking in the InfoPath form designer and found that the rate is populated from a SharePoint list. Looking at that field's properties, it says that it is updated from the data source every time the form is opened.
The data connection manager wizard had an option to "Store a copy of the data in the form template", which googling suggested would cache the current values in the template for offline use. This is unchecked. The final page of the wizard had an "Automatically retrieve data when form is opened" option, which is checked.
Ideally, the rate would be flexible until handled by a specific workflow, then set in stone for that item for all eternity. However, getting the rate to populate when a new document is created and having it remain static thereafter would probably be acceptable.
Question: Is there a setting somewhere that I can use to make the look-up only perform the look-up once, so that the value for that particular document is static? Further, is it possible to make it static as a result of a workflow?
If the former isn't possible, is there something besides looking-up the value from a list that might be easier? Rate changes are very infrequent, though the user prefers that the rate be editable via SharePoint list.
Any suggestions would be greatly appreciated, since my next step would be to call in an expensive SharePoint expert.