Ramp API Integration Research

Date: 2026-05-13 Product: Ramp (ramp.com) -- Spend Management Platform, New York City (US) Purpose: Evaluate Ramp's API capabilities for Orcha integration -- specifically for a German customer evaluating Ramp as a Pleo alternative for employee credit cards while continuing to use Orcha for AP invoices and DATEV for accounting.


Important Context: What Ramp Actually Is

Ramp is NOT an ERP or accounting system. Like Pleo, Payhawk, and Moss, it is a spend management platform that handles:

Ramp sits upstream of the ERP -- it captures, codes, and approves expenses, then exports pre-accounted data to the customer's actual accounting/ERP system (NetSuite, Sage Intacct, QuickBooks, Xero, Workday, Business Central, etc.).

Ramp is the highest-profile US fintech in this category (USD ~32B valuation as of 2026), known for API maturity, AI tooling, and aggressive "free tier funded by interchange" pricing.

Implication for Orcha: Ramp is a peer (spend management) layer, not a target system to push invoices into. For the customer scenario in scope (German company, Orcha = AP, DATEV = accounting, Ramp considered for cards), the integration question is narrower:

  1. Can Orcha read card transaction data from Ramp to provide unified spend analytics alongside its invoice corpus?
  2. Can Orcha write reference data (chart of accounts, cost centers, tax codes, vendors) into Ramp so the customer's card-coding stays consistent with the AP coding Orcha already drives?

However, the gating question is whether Ramp can service the customer at all. See section 1.


1. Summary -- Germany Availability First, Then Capability Matrix

Germany / EU Availability -- HEADLINE FINDING

Ramp is in the middle of an EU market entry that begins summer 2026 (i.e. right now / imminent). German-headquartered companies CANNOT directly sign up as Ramp customers today; the company is operating a waitlist with onboarding "beginning this summer". (prnewswire.com, ramp.com/blog/ramp-is-launching-in-europe)

The relevant facts:

Question Answer Source
Can a German-HQ company sign up for Ramp today? NO -- waitlist only. Direct EU onboarding starts "this summer" (summer 2026). ramp.com/europe
Can Ramp issue EUR cards to a German entity? YES, but only as a subsidiary of an existing US customer today. Stripe powers Ramp's card issuing for EUR in Ireland, the Netherlands, Spain, Germany, France, and Italy. (stripe.com) stripe.com/customers/ramp
Which European countries are confirmed for direct onboarding once launched? UK + EU (EEA) -- specifically named: UK, Ireland, Netherlands, Spain, Germany, France, Italy. Sweden + Poland on the non-EUR roadmap. ramp.com/blog/ramp-is-launching-in-europe
Multi-currency? YES. USD, EUR, GBP, CAD, JPY, plus more. ISO 4217 currency codes throughout API. (docs.ramp.com) ramp.com/global
EUR billing for German customer? TBD post-launch. EUR card statements + settlement in EUR for EUR-issuing entities exists today via Stripe. stripe.com/customers/ramp
PSD2 / SCA compliance? Inherited from Stripe today (Stripe Payments UK Limited / Stripe Technology Europe Limited issue the cards under FCA / Central Bank of Ireland authorization). Ramp itself acquired Billhop (March 2026) for its UK + Sweden payment licenses to operate independently. (prnewswire.com) ramp.com/europe
EU offices? London + Stockholm (opening 2026 alongside launch). prnewswire.com
DATEV integration? NO. Not listed in any Ramp documentation, integrations page, or accounting overview. Not mentioned in launch materials. ramp.com/accounting-automation-software, ramp.com/integrations
ZUGFeRD / XRechnung support? NO public mention. n/a

Bottom line: Ramp's product is technically the most API-mature in this evaluation set, but the company is 6-12 weeks away from being a viable option for a German-HQ customer as of this writing (May 2026), and even then it will arrive without a DATEV integration, which is a hard requirement for any serious German SMB / Mittelstand customer using DATEV for accounting. Ramp's go-to-market in Germany will require either DATEV building support themselves, Ramp building it for v1 (no signal in public roadmap), or a third-party connector. This is a disqualifying gap for a customer who uses DATEV today and won't migrate.

The rest of this document continues for comparison reference and to inform Orcha's roadmap thinking once Ramp does land in Germany.

Capability Matrix

