Releases Index
Ramp

Ramp

ramp.comFinance
$npx @buildinternet/releases get ramp
Recently Shipped13 releases · updated Oct 13, 2026

Recently shipped a full lifecycle for procurement requests — drafting, submitting, editing, and deleting them through the API.

Procurement requests became a real workflow.

  • Create with submit=false to save a draft, then submit it separately.
  • Edit drafts or submitted requests; delete eligible ones.
  • Set request-level accounting fields for purchase-order programs, plus line-level accounting fields and custom field values.

Vendor and contract management gained recurring reminders and finer states. Agreements support daily-through-yearly renewal reminders starting from a calendar date or contract event, plus new EVALUATING and TERMINATED renewal statuses. Vendors now carry net_payment_terms, updated_at timestamps, optional agreement end dates, and a cooldown stamp for denied reminders.

Bills and transactions kept stable identities.

  • Bill and draft-bill line items return IDs that persist across updates.
  • Typed attachments let integrations filter attachment_type=INVOICE to find the invoice.
  • Bill associations link two bills in both directions, surfaced as related_bills.
  • Transaction comments (beta) can be read and added; bills support AWAITING_PAYMENT.

Purchase orders, receipts, and accounting syncs filled in edge cases.

  • Fractional unit_quantity values persist on PO creation, line updates, and receipts.
  • POs accept owner_id and per-line service dates.
  • Successful transaction and reimbursement syncs persist ERP deep_link_url.
  • Fund limits can convert into entity currency at Ramp's daily rate.

Audit logs gained new event types for Earn account openings and phone change request approvals or denials.

Earlier product work still stands.

  • Partial payments on Bill Pay split vendor bills; forwarded email auto-files invoices.
  • Receipt capture runs on iOS camera-roll scanning, personal Gmail via OAuth, and the Chrome extension.
  • Local-currency cards and reimbursements cover Poland, Denmark, Sweden, and Canada.

Vendor country and state now optional

Breaking (minor)This release4 featuresNew capabilitiesAI-tallied from the release notes

Vendors can now be created without country or state, with omitted or null country defaulting to US for new vendors. Audit logs add Billing bank account updated and Employee policy signed event types, the AI spend providers filter accepts AZURE in beta, and unified request details now expose fund-restoration review fields.

Read more ↗

AI usage cost fields removed; transaction counts now opt-in

BreakingThis release6 featuresNew capabilities2 enhancementsImprovements to existing featuresAI-tallied from the release notes

The AI usage beta no longer returns provider_reported_cost and provider_reported_cost_components, and transactions can now include page.total_count and page.total_count_capped when include_count=true is set. AI usage grouping gains department, model, product, provider, and user options, and usage now supports AWS, CURSOR, FIREWORKS, GCP, and RAMP.

Read more ↗

Accounting fields clearable; sales tax codes and audit events added

This release7 featuresNew capabilitiesAI-tallied from the release notes

Optional transaction accounting fields can now be cleared by sending accounting_field_option_id: null without free_form_text, accounting field types recognize SALES_TAX_CODE, and audit logs support Approval authority changed, Product access granted, and Product access revoked event types. Also added beta date-based renewal reminder snoozing, procurement contract type details on requests, vendor creation source, and Ironclad approval response compatibility.

Read more ↗

Phone change audit events; vendor reminder cooldown timing

This release2 featuresNew capabilitiesAI-tallied from the release notes

Audit logs and the event_types filter now support a "Phone change request reviewed" event type for admin approvals and denials of phone change requests. Vendor agreement responses add available_actions.send_reminder.available_at, which reports when the 24-hour reminder cooldown ends for denial_reason=IN_COOLDOWN and is null otherwise.

Read more ↗
  • Vendor update timestamps — Vendor list and detail responses include nullable updated_at, so incremental integrations can track their last synchronized update alongside the existing date filters. [View…
Read more ↗
  • Typed bill attachments — Bill responses include attachments with id, attachment_type, and download url. Filter for attachment_type=INVOICE to identify the invoice; invoice_urls and draft-bill responses are unchanged. [View…
Read more ↗
  • Vendor payment terms — Set and read net_payment_terms when creating, updating, or retrieving vendors. 0 means due on receipt; on updates, null clears the terms and omission leaves them unchanged. [View…
Read more ↗
  • Stable bill line-item IDs — Bill responses include id on line_items and inventory_line_items. Pass an existing id when updating a bill to preserve that line's identity; omitting it assigns a new ID. Line lists still replace the existing lists wholesale. [View…
Read more ↗
  • Procurement request accounting and custom fields — For enabled businesses, set request-level accounting_field_selections for purchase-order programs and line-level accounting_field_selections and custom_field_values when creating or updating procurement requests. On…
Read more ↗
  • Fractional purchase order and receipt quantities — Set decimal unit_quantity values when updating purchase order line items or creating item receipts; fractional quantities are preserved instead of being truncated to integers. [Update line…
Read more ↗
  • Bill associations (beta) — Associate two bills with display labels in both directions using POST /developer/v1/bills/{bill_id}/associations; repeat the request to update both labels, or remove the association with `DELETE…
Read more ↗
  • Procurement request drafts and submission — Set submit=false when creating a procurement request to save a draft, then submit it with POST /developer/v1/unified-requests/{unified_request_id}/submit. Creating a request still submits it by default. [Create…
Read more ↗
  • Mark transaction syncs ready — Set mark_ready_to_sync=true when posting transaction sync results to mark successful transactions ready before recording completion. The option defaults to false and does not mark failed transactions ready. [View…
Read more ↗
  • ERP deep links for additional accounting syncs — Successful transaction and reimbursement sync items now persist deep_link_url; bill payment syncs update the bill's URL, and omitting the field preserves the existing URL. [View…
Read more ↗