SAP Concur Expense · Arazzo Workflow

SAP Concur Attach Receipt to Entry

Version 1.0.0

Create an expense entry, upload a receipt image, and confirm the stored image.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Expense ManagementFinancial ManagementReceiptsReimbursementReportingSAPTravelArazzoWorkflows

Provider

sap-concur-expense

Workflows

attach-receipt-to-entry
Create an expense entry and upload a receipt image for it.
Creates an expense entry on a report, uploads a receipt image, and reads the stored receipt image back to confirm its URL.
3 steps inputs: expenseTypeCode, receiptImage, reportID, transactionAmount, transactionCurrencyCode, transactionDate outputs: entryID, receiptImageID, receiptImageURL
1
createEntry
Create the expense entry on the report.
2
uploadReceipt
Upload the receipt image as a PNG binary body.
3
getReceipt
Read the uploaded receipt image back to confirm its accessible URL.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: SAP Concur Attach Receipt to Entry
  summary: Create an expense entry, upload a receipt image, and confirm the stored image.
  description: >-
    Documents the receipt-capture path for an expense line item. The workflow
    creates an expense entry on an existing report, uploads a receipt image as
    binary content, and then retrieves the stored receipt by its returned ID to
    confirm the accessible image URL. Because the upload operation accepts the
    image as a raw binary body rather than an entry reference, the association is
    verified by reading the uploaded image back. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: expenseEntriesApi
  url: ../openapi/sap-concur-expense-expense-entries-api-openapi.yml
  type: openapi
- name: receiptImagesApi
  url: ../openapi/sap-concur-expense-receipt-images-api-openapi.yml
  type: openapi
workflows:
- workflowId: attach-receipt-to-entry
  summary: Create an expense entry and upload a receipt image for it.
  description: >-
    Creates an expense entry on a report, uploads a receipt image, and reads the
    stored receipt image back to confirm its URL.
  inputs:
    type: object
    required:
    - reportID
    - expenseTypeCode
    - transactionDate
    - transactionAmount
    - transactionCurrencyCode
    - receiptImage
    properties:
      reportID:
        type: string
        description: The existing draft report ID to add the entry to.
      expenseTypeCode:
        type: string
        description: Expense type code for the entry.
      transactionDate:
        type: string
        description: Date of the expense transaction (YYYY-MM-DD).
      transactionAmount:
        type: number
        description: Amount of the transaction.
      transactionCurrencyCode:
        type: string
        description: ISO 4217 currency code of the transaction.
      receiptImage:
        type: string
        description: Base64 or binary content of the receipt image to upload.
  steps:
  - stepId: createEntry
    description: Create the expense entry on the report.
    operationId: createExpenseEntry
    requestBody:
      contentType: application/json
      payload:
        ReportID: $inputs.reportID
        ExpenseTypeCode: $inputs.expenseTypeCode
        TransactionDate: $inputs.transactionDate
        TransactionAmount: $inputs.transactionAmount
        TransactionCurrencyCode: $inputs.transactionCurrencyCode
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      entryID: $response.body#/ID
  - stepId: uploadReceipt
    description: Upload the receipt image as a PNG binary body.
    operationId: createReceiptImage
    requestBody:
      contentType: image/png
      payload: $inputs.receiptImage
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      receiptImageID: $response.body#/ID
  - stepId: getReceipt
    description: Read the uploaded receipt image back to confirm its accessible URL.
    operationId: getReceiptImage
    parameters:
    - name: id
      in: path
      value: $steps.uploadReceipt.outputs.receiptImageID
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      receiptImageURL: $response.body#/ReceiptImageURL
  outputs:
    entryID: $steps.createEntry.outputs.entryID
    receiptImageID: $steps.uploadReceipt.outputs.receiptImageID
    receiptImageURL: $steps.getReceipt.outputs.receiptImageURL

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/sap-concur-expense-attach-receipt-to-entry-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.