Skip to main content



Coupa Success Portal

Expense Reports API


The Expense Reports API allows you to:

Verb Path Action Description
GET|POST|PATCH /api/expense_reports(/:action(/:id))   {:submit=>"Create an expense report and attempt to submit it for approval", :index=>"Query expense reports", :create=>"Create an expense report in draft status", :show=>"Show expense report", :update=>"Update expense report", :destroy=>"Delete expense report"}
POST /api/expense_reports create Create an expense report in draft status
GET /api/expense_reports index Query expense reports
GET /api/expense_reports/:id show Show expense report
PUT /api/expense_reports/:id/submit submit Create an expense report and attempt to submit it for approval
PATCH /api/expense_reports/:id update Update expense report
PUT /api/expense_reports/:id update Update expense report


The following elements are available for the Expense Reports API:

Element Description Required Field? Unique? Allowable Value Api_In Field? Api_Out Field? Data Type
approvals Approvals         yes Approval 
audit-score Coupa's Audit Score         yes integer
auditor-note Auditor Comments on Expense Report       yes yes text
comments Comments         yes Comment 
created-at Time of Record Creation         yes datetime
created-by User who created         yes User 
currency Currency Code         yes Currency 
events Events         yes ExpenseReportEventHistory 
expense-lines Expense lines       yes yes ExpenseLine 
expense-policy-violations Expense policy violations         yes ExpensePolicyViolation 
expense-violations Expense violations         yes ExpenseViolation 
expensed-by Expensed by user       yes yes User 
exported Indicates if transaction has been exported         yes boolean
external-src-name External source name       yes yes string(255)
external-src-ref External source reference       yes yes string(255)
id Coupa's Expense Report ID         yes integer
last-exported-at Date and time transaction was last exported in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
paid Has expense report been paid?       yes yes boolean
past-due Report has passed the due date in the format True or false     true, false   yes boolean
payment Payment       yes yes Payment 
reject-reason Reason why report was rejected       yes yes text
report-due-date Due date before which report needs to be submitted in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
status Current Expense Report Status         yes string(255)
submitted-at Date Expense Report was Submitted for Approval       yes yes datetime
submitted-by Submitted by user         yes User 
title Expense Report Title       yes yes string(255)
total Expense Report Total in Transactional Currency         yes decimal(32,4)
updated-at Time of Record Creation         yes datetime
updated-by User who updated         yes User 
  • Was this article helpful?