Hi, I've done extensive Excel and VBA development for the investment banking industry, and having looked at your spreadsheet already, I can tell you that it's very straightforward to amend your code to include the submission ID. The submission ID is actually already being downloaded - to illustrate: Function "GetEstimateFields" includes the statement "Call GetAllMatches(all_res, "<Submission Id", "</Submission>", Estimates(), NumEstimates)" - the purpose of which is to split the downloaded xml formatted text into individual estimates for further processing - all the data fields (Name, Phone, Address etc...) are between the "<Submission Id" and "</Submission>" tags used in the above statement - the actual Submission Id is just after the "<Submission Id" text. The point is that the actual Submission Id is definitely being downloaded - it's just not being allocated first to a variable and then to a cell. So the good news is that no Canvas Web Service API calls need to be amended - it's quite literally a case of manipulating a text string.