Capability Public API Via Zapier Via Workato Via Make Via DATEV Via CSV Verdict
Read transactions (cards + reimbursements) YES (GET /transactions) N/A YES (HTTP/generic) NO native N/A (no DATEV) YES (export) Available now
Read individual transaction detail YES (GET /transactions/{id}) N/A YES N/A N/A YES Available now
Real-time webhooks (transactions.cleared, transactions.authorized, transactions.ready_to_sync, etc.) YES N/A YES N/A N/A N/A Available now
Read receipt/invoice documents YES (Receipts API, receipts:read scope) N/A N/A N/A N/A YES (manual) Available now
Read vendors YES (GET /accounting/vendors) N/A YES N/A N/A YES Available now
Write vendors YES (POST /accounting/vendors batch up to 500, PATCH, DELETE) N/A YES N/A N/A YES (import) Available now
Read chart of accounts YES (GET /accounting/accounts) N/A YES N/A N/A YES Available now
Write chart of accounts YES (POST batch up to 500, PATCH, DELETE) N/A YES N/A N/A YES (import) Available now
Read/write cost centers, projects, custom dimensions YES (Accounting Fields API: definitions + options, full CRUD) N/A YES N/A N/A YES Available now
Read/write tax codes YES (Tax Code API: POST/GET/PATCH/DELETE /accounting/tax/code, plus tax-code-options endpoints) N/A YES N/A N/A YES Available now
Read/write tax rates YES (Tax Rates API, batch upload, full CRUD) N/A YES N/A N/A YES Available now
Read employees / users YES N/A YES N/A N/A YES Available now
Write users YES (users:write scope) N/A YES N/A N/A YES Available now
Mark transactions as exported / synced YES (POST /accounting/syncs with idempotency key) N/A YES N/A N/A N/A Available now
Card management (issue/suspend/terminate virtual + physical) YES (POST /cards/deferred/virtual, /physical, suspend, terminate; deferred-task pattern) N/A YES N/A N/A N/A Available now
Push bills/invoices into Ramp YES (POST /bills + POST /bills/{id}/attachments) -- distinct from Pleo/Payhawk gap N/A YES N/A N/A NO Available now
Bill drafts YES (POST /bills/drafts, attachments) N/A YES N/A N/A N/A Available now
Trigger/manage approvals PARTIAL -- spend programs + spend controls API exists; approval flows can be configured but direct approve/reject from external API is limited N/A partial N/A N/A N/A Configurable
DATEV bidirectional sync NO N/A N/A N/A NOT SUPPORTED N/A NOT available

Overall assessment: Ramp has the most API-comprehensive and modern developer surface of any spend tool in this evaluation set (Pleo, Payhawk, Moss, Spendesk, Yokoy, Circula, Finway, Qonto). Webhooks are first-class with explicit transaction events. Reference data has full CRUD with batch endpoints (up to 500 items per upload). Bills CAN be created via API -- a meaningful differentiator vs Pleo, Payhawk, Moss. The Developer API is FREE on all plans (interchange-funded). However, two showstoppers: (1) German-HQ companies cannot directly sign up until summer 2026 onboarding rolls out, and (2) there is no DATEV integration. For a German company that uses DATEV and Orcha today, Ramp is not yet a real option.


2. API Landscape

API Layers

API Base URL Purpose
Developer API (v1) https://api.ramp.com/developer/v1 Main REST API: transactions, cards, users, vendors, accounting, bills, webhooks, custom records
Sandbox https://demo-api.ramp.com/developer/v1 Test/sandbox environment
Token endpoint https://api.ramp.com/developer/v1/token OAuth 2.0 token issuance (HTTP Basic Auth with client_id:client_secret)
Developer Portal https://docs.ramp.com/ Documentation hub (JS-rendered SPA; LLM-friendly plaintext mirrors at /llms.txt, /llms-api.txt, /llms-full.txt, /llms-guides/<slug>.txt)
OpenAPI 3.x spec https://docs.ramp.com/openapi/developer-api.json Machine-readable spec for client generation
MCP / AI Agent surface Developer MCP, Ramp Data MCP, Ramp MCP (3 distinct MCP servers documented) First-class AI-agent integration tier -- ahead of every peer in this set

Authentication

Method Details
OAuth 2.0 Client Credentials Primary for server-to-server. HTTP Basic Auth with client_id:client_secret to token endpoint.
OAuth 2.0 Authorization Code For third-party apps where users grant access; admin/business-owner consent required.
Token format Opaque (NOT JWT)
Token TTL 10 days -- significantly longer than Pleo or most peers
Scopes 40+ scopes following resource:permission pattern (transactions:read, accounting:write, cards:read_vault, bills:write, etc.)
PCI-sensitive scope cards:read_vault (full PAN access) requires additional security review and PCI qualification
App management Ramp dashboard > Company > Developer > Create New App

