Hi, I am coming back to the community as the last time, it was amazingly helpful, so thank you all. We have a flow that Exports Invoices from Concur using this API Name: Invoice : Retrieve Payment Requests Digest and this API endpoint: Retrieves all payment requests digests based on the search criteria. Which is then imported to NetSuite.
My question is, is there a way to bring the actual PDF from Concur and upload it to NetSuite’s Bill record? I see in the import step (on the NetSuite side) that there are Files: Attach File (Name) that can be mapped. BUT, where do I map it to in the Concur data?
thank you all,
Mauricio
1 Like
You would need to have a previous step to import the file to the NetSuite file cabinet (preferably into a dedicated folder), response map the file id, and use that id in the bill mapping.
Edit -- this assumes you already have the file from Concur in the flow; is that in fact the case?
1 Like
Hi Ezriah, thank you so much for responding. This gives me hopes. I don’t have the file in the flow yet. How can I pull it from Concur using Celigo?
Hi @Mauricio_Medina_Mora
Does the endpoint you're currently querying provide a url for the pdf file in its JSON export?
If so, you can simply use the "path to file download" field in Celigo to get the file into the flow.
If not, you would have to figure out which Concur endpoint allows you to retrieve the pdf file.
I'm not very familiar with the Concur APIs unfortunately so you would have to look at their API docs (unless someone who's more familiar can jump in here?).
I got the response below from AI and modified it a little to correct it. Since I don't have a Concur demo environment, I can't be 100% sure it works, but based on the docs, it seems right-ish.
1) Make sure you have the Payment Request ID
From Invoice: Retrieve Payment Requests Digest
(GET /api/v3.0/invoice/paymentrequestdigests), capture each record’s ID (Concur calls this the payment request ID).
You can also retrieve full details with:
GET /api/v3.0/invoice/paymentrequest/{id} if you need more fields later.
(SAP Concur Developer Center)
2) Add a lookup to get the signed image URL and image blob
Add a lookup step that runs per record with:
- Method:
GET
- URL:
/api/image/v1.0/invoice/{{record.paymentRequestId}}
- Override media type for success responses:
XML (per docs)
You’ll get back XML with an <Url> element containing a short-lived (15 min) URL to the file.
PDF is a supported format, with a maximum size of 10 MB.
Scope required: IMAGE.
(SAP Concur Developer Center)
- Path to file URLs in HTTP response body:
/Image/Url
(From “Non-standard API response patterns” in the docs)
3) Response-map the lookup results
Response-map the URL result from data.0 to image.
4) Upload the file to the NetSuite file cabinet
Use an import step to transfer files into NetSuite and set the blob key path under “Advanced” to image.blobKey
(Field name may vary — verify in your flow’s output.)
5) Response-map the NetSuite file ID
Map the file ID returned from the file cabinet import (e.g., id) to a new field, netsuiteFileId.
6) Map to NetSuite Bill import
Use an import step for the Bill and use the Attach option, mapping the netsuiteFileId from the previous step so the file is linked to the Bill record.