When importing data into Acumatica using the Integration tools, I was under the impression you needed to have the key to a record in your data to update the existing record. Thankfully, I was wrong and Acumatica provides an easy way to do this, when you know the secret…
A good example of how to resolve this issue is the way the MaxQ Cannabis solution reconciles lab testing records. In MaxQ Cannabis, there is a form that allows a user to track the testing of different products by their lot number. As required by law, these lots need to be tested by a certified independent lab. The lab technician will go onsite and take a small sample of the lot to be tested, and in doing so creates a new lot number for the sample. The lab will test the sample and report the results by using its lot number, hence the issue. We need to use the lab’s lot number to find the correct lab results record to update the test results (see image below).
As you can see, we have the Lab Package Tag (Acumatica Lot Number) as a field on the lab report and need to update the Lab Result ID for record id 00000012.
The Lab Package Tag is part of the Lab Results Selector. We need to add some special lines to the import scenario to accomplish this. Notice the first three lines of the image below. We are telling the import scenario to use the Lab Package Tag to look up the Lab Results ID and update the data.
More information on this importing technique can be found in the Acumatica I100 Integration Training Guide section “Updating Auto-Numbered Records by a Selector Column (Customers).”
Note: To use fields that are not part of the id’s selector, you can use the special @@ method (shown below). This is documented in the Acumatica I100 Integration Training Guide section called “Updating Auto-Numbered Records by Custom Key (Customers).”