SAP Concur Expense · Capability

SAP Concur Expense Capture and Receipt Management

Workflow capability for mobile expense capture and receipt management in SAP Concur. Enables on-the-go expense logging via quick expenses and receipt image capture before formal report submission. Designed for field employees, mobile users, and receipt processing integrations that capture expenses at the point of transaction.

Run with Naftiko Expense CaptureMobileReceiptsSAP ConcurTravel

What You Can Do

GET
List quick expenses — List unassigned quick expenses
/v1/quick-expenses
POST
Create quick expense — Capture a new quick expense
/v1/quick-expenses
GET
Get quick expense — Get a quick expense by ID
/v1/quick-expenses/{id}
DELETE
Delete quick expense — Delete a quick expense
/v1/quick-expenses/{id}
GET
List receipts — List receipt images
/v1/receipts
GET
Get receipt — Get receipt image URL
/v1/receipts/{id}
DELETE
Delete receipt — Delete a receipt image
/v1/receipts/{id}

MCP Tools

list-quick-expenses

List all quick expenses the user has captured that have not yet been assigned to a formal expense report.

read-only
get-quick-expense

Get details of a specific quick expense by ID.

read-only
create-quick-expense

Capture a new quick expense on-the-go. Provide the expense type, date, amount, currency, and optional vendor and comment. The expense can later be promoted to a full expense report entry.

delete-quick-expense

Delete a quick expense that is no longer needed.

idempotent
list-receipt-images

List receipt images attached to expense entries. Optionally filter by entry ID to find receipts for a specific expense.

read-only
get-receipt-image

Retrieve the download URL for a specific receipt image. The URL is temporary and expires after a short period.

read-only
delete-receipt-image

Delete a receipt image that was uploaded in error.

idempotent

Capability Spec

expense-capture-and-receipts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: SAP Concur Expense Capture and Receipt Management
  description: Workflow capability for mobile expense capture and receipt management in SAP Concur. Enables on-the-go expense
    logging via quick expenses and receipt image capture before formal report submission. Designed for field employees, mobile
    users, and receipt processing integrations that capture expenses at the point of transaction.
  tags:
  - Expense Capture
  - Mobile
  - Receipts
  - SAP Concur
  - Travel
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    CONCUR_OAUTH_TOKEN: CONCUR_OAUTH_TOKEN
capability:
  consumes:
  - type: http
    namespace: concur-receipt-capture
    baseUri: https://us.api.concursolutions.com/api/v3.0
    description: SAP Concur Quick Expense and Receipt Image APIs
    authentication:
      type: bearer
      token: '{{CONCUR_OAUTH_TOKEN}}'
    resources:
    - name: quick-expenses
      path: /expense/quickexpenses
      description: Quick expense capture
      operations:
      - name: list-quick-expenses
        method: GET
        description: List quick expenses for the current user
        inputParameters:
        - name: limit
          in: query
          type: integer
          required: false
          description: Number of records to return
        - name: modifiedDateAfter
          in: query
          type: string
          required: false
          description: Filter by modification date
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-quick-expense
        method: POST
        description: Capture a quick expense
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        body:
          type: json
          data:
            ExpenseTypeCode: '{{tools.expenseTypeCode}}'
            TransactionDate: '{{tools.transactionDate}}'
            TransactionAmount: '{{tools.transactionAmount}}'
            CurrencyCode: '{{tools.currencyCode}}'
            VendorDescription: '{{tools.vendor}}'
            Comment: '{{tools.comment}}'
    - name: quick-expense-by-id
      path: /expense/quickexpenses/{id}
      description: Single quick expense operations
      operations:
      - name: get-quick-expense
        method: GET
        description: Get a quick expense by ID
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: The quick expense ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-quick-expense
        method: DELETE
        description: Delete a quick expense
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: The quick expense ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: receipt-images
      path: /expense/receiptimages
      description: Receipt image management
      operations:
      - name: list-receipt-images
        method: GET
        description: List receipt images
        inputParameters:
        - name: entryID
          in: query
          type: string
          required: false
          description: Filter by expense entry ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: receipt-image-by-id
      path: /expense/receiptimages/{id}
      description: Single receipt image operations
      operations:
      - name: get-receipt-image
        method: GET
        description: Retrieve a receipt image URL
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: The receipt image ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-receipt-image
        method: DELETE
        description: Delete a receipt image
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
          description: The receipt image ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8081
    namespace: expense-capture-api
    description: Unified REST API for on-the-go expense capture and receipt image management.
    resources:
    - path: /v1/quick-expenses
      name: quick-expenses
      description: Quick expense capture without a formal report
      operations:
      - method: GET
        name: list-quick-expenses
        description: List unassigned quick expenses
        call: concur-receipt-capture.list-quick-expenses
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: create-quick-expense
        description: Capture a new quick expense
        call: concur-receipt-capture.create-quick-expense
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/quick-expenses/{id}
      name: quick-expense-detail
      description: Single quick expense
      operations:
      - method: GET
        name: get-quick-expense
        description: Get a quick expense by ID
        call: concur-receipt-capture.get-quick-expense
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-quick-expense
        description: Delete a quick expense
        call: concur-receipt-capture.delete-quick-expense
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/receipts
      name: receipts
      description: Receipt image management
      operations:
      - method: GET
        name: list-receipts
        description: List receipt images
        call: concur-receipt-capture.list-receipt-images
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/receipts/{id}
      name: receipt-detail
      description: Single receipt image
      operations:
      - method: GET
        name: get-receipt
        description: Get receipt image URL
        call: concur-receipt-capture.get-receipt-image
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-receipt
        description: Delete a receipt image
        call: concur-receipt-capture.delete-receipt-image
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9091
    namespace: expense-capture-mcp
    transport: http
    description: MCP server for AI-assisted expense capture and receipt management.
    tools:
    - name: list-quick-expenses
      description: List all quick expenses the user has captured that have not yet been assigned to a formal expense report.
      hints:
        readOnly: true
        openWorld: true
      call: concur-receipt-capture.list-quick-expenses
      outputParameters:
      - type: object
        mapping: $.
    - name: get-quick-expense
      description: Get details of a specific quick expense by ID.
      hints:
        readOnly: true
        openWorld: false
      call: concur-receipt-capture.get-quick-expense
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-quick-expense
      description: Capture a new quick expense on-the-go. Provide the expense type, date, amount, currency, and optional vendor
        and comment. The expense can later be promoted to a full expense report entry.
      hints:
        readOnly: false
        destructive: false
      call: concur-receipt-capture.create-quick-expense
      with:
        expenseTypeCode: tools.expenseTypeCode
        transactionDate: tools.transactionDate
        transactionAmount: tools.transactionAmount
        currencyCode: tools.currencyCode
        vendor: tools.vendor
        comment: tools.comment
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-quick-expense
      description: Delete a quick expense that is no longer needed.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: concur-receipt-capture.delete-quick-expense
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-receipt-images
      description: List receipt images attached to expense entries. Optionally filter by entry ID to find receipts for a specific
        expense.
      hints:
        readOnly: true
        openWorld: true
      call: concur-receipt-capture.list-receipt-images
      outputParameters:
      - type: object
        mapping: $.
    - name: get-receipt-image
      description: Retrieve the download URL for a specific receipt image. The URL is temporary and expires after a short
        period.
      hints:
        readOnly: true
        openWorld: false
      call: concur-receipt-capture.get-receipt-image
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-receipt-image
      description: Delete a receipt image that was uploaded in error.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: concur-receipt-capture.delete-receipt-image
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.