Guides • Manage Accounts
Expenses
doc

Retrieve expenses and receipts

Expenses

Expenses for Revolut Business allow you to capture receipts, categorise, and reconcile all your business expenses in one place, so you can save time on admin work.

To learn more about the Expenses feature and how to use it in the Revolut Business app, see the Customer help documentation.

The Business API lets you retrieve your expenses and receipts related to those expenses. You can:

note

This feature is not available in Sandbox.

Retrieve an expense

To get information about a specific expense, make a request and provide the expense ID.

note

To be compliant with PSD2 SCA regulations, businesses on the Revolut Business Freelancer plans can only access information older than 90 days within 5 minutes of the first authorisation.

To see example requests and responses:

See the API reference: Retrieve an expense

To download a receipt related to a specific expense, make a request and provide both the expense ID and the receipt ID.

tip

To find the receipt ID, refer to the expense's details. The IDs of receipts related to that expense are returned under receipt_ids.

To see example requests and responses:

See the API reference: Retrieve a receipt related to an expense

Filter and retrieve all expenses

You can retrieve a full list of the expenses for your business.

The results are sorted by the expense_date value in reverse chronological order (from newest at the top to oldest at the bottom), and they are paginated.

note

The API returns a maximum of 500 expenses per request.

note

To be compliant with PSD2 SCA regulations, businesses on the Revolut Business Freelancer plans can only access information older than 90 days within 5 minutes of the first authorisation.

To see example requests and responses:

See the API reference: Retrieve a list of expenses

You can also filter the list of expenses by adding one or more of the query parameters listed below to the URL:

curl https://b2b.revolut.com/api/1.0/expenses? \
from=2024-08-01 \
&to=2024-09-10 \
&count=10 \
-H "Authorization: Bearer <your access token>"
ParameterDescriptionRequiredSchema
fromThe date and time to retrieve the expenses from. Corresponds to expense_date.NoISO date/time
toThe date and time you retrieve the expenses to. Corresponds to expense_date. The default value is the current date and time at which you are calling the endpoint.NoISO date/time
countThe number of the historical expenses to retrieve. The maximum number is 500. The default number is 100. Used for pagination.NoNumber
stateThe state of the expenses to retrieve. If provided, only the expenses in this state are returned. Possible values are: missing_info, awaiting_review, reverted, refund_requested, refunded, approved, or rejected.NoText
transaction_typeThe type of the transaction related to the expense. If provided, only expenses with transactions of this type are returned. Possible values are: atm, card_payment, fee, transfer, or external.NoText

Pagination

The /expenses endpoint supports time-based pagination. It returns expenses in reverse chronological order (from <= expense_date < to) limited to the most recent count entities. To get the next page of results, make a new request and use the expense_date value from the last item of the previous page as to.

Expense state

When an expense is created, it typically goes to the missing_info state, until all the required information is provided and the expense is submitted.

Depending on what happens next and whether the expense is subject to an approval process, it can go into one of the following states:

Expense states

To understand what each expense state means and how it maps to the expense status displayed in the Revolut Business app, refer to this table:

State in APIState descriptionStatus in app
missing_infoThe expense is missing required information. The initial state of the expense when it's first created. Once the missing information is provided, the expense is ready to be submitted.Expense info required
awaiting_reviewThe expense is awaiting approval before it can be completed. The approver can approve, reject, or request refund for the expense. It is also possible for the submitter to undo the submission at this stage.Pending review
rejectedThe expense has been rejected by the approver. The expense submitter should correct the expense and resubmit it.Rejected
refund_requestedThe approver rejected the expense and requested that it be refunded back to the business account. This can happen, for example, if an employee accidentally makes a personal purchase with their business card. Once refunded, the admin can mark this expense as refunded.*Refund requested
refundedThe admin marked the expense as refunded. The expense is now completed.*Refunded
approvedThe expense has been approved and is now completed.*Completed
revertedThe expense has been reverted. This status indicates that the transaction related to the expense has been reverted. In such a case, the expense status is automatically set to reverted, and the expense is completed. This can happen, for example, when the transaction has been reverted by the merchant.Transaction reverted

*If an admin has previously approved the expense, marked it as refunded, or requested a refund, they can revert their decision. In such a case, the expense goes back to the initial missing_info state.

Approval process

With Revolut Business approval processes, you can specify whether you want your expenses to require approvals before they can be completed, in what circumstances, and who can approve them.

Expenses are reviewed in the Revolut Business app. They can be approved by designated expense reviewers or expense admins.

  • Reviewers, also referred to as Approvers, can approve, reject, or request refunds for expenses pending review for which they are designated as reviewers. Any team member can be designated as a reviewer, without requiring any expenses permissions.

  • Admins (with the permission Manage Expenses) have full powers and can override approvals by force approving, force rejecting, or force requesting refund for any expense.

    They are also the only ones who can mark an expense as refunded.

What's next

Was this page helpful?