Ramp does not support simple API-key static-token auth (unlike Payhawk's static Bearer model). Everything is OAuth, but client_credentials flow is essentially equivalent for server-to-server purposes.

Rate Limits

Aspect Detail
Limit 200 requests per 10-second rolling window per source IP (~1,200 req/min, ~20 req/s)
Response on exceeded HTTP 429
Recommended handling Exponential backoff (1s, 2s, 4s, ...)
Timeout Requests exceeding 60s terminate with HTTP 504
Higher limits Available on request via Developer API support ticket

For comparison: Pleo = 10 req/s, Payhawk = 15 req/s, Ramp = ~20 req/s. Ramp is the highest in this peer set on raw throughput, and the per-IP application (rather than per-account) is unusual and slightly more permissive for multi-account orchestrators.

API Categories (Comprehensive)

Confirmed via the LLM-friendly plaintext API reference (llms-api.txt) and OpenAPI spec:

API Category Read Write Notes
Transactions GET /transactions (filterable by sync_status=SYNC_READY, etc.), GET /transactions/{id} None (card transactions are external events) Real-time via webhooks
Cards GET /cards, GET /cards/{id} POST /cards/deferred/virtual, POST /cards/deferred/physical, PATCH /cards/{id} (owner, display name, spend limits), suspend/unsuspend/terminate (deferred-task pattern), GET /cards/deferred/status/{task_id} for async result Virtual / physical / agent (AI). Multi-currency. Spend limits per card.
Users List, get Create/update (users:write) Lifecycle docs available
Vendors (Bill-Pay) GET /accounting/vendors, GET /accounting/vendors/{id} POST batch up to 500, PATCH, DELETE Full CRUD. Reactivation supported.
Chart of Accounts (GL Accounts) GET /accounting/accounts, GET /accounting/accounts/{id} POST batch up to 500, PATCH, DELETE Full CRUD.
Accounting Fields (cost centers / projects / dimensions) List, get POST create field, PATCH, DELETE field. Plus POST /accounting/field-options batch up to 500, PATCH/DELETE options Two-tier: field definition + options. Maps cleanly to cost centers, projects, classes, etc.
Tax Codes GET /accounting/tax/code, GET /accounting/tax/code/options POST/PATCH/DELETE on field + options Full CRUD. Singular field (matches single tax-code dimension), multiple options.
Tax Rates GET /accounting/tax/rates POST batch up to 500, PATCH, DELETE Separate from tax codes.
Inventory Items List, get Full CRUD For procurement / item-level coding
Ramp-Only Fields List, get Full CRUD Fields that stay in Ramp and don't sync to ERP
Accounting Connections GET /accounting/connection, GET /accounting/all-connections, GET /accounting/connection/{id} POST register, PATCH update settings, reactivate, DELETE This is how a custom ERP (e.g., DATEV) would be plugged in by Orcha
Bills (AP) GET /bills, GET /bills/{id}, GET /bills/drafts, GET /bills/drafts/{id} POST /bills, PATCH, DELETE (archive), POST /bills/{id}/attachments, drafts equivalents Real POST /bills endpoint -- you CAN push invoices into Ramp via API. Major differentiator vs Pleo/Payhawk/Moss.
Bank Accounts GET /bank-accounts, GET /bank-accounts/{id} None For payment routing
Business Information GET /business, GET /business/balance None Company metadata, balance/limits
Comments GET/POST /comments/{object_type}/{object_id} YES Add notes to expenses, bills, etc.
Audit Logs GET /audit-logs/events None Full event history
Sync Management POST /accounting/ready-to-sync, POST /accounting/syncs (idempotency-keyed) YES Close the loop after exporting to ERP
Custom Records List custom tables, list/get/delete rows Create/configure custom & native tables, create/update rows Effectively a configurable database within Ramp for tracking arbitrary entities
Receipts GET /receipts, GET /receipts/{id} (receipts:read) POST (auto-match without transaction ID supported) Itemization data + image
Webhook Subscriptions List Create / update / delete Per-scope event types

Recent (2025-2026) Additions

Deprecation / Versioning

API is on v1 (/developer/v1). Two notable deprecations:


3. Write Capability Verification

Confidence: HIGH. Ramp's write surface is the most comprehensive in the spend-management peer set evaluated by Orcha to date.

Confirmed Write Endpoints / Operations

Operation Method Endpoint Batch? Source
Create vendor POST /accounting/vendors Yes, up to 500 llms-api.txt
Update vendor PATCH /accounting/vendors/{id} No llms-api.txt
Delete vendor DELETE /accounting/vendors/{id} No llms-api.txt
Reactivate vendor PATCH /accounting/vendors/{id} (with status field) No llms-api.txt
Create GL account POST /accounting/accounts Yes, up to 500 llms-api.txt
Update GL account PATCH /accounting/accounts/{id} No llms-api.txt
Delete GL account DELETE /accounting/accounts/{id} No llms-api.txt
Create accounting field (cost center / project / dimension) POST /accounting/fields No llms-api.txt
Update accounting field PATCH /accounting/fields/{id} No llms-api.txt
Delete accounting field DELETE /accounting/fields/{id} No llms-api.txt
Upload field options (cost-center values, etc.) POST /accounting/field-options Yes, up to 500 llms-api.txt
Update / delete field option PATCH / DELETE /accounting/field-options/{id} No llms-api.txt
Create tax-code field POST /accounting/tax/code No llms-api.txt
Update / delete tax-code field PATCH / DELETE /accounting/tax/code No llms-api.txt
Upload tax-code options POST /accounting/tax/code/options Yes llms-api.txt
Update / delete tax-code option PATCH / DELETE /accounting/tax/code/options/{id} No llms-api.txt
Upload tax rates POST /accounting/tax/rates Yes, up to 500 llms-api.txt
Update / delete tax rate PATCH / DELETE /accounting/tax/rates/{id} No llms-api.txt
Create bill (push invoice into Ramp) POST /bills No llms-api.txt
Upload bill attachment POST /bills/{id}/attachments No llms-api.txt
Create draft bill POST /bills/drafts No llms-api.txt
Update bill PATCH /bills/{id} No llms-api.txt
Archive bill DELETE /bills/{id} No llms-api.txt
Issue virtual card POST /cards/deferred/virtual (async task) No llms-api.txt
Issue physical card POST /cards/deferred/physical (async task) No llms-api.txt
Update card PATCH /cards/{id} No llms-api.txt
Suspend / unsuspend / terminate card POST /cards/{id}/deferred/... No llms-api.txt
Create webhook subscription POST (webhooks resource) No llms-guides/webhooks.txt
Update / delete webhook subscription PUT / DELETE (webhooks resource) No llms-guides/webhooks.txt
Mark objects ready to sync POST /accounting/ready-to-sync Yes llms-api.txt
Report sync results POST /accounting/syncs (requires idempotency key) Yes llms-api.txt
Register custom accounting connection POST /accounting/connection No llms-api.txt
Create user POST (users resource) No llms-api.txt
Create / update custom record row POST /custom-records/custom-tables/{table_name}/rows Yes llms-api.txt

Key Capabilities vs Peers

Limitations


4. iPaaS & Middleware Findings

Platform Ramp Connector? Quality Details
Workato YES Production -- 4.9/5 rating, 100+ active users Generic CRUD action set: Create, Update, Delete, Search, Get-by-ID records in Ramp. HTTP connector available for any endpoint not in the prebuilt set. (workato.com/integrations/ramp)
Zapier NOT FOUND -- No dedicated Ramp (the finance company) Zapier app located in marketplace. Multiple unrelated apps named "WorkRamp", "Ramper Marketing", "Ramper Pipeline" are easy to confuse. Confirmed gap vs Pleo (which has 4 triggers + 8 actions on Zapier).
Make.com NOT FOUND (use HTTP module) -- No native Ramp module. Make.com community search returns generic scenario tools, not a Ramp connector. Would need to use generic HTTP Request module against Ramp API.
Celigo NOT FOUND -- Not in marketplace
n8n NOT FOUND -- No native or community node. Generic HTTP Request node would be required.
Tray.io NOT CONFIRMED -- Not surfaced in public listings
Unified.to YES (unified API tier) Wrapper Aggregator that includes Ramp -- not a direct iPaaS, but exposes Ramp via a unified accounting API.

Workato is the most viable iPaaS path. Outside of that, the story is that Ramp's API is so straightforward and well-documented that the direct-API approach is the default -- there is essentially no Zapier or Make ecosystem around it. Combined with Ramp's three MCP servers, the official messaging is "use AI agents / MCP, or talk directly to the API; iPaaS isn't the primary channel."


5. Alternative Channels

DATEV Integration (Not Supported)

Ramp has no DATEV integration of any kind. Confirmed by:

This is the single most consequential gap for a German DATEV-using customer. The closest workaround would be:

  1. Build a custom integration via Ramp's "Accounting Connections" API (POST /accounting/connection, then implement the two-way sync) -- effectively writing a DATEV bridge yourself
  2. Use Workato or a similar iPaaS to bridge Ramp <-> DATEV via DATEV Cloud Services / Rechnungsdatenservice
  3. Use Ramp's CSV export and manually load into DATEV
  4. Wait for Ramp to ship a native DATEV integration (no public roadmap)

None of these match the out-of-the-box experience that Payhawk, Pleo, and most German-native tools (Circula, Yokoy, Moss, Finway) provide for DATEV today.

Native ERP/Accounting Integrations (Confirmed List)

System Connection Type Direction
NetSuite API (native) Bidirectional
Sage Intacct API (native, two-way) Bidirectional
Microsoft Dynamics 365 Business Central API Bidirectional
Microsoft Dynamics 365 Finance & Operations API Bidirectional
Workday Financial Management API Bidirectional
Acumatica API Bidirectional
Oracle Fusion Cloud API Bidirectional
QuickBooks Online API Bidirectional
QuickBooks Desktop API Bidirectional
Xero API Bidirectional
Zoho Books API Bidirectional
Trimble API --
Pilot, Rillet, Puzzle, Finaloop, Finta, Carta, Quanta, Everest API Varied (often outsourced bookkeeping connectors)
DATEV None --
SAP S/4HANA / B1 / ByDesign Not listed --

HRIS Integrations

ADP Workforce Now (native connector), plus generic ERP/HR sync via API.

Webhooks

Aspect Detail
Available YES, official
Confirmed event names transactions.authorized, transactions.cleared, transactions.declined, transactions.ready_for_review, transactions.ready_to_sync, bills.created, bills.approved, bills.rejected, bills.paid, vendors.updated, entities.created, item_receipts.created, plus events on purchase_orders, applications, spend_requests, unified_requests, reimbursements
Subscription mgmt Create / update / delete via API; scoped per resource (transactions:read, bills:read, etc.)
Delivery HTTPS POST, 10-second timeout
Retries Up to 10 retries with exponential backoff (0-60s initial delay) on 429/5xx. Instant failure on 3xx/4xx (except 429).
Idempotency Same event ID across retries -- deduplicate on event ID.
Signature verification X-Ramp-Signature header containing HMAC-SHA256 of raw request body, signed with webhook secret. Optional but recommended.
Real-time? YES. Authorization webhook fires at the card-network authorization moment (before clearing).

This is the strongest webhook posture in the peer set:

CSV Exports


6. Licensing & Access Requirements

API Access

Ramp Developer API is free on all plans. Confirmed via docs.ramp.com/llms-guides/getting-started.txt: "Sign up at ramp.com to provision an account, or request a sandbox to start building without one. ... Company -> Developer -> Create New App."

There is no API-gated tier and no per-call fee. The 200 req / 10s rate limit applies uniformly. Higher limits available on request via support ticket.

For comparison: Pleo gates Open API to Advanced ($109/mo+); Payhawk includes it on all paying plans; Ramp includes it on the free tier.

Plan Pricing

Ramp's commercial model is unique among the peer set:

Plan Per-User Cost Inclusions Notes
Ramp (Free) $0 Unlimited corporate cards, T&E with SMS/Slack completion, AP automated invoice extraction, basic accounting automation, budgets & reporting, Developer API Interchange-funded. Revenue comes from card swipe fees, not subscriptions.
Ramp Plus $15/user/month Everything in Free, plus advanced automation, policy enforcement, comprehensive reporting, international + multi-currency Per-user employee billing
Ramp Enterprise Custom (median ~$21,600/yr per Vendr data) Custom workflows, multi-entity management, advanced reporting, dedicated CS, custom integrations, SLA Typical $0-$15k/mo platform fee depending on scale

For a German company with ~30 cardholders:

Ramp is the cheapest by a wide margin -- but only if you don't need the multi-currency / international features (which gate to Plus or Enterprise).

Customer Setup Checklist

  1. Today (May 2026): German customer cannot directly sign up. Must join the ramp.com/europe waitlist.
  2. Once direct EU onboarding ships (summer 2026):
  3. Admin navigates to Company -> Developer in Ramp dashboard
  4. Click Create New App, name it
  5. Under Grant types, select Client Credentials
  6. Under Scopes, enable: transactions:read, accounting:read, accounting:write, users:read, bills:read, bills:write (start narrow)
  7. Store Client ID + Client Secret securely
  8. Generate webhook secret + subscribe to transactions.cleared, transactions.authorized, etc.
  9. Implement HMAC-SHA256 signature verification using webhook secret
  10. Note: no DATEV path -- if accounting reference data is needed, Orcha would push via the Accounting / Vendors / Tax / Field APIs directly

7. Orcha-Specific Deep Dive

Critical Question Comparison: Ramp vs Pleo on the Customer's Pain Points

Pain Point with Pleo Ramp Status Source
Germany availability GATED -- summer 2026 onboarding only via waitlist. Direct German-HQ customer cannot sign up today (May 2026). ramp.com/europe
DATEV integration NOT SUPPORTED. Not in any documentation, integrations page, or roadmap. This is the showstopper for a DATEV-using customer. ramp.com/accounting-automation-software
Realtime transaction webhooks -- Pleo gates expense data behind customer-triggered export jobs EXCELLENT. transactions.authorized, transactions.cleared, transactions.declined, transactions.ready_for_review, transactions.ready_to_sync. HMAC-SHA256 signed. Up to 10 retries with exponential backoff on 429/5xx. Pre-clearing authorization webhook is unique in the peer set. docs.ramp.com/llms-guides/webhooks.txt
Receipt URL longevity -- Pleo expires receipt URLs after 24h NOT EXPLICITLY DOCUMENTED in public docs, but the API has a dedicated GET /receipts and GET /receipts/{id} endpoint with receipts:read scope. Industry pattern for fintech is signed S3/CloudFront URLs (typically 1-24h TTL). Cannot be confirmed from public web -- the Receipts guide page is JS-rendered SPA. Recommended empirical probe via authenticated sandbox: capture URL, re-fetch at T+1h / 6h / 24h / 7d. docs.ramp.com
Full CRUD on reference data (vendors, CoA, cost centers, tax codes) BEST-IN-CLASS. All four resources have first-class CRUD endpoints with batch upload (up to 500 items). Cost centers / projects via Accounting Fields API (field definition + options). Tax codes + tax rates have separate first-class endpoints. Vendors have full CRUD including reactivate. Stronger than Pleo, Payhawk, Moss, Spendesk. docs.ramp.com/llms-api.txt
API access pricing tier FREE on all plans, including the $0 Ramp Free tier. Interchange-funded model. Best-in-class. docs.ramp.com/llms-guides/getting-started.txt
Field completeness on transactions Comprehensive: amount + currency (ISO 4217, integer-cents canonical representation), merchant (auto-populated normalized read-only entity from card network), user assignment, masked card (full PAN via cards:read_vault scope + PCI review), receipt associations, sync_status, FX info. MCC and raw descriptor are exposed via the underlying merchant entity. Virtual/physical flag is on the card resource. Approver chain is exposed via spend-program / spend-request resources, not directly on the transaction (subtle architectural difference vs Payhawk). Exact field list visible only in authenticated developer portal or OpenAPI spec. docs.ramp.com/llms-api.txt
Bill push capability -- Pleo cannot accept invoices via API YES. POST /bills + POST /bills/{id}/attachments. Plus draft bills via POST /bills/drafts. Unique in the peer set -- Pleo, Payhawk, Moss, Spendesk all lack this. docs.ramp.com/llms-api.txt

Critical Question: What Role Does Ramp Play Relative to Orcha?

Ramp and Orcha have overlapping functionality in the Bill Pay module of Ramp -- but the customer scenario in scope explicitly excludes Ramp's Bill Pay module (the customer keeps Orcha for AP).

Capability Ramp (cards + reimbursements only) Orcha
Invoice capture (OCR) (yes, but Bill Pay module not in use) YES (core product)
Card transaction capture YES NO
Card transaction pre-accounting YES (AI-powered) NO
Reimbursements YES NO
Cost center / project coding YES (Accounting Fields) YES
DATEV push NO YES (direct integration)
Approval workflows YES (Spend Programs + Spend Controls) Depends on customer
AI agent surface YES (MCP) TBD

So with Bill Pay off, Ramp's responsibility is cards + reimbursements; Orcha's is AP invoices. But the two streams cannot converge in DATEV via Ramp -- Ramp will not export there. The customer would have to:

This is fundamentally worse than the Pleo or Payhawk options for a DATEV customer.

Integration Scenarios for the Customer

Scenario A: Orcha reads card transaction data FROM Ramp for unified spend analytics (PRIMARY USE CASE)

Scenario B: Orcha writes reference data INTO Ramp for consistent coding (SECONDARY USE CASE)

Scenario C: Customer migrates AP from Orcha to Ramp's Bill Pay module

Scenario D: Orcha pushes invoices into Ramp

Scenario E: Bridge Ramp transactions to DATEV via Orcha

Key API Differences vs Peers

Dimension Pleo Payhawk Ramp Winner
Germany direct customer YES YES NO (waitlist) Pleo / Payhawk
DATEV native integration One-click export Bidirectional via DATEV Cloud Services NONE Payhawk
Realtime webhooks (transaction-level) Partial (export-job gated) YES YES, including pre-clearing authorization Ramp
Webhook signature Svix (HMAC) RSA SHA-256 HMAC SHA-256 Tie
API access tier Advanced ($109/mo+) All paying plans Free tier Ramp
Rate limit 10 req/s 15 req/s ~20 req/s (200/10s) Ramp
Vendor CRUD Full CSV workaround Full + batch-500 Ramp
CoA CRUD Full Categories API Full + batch-500 Ramp
Cost-center CRUD Tags API Custom Fields API Accounting Fields API (field + options) Tie
Tax code CRUD Full Custom Fields Dedicated Tax Code + Tax Rates APIs Ramp
POST /bills (push invoice in) NO NO YES Ramp
Auth model OAuth 2.0 client_credentials Static Bearer API key OAuth 2.0 client_credentials (token TTL 10 days) Tie
Zapier connector YES NO NO Pleo
Workato connector NO YES YES Tie
Approval API Read-only Read-only Spend programs / spend requests configurable Ramp (slight)
AI agent / MCP NO NO YES (3 MCP servers) Ramp
Multi-currency YES YES YES (ISO 4217 canonical) Tie

On pure API capability, Ramp wins on almost every axis. On real-world availability and German operational requirements, Ramp loses on the only two axes that matter for this customer.

Receipt URL Longevity -- Action Required

As with Payhawk, the single most important unverified question is the receipt URL TTL policy. Ramp has a first-class Receipts API (GET /receipts, GET /receipts/{id}) but the URL TTL policy is not stated in public documentation (the Receipts guide page is JS-rendered SPA, inaccessible via WebFetch).

Recommendation: same probe pattern as Payhawk -- before committing engineering effort, run an authenticated probe against a Ramp sandbox. Fetch a receipt, capture the URL, re-fetch at T+1h, T+6h, T+24h, T+72h, T+7d. Industry pattern for fintech is signed S3/CloudFront URLs with 1h-7d TTL; if TTL is short, mirror to Orcha storage at webhook time.

Orcha Integration Capability Summary

Orcha Need Ramp Support Endpoint(s) Confidence Notes
Real-time card-tx ingestion YES (webhooks, multiple event types per stage) transactions.authorized, transactions.cleared, transactions.ready_to_sync HIGH HMAC-SHA256 signed, 10x retry with exp backoff
Full transaction detail pull YES GET /transactions/{id} HIGH Incl. merchant, currency, user, receipt assoc
Approver chain YES (indirect) Spend Programs / Spend Requests resources MEDIUM Different architecture vs peers
Raw card-tx pre-clearing visibility YES transactions.authorized webhook HIGH Unique in peer set
Receipt document URLs YES GET /receipts/{id} HIGH TTL unverified -- probe needed
Sync chart of accounts (write) YES POST /accounting/accounts (batch 500) HIGH Full CRUD + batch
Sync cost centers / projects (write) YES Accounting Fields API + Field Options HIGH Two-tier model
Sync tax codes (write) YES Dedicated Tax Code + Tax Code Options + Tax Rates APIs HIGH First-class resources
Sync vendors / suppliers (write) YES POST /accounting/vendors (batch 500), PATCH, DELETE, reactivate HIGH Best-in-class
Mark expense / bill as exported YES POST /accounting/syncs with idempotency key HIGH Idempotency-keyed
Push invoices into Ramp YES POST /bills, POST /bills/drafts HIGH Unique among peers, irrelevant for this customer
Read employees / users YES Users resource HIGH
Card issuance via API YES Deferred-task pattern HIGH Virtual, physical, agent (AI)
DATEV native integration NO -- HIGH Showstopper for this customer
German direct onboarding today NO (waitlist) -- HIGH Showstopper for this customer until summer 2026

Assessment: Ramp is the Best Spend-Tool API in the Market, But Not a Real Option for This Customer

Ramp's developer surface is materially ahead of Pleo, Payhawk, Moss, Spendesk, Yokoy, and every other tool in the spend-management peer set on:

But for this specific customer scenario -- German company, DATEV for accounting, Orcha for AP, evaluating Pleo replacement for cards -- Ramp fails on the two non-API attributes that matter most:

  1. Cannot onboard a German-HQ customer today (May 2026), only via summer-2026 EU waitlist
  2. No DATEV integration of any kind, and no public roadmap signal that one is coming

These two gaps are larger and more concrete than any API advantage Ramp offers.

Assuming Ramp ships German direct onboarding in summer 2026 AND the customer is willing to either (a) accept manual / Workato-bridge DATEV export, or (b) wait for native DATEV, the integration would look identical to the Payhawk pattern:

[Card transactions]            [Vendor invoices]
       |                              |
       v                              v
   Ramp  --- real-time webhook --->  Orcha (read-side: unified spend analytics)
       |                              |
   *** GAP ***                        |
   No DATEV path                      v
   (manual / iPaaS bridge needed) -> DATEV
                                      ^
                                      |
                                  Orcha (AP write directly to DATEV)

Read side (Ramp -> Orcha):

  1. Subscribe webhooks to transactions.authorized + transactions.cleared
  2. On event, GET /developer/v1/transactions/{id} for full detail
  3. (Optional) periodic GET /transactions?sync_status=SYNC_READY reconciliation sweep
  4. Pull receipts via GET /receipts/{id} (verify TTL first; mirror to Orcha storage if short)
  5. HMAC-SHA256 signature verify on webhooks

Write side (Orcha -> Ramp):

  1. Push chart of accounts via POST /accounting/accounts (batch up to 500)
  2. Push cost centers / projects via Accounting Fields API
  3. Push tax codes via Tax Code Options API
  4. Push vendors via POST /accounting/vendors (batch up to 500)
  5. Mark exports complete via POST /accounting/syncs with idempotency keys

Missing piece: Ramp -> DATEV bridge. Either:

When Ramp Integration Would Make Sense

  1. Multi-country group with US HQ and German subsidiary: Already viable today. US parent is Ramp customer, German entity issues EUR cards via Stripe-Ireland. Orcha reads Ramp data for the German entity, pushes invoices to DATEV directly.
  2. German customer post-summer-2026 launch, willing to absorb DATEV gap: Wait for direct onboarding, accept that Ramp -> DATEV bridge will be manual or Orcha-built.
  3. German customer who doesn't use DATEV: Theoretically possible but rare -- DATEV's 90%+ market share among German tax advisors makes a non-DATEV German SMB unusual.

When Ramp Integration Does NOT Make Sense

  1. Right-now decision (May 2026) for a German-HQ Pleo replacement: Ramp is not yet eligible for direct onboarding. Payhawk is the correct comparison target (German market, DATEV native, free API, real-time webhooks).
  2. DATEV-using customer with no appetite for custom bridging: Ramp's missing DATEV integration is fatal.

What NOT to Build

Architecture Decision

Approach Cost Complexity Value Verdict
Read card tx via webhook + GET /transactions $0 marginal (API free) Low-Medium High (if customer is on Ramp) Strongest API path in the peer set, but customer can't be on Ramp yet
Mirror receipts to Orcha storage $0 marginal Low Medium-High Recommended pending TTL probe
Write reference data via Ramp accounting APIs $0 marginal Medium Medium Reference data is best-in-class CRUD
Build Ramp -> DATEV bridge in Orcha Engineering: ~4-8 weeks High High (would unblock the customer) Speculative; do not build without committed customer
Wait for Ramp's native DATEV $0 None TBD Currently the realistic path; timeline unknown
Use Payhawk instead Payhawk subscription -- High Recommended for this customer

Pre-Implementation Verification Needed

If Ramp becomes a real option later:

  1. Probe receipt URL TTL via authenticated sandbox
  2. Confirm full webhook event catalog -- the public docs list ~12 event types but the OpenAPI spec is the source of truth
  3. Confirm transaction field schema -- specifically MCC, raw descriptor, approver chain access pattern, FX detail, card virtual/physical flag location
  4. Test multi-currency settlement in EUR for German entity -- behavior post-Billhop integration
  5. Verify if DATEV makes the integration list in 2026 EU rollout -- this is the make-or-break feature

Recommendation Summary

For the customer scenario (German company, DATEV + Orcha + Pleo replacement for cards): NO, do not pursue Ramp. Recommend Payhawk instead. Payhawk has the same realtime + free-API advantages that drove the Pleo evaluation, plus a best-in-class DATEV native integration, and is available to German customers today.

Ramp is materially better than Pleo, Payhawk, and the rest of the peer set on every pure API axis, BUT loses on the two non-negotiable customer requirements:

  1. German direct onboarding: not until summer 2026 (waitlist only today)
  2. DATEV integration: does not exist, no public roadmap

Revisit Ramp in Q4 2026 for a different German customer who either does not use DATEV or is willing to accept manual / iPaaS bridging for DATEV export. Until then, this research is filed as a reference baseline for the strongest possible spend-tool API in the market.


9. Sources

Official Documentation

EU / Germany Availability

Integrations & ERP

iPaaS

Pricing & Plans

Reviews & Background

Apidog Reference (Third-Party)

DATEV Context (for the gap analysis)