Supergood | SAP Concur API

Supergood | SAP Concur API

Automate SAP Concur—the travel, expense, and invoice platform used by finance teams to manage T&E spend and AP—through a reliable, unofficial REST API from Supergood. With our adapter, you can sync expense reports, ingest corporate card transactions, upload receipts, push line items, and orchestrate approvals without building brittle screen-scrapers or paying for multiple vendor-specific connectors.

In plain English: SAP Concur keeps track of employee expenses, corporate travel bookings, and vendor invoices. An unofficial API lets you pull expense reports, card feeds, and trip data into your systems; push new expenses and receipts back to Concur; and automate submissions, approvals, and exports. The result is faster close cycles, better policy compliance, and fewer manual reconciliations.

If you’re a tech company integrating SAP Concur, you can ingest normalized expense reports and unassigned card transactions, create and enrich expense line items from receipts, sync trip itineraries into your product, and drive approvals from your own UI. You can also export reimbursable amounts to payroll or ERP, push AP invoices to accounting, and build VAT/GST reclaim workflows—without building and maintaining fragile, one-off integrations.

What is SAP Concur?

SAP Concur is an enterprise platform for travel and expense (T&E) management and AP automation. It centralizes expense capture, policy enforcement, travel booking, approvals, reimbursements, and invoice processing, with deep ERP connectivity.

Core product families include:

  • Concur Expense (expense capture, reports, approvals, reimbursements)
  • Concur Travel (online booking, trips, itineraries, supplier integrations)
  • Concur Invoice (AP intake, approvals, payments)
  • Intelligence/Reporting (analytics, audit, VAT/GST reclaim)

Common data entities:

  • Users and roles (employees, approvers, AP clerks)
  • Expense reports and expense entries (line items, allocations, attendees)
  • Corporate card transactions (feeds from Amex, Visa, Mastercard, bank issuers)
  • Receipts and attachments (images, PDFs, OCR metadata)
  • Trips and bookings (air, hotel, car, rail; PNRs and ticket numbers)
  • Invoices, vendors, purchase requests, and payments
  • Policies, expense types, tax codes (VAT/GST), accounting codes (GL, cost center, project)

The SAP Concur Integration Challenge

Teams depend on SAP Concur, but integrating it cleanly into automated finance stacks can be hard:

  • Product entitlements and licensing: API access often requires additional Web Services licensing; capabilities vary by module and tenant
  • Enterprise security controls: SSO/MFA, network restrictions, and region-specific tenants complicate headless automation
  • Portal-first workflows: Key actions (submissions, attachments, approvals) are optimized for the web app; public APIs may be limited or inconsistent
  • Data export friction: Many teams rely on scheduled reports or SFTP; real-time exports and webhooks are sparse or costly
  • Normalization needs: Multi-currency amounts, VAT/GST itemization, allocations, and card matching require consistent schemas
  • API costs and rate limits: Access, quotas, and uneven documentation can slow delivery and increase integration effort

How Supergood Creates SAP Concur APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a stable, production-grade API layer for your SAP Concur workflows.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes expenses, cards, receipts, trips, invoices, taxes, and allocations into consistent objects
  • Aligns with your tenant’s entitlements, regions, and policy constraints to ensure compliant access

Use Cases

Expense Report Automation and Close Acceleration

  • Pull draft/submitted/approved reports with normalized totals and currency
  • Push expense line items from receipts and corporate card transactions
  • Trigger submissions and route approvals from your own UI or workflow engine

Corporate Card Reconciliation

  • Ingest unassigned card transactions with MCC, merchant, and FX rates
  • Auto-create expenses, attach receipts, and map to expense types and accounting codes
  • Track matching status to reduce out-of-policy spend and month-end work

Travel Itinerary Sync

  • Sync trips and bookings (air, hotel, car) with PNRs, ticket numbers, and statuses
  • Enrich traveler profiles in your TMC, risk, or traveler assistance tools
  • Reconcile bookings with expense entries to catch missing receipts

AP and VAT/GST Workflows

  • Pull invoices and approvals, export to ERP or payments
  • Normalize VAT/GST itemization and tax codes for reclaim workflows
  • Generate audit-ready artifacts for finance and compliance

Available Endpoints

Authentication

POST /auth/sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/auth/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" },
    "ssoProvider": "azure_ad"
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_c2217a",
    "name": "AP Analyst",
    "entitlements": ["expense", "travel", "invoice"]
  }
}

POST /auth/sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Expense Reports

GET /expense-reports: List and filter expense reports by status, employee, cost center, and date ranges. Returns normalized totals and currency metadata.

curl --request GET \
  --url 'https://api.supergood.ai/integrations/<integration_id>/expense-reports?status=submitted&updatedSince=2026-01-01T00:00:00Z&page=1&pageSize=50' \
  --header 'Authorization: Bearer <authToken>'

Example response

{
  "page": 1,
  "pageSize": 50,
  "total": 2,
  "items": [
    {
      "reportId": "rpt_7b9e3a",
      "name": "January Sales Trip",
      "status": "submitted",
      "employee": {"id": "emp_1021", "name": "Jordan Liu", "email": "[email protected]"},
      "costCenter": "CC-NA-SALES",
      "currency": "USD",
      "totals": {
        "amount": 1284.62,
        "reimbursableAmount": 934.62,
        "companyPaidAmount": 350.00,
        "tax": {"vat": 42.18, "gst": 0.00}
      },
      "submittedAt": "2026-01-20T18:42:11Z",
      "approver": {"id": "emp_mgr_55", "name": "Dana Patel"},
      "paymentStatus": "pending"
    },
    {
      "reportId": "rpt_91f5c2",
      "name": "EMEA Client Visits",
      "status": "approved",
      "employee": {"id": "emp_2048", "name": "Marcel Dubois", "email": "[email protected]"},
      "costCenter": "CC-EMEA-CS",
      "currency": "EUR",
      "totals": {
        "amount": 867.90,
        "reimbursableAmount": 867.90,
        "companyPaidAmount": 0.00,
        "tax": {"vat": 145.00, "gst": 0.00}
      },
      "approvedAt": "2026-01-18T10:05:03Z",
      "paymentStatus": "queued"
    }
  ]
}

POST /expense-reports/{reportId}/expenses: Create or upsert an expense line item on a report. Supports mapping from corporate card transactions and attaching a receipt.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/expense-reports/rpt_7b9e3a/expenses \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "expenseTypeCode": "MEALS",
    "description": "Team dinner with client",
    "transactionDate": "2026-01-19",
    "amount": 142.50,
    "currency": "USD",
    "merchant": "Bistro Central",
    "mcc": "5812",
    "cardTransactionId": "card_tx_8831",
    "receiptId": "rcp_55ac",
    "tax": {"code": "VAT20", "rate": 0.2, "amount": 23.75},
    "allocation": {"costCenter": "CC-NA-SALES", "projectCode": "PRJ-204", "percent": 100},
    "attendees": [{"name": "Client A", "title": "VP Procurement", "external": true}],
    "billable": false
  }'

Example response

{
  "expenseId": "exp_3f2a9d",
  "reportId": "rpt_7b9e3a",
  "status": "created",
  "createdAt": "2026-01-21T09:12:44Z"
}

Corporate Card Transactions

GET /card-transactions: Retrieve corporate card transactions with filtering for status (unassigned, matched), employee, date range, and issuer. Useful for pre-populating expenses and reconciliation.

curl --request GET \
  --url 'https://api.supergood.ai/integrations/<integration_id>/card-transactions?status=unassigned&postedSince=2026-01-01&issuer=amex' \
  --header 'Authorization: Bearer <authToken>'

Example response

{
  "items": [
    {
      "transactionId": "card_tx_8831",
      "employeeId": "emp_1021",
      "postedAt": "2026-01-19T05:01:00Z",
      "amount": 142.50,
      "currency": "USD",
      "merchantName": "Bistro Central",
      "mcc": "5812",
      "issuer": "amex",
      "cardLast4": "3011",
      "foreignAmount": 142.50,
      "foreignCurrency": "USD",
      "exchangeRate": 1.0,
      "status": "unassigned"
    },
    {
      "transactionId": "card_tx_8832",
      "employeeId": "emp_1021",
      "postedAt": "2026-01-18T17:33:00Z",
      "amount": 350.00,
      "currency": "USD",
      "merchantName": "Hotel Union Square",
      "mcc": "7011",
      "issuer": "amex",
      "cardLast4": "3011",
      "foreignAmount": 350.00,
      "foreignCurrency": "USD",
      "exchangeRate": 1.0,
      "status": "unassigned"
    }
  ]
}

Receipts

POST /receipts: Upload a receipt image or provide an external URL. Optionally trigger OCR to pre-fill amount, date, and merchant for downstream expense creation.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/receipts \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "fileName": "dinner-2026-01-19.jpg",
    "contentType": "image/jpeg",
    "contentBase64": "<base64-bytes>",
    "capturedAt": "2026-01-19T22:10:03Z",
    "ocr": {"extract": true}
  }'

Example response

{
  "receiptId": "rcp_55ac",
  "status": "processed",
  "ocr": {
    "amount": 142.50,
    "currency": "USD",
    "transactionDate": "2026-01-19",
    "merchant": "Bistro Central",
    "confidence": 0.93
  }
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination; multi-currency fields include currency codes and exchange rates
  • Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of expense reports, card feeds, trips, and invoices
  • Security: Encrypted transport, scoped tokens, and audit logging; respects SAP Concur entitlements and policy constraints
  • Webhooks: Optional asynchronous delivery for report status changes, card feed arrivals, and OCR completion

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume ingestion of card feeds and batch expense creation
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions and ensure safe replays
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your product mix, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened SAP Concur adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as SAP Concur evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which SAP Concur products can this integration cover?

Supergood supports workflows across Concur Expense, Concur Travel, and Concur Invoice, subject to your licensing and entitlements. We confirm scope during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth where enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can you import corporate card transactions and auto-create expenses?

Yes. We ingest unassigned card transactions, normalize merchant/MCC/FX data, and can auto-create expenses, attach receipts, and map to expense types and accounting codes.

Q: Do you handle VAT/GST and multi-currency normalization?

Yes. Amounts include currency codes and exchange rates; VAT/GST fields are normalized into consistent tax objects for reclaim and reporting workflows.

Q: How do you export approved expenses or invoices to ERP/payroll?

We provide normalized exports and can push payloads to your ERP or payroll systems. Options include polling endpoints, webhooks, and file drops to align with your finance operations.


Dow Jones Risk & Compliance API - Programmatically access Dow Jones Risk & Compliance with Supergood


Ready to automate your SAP Concur workflows?

Supergood can have your SAP Concur integration live in days with no ongoing engineering maintenance.

Get Started →

Read more