With some exceptions, CData Arc is not intended for the processing of separate files and merging the contents (the BatchCreate and BatchMerge connectors allow you to take parallel XML files and merge them together, but not correlate values to one another like you are proposing), so the use case that you are proposing is not one that you would be able to achieve without applying some programming.
If the invoicers.csv that you are looking up from is a static file located in a single location, there is a csvListRecords operation in ArcScript that you can use to list the records in the file:
CData Arc - CSV Connector | Version 24.3.9133
<arc:call op="csvListRecords?file=/path/to/invoicers.csv">
<arc:if exp="xcsv(c1) | equals('somelookup')]">
<!-- this row matches your key, and acsv(columnname)] will evaluate other columns
in this row -->
</arc:if>
</arc:call>
But this method of lookup will always read the CSV line by line for every operation to lookup, which may not be very efficient. If you were to sync that CSV file with a database of some type, you would find that the Lookup action in the corresponding Database connector:
CData Arc - Database Lookup Configuration | Version 24.3.9133
Would be a more efficient mechanism for looking up this value. The Lookup action does enrich a data set with the values returned from the lookup, either as headers on the message or as additional XML elements, so a simple approach would be to use a Lookup to check for the columns that match your ID and use the CSV connector to convert your original CSV to XML and back.
Also, one of the fields in the invoice.csv is a html link to said invoice. How can I download this file with CData Arc?
The REST connector in CData Arc can be used for basic HTTP operations, and operates similarly to Postman:
CData Arc - REST Connector | Version 24.3.9133
I would recommend that if you want to continue processing with that invoice in a subsequent processing step in your flow, you promote the URL that you wish to use as a header on your message and use the REST connector to GET that URL based on that header:
CData Arc - REST Connector | Version 24.3.9133
If you simply want to use ArcScript to download those resources to a folder on disk, there is an httpGet operation in ArcScript that you can use to trigger downloads:
CData Arc - httpGet | Version 24.3.9133