Expenses

Create an expense for the authenticated employee

Creates a new expense record for the current employee.

Authentication

This endpoint accepts any one of the following token types:

  • Employee-scoped access token (OAuth2Assertion) — obtained through the urn:ietf:params:oauth:grant-type:jwt-bearer grant. See OAuth Assertion.
  • Company-scoped access token (OAuth2AuthorizationCode) — obtained by the employee through the Authorization Code flow or the Refresh Token flow. See Authentication for partners.

Scopes

Any one of the scopes in a token type's row is enough. all:write works too.

Token typeCategoryRead only ScopeWrite only Scope (read access implicit)
Employee-scoped access tokenManage expenses (employment_payments)--
Company-scoped access tokenManage expenses (employment_payments)-Manage expenses (expense:write)
post/v1/employee/expenses

Request

  • Base URL
    https://gateway.remote.com
  • URL
    https://gateway.remote.com/v1/employee/expenses
  • Auth
    • OAuth 2
      Client credentials
      Token URL: /auth/oauth2/token scopes: employment_payments
    • or OAuth 2
      Client credentials
      Token URL: /auth/oauth2/token scopes: all:write
    • or OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: https://gateway.remote.com/employment.manage
    • or OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: expense:write
    • or OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: all:write

Request body

amountinteger required

The expense amount in the specified currency, in cents.

category'car_rental' | 'coworking_office' | 'education_training' | 'entertainment' | 'flight' | 'fuel' | 'gifts' | 'insurance' | 'lodging' | 'meals' | 'other' | 'parking_toll' | 'subscription' | 'tech_equipment' | 'telecommunication' | 'transport' | 'utilities' | 'vaccination_testing' | 'visa' | 'wellness' | 'coworking' | 'home_office' | 'phone_utilities' | 'travel' nullable

Categories allowed for an expense (legacy, deprecated).<br/> Note: coworking, home_office, phone_utilities, travel are deprecated and will be removed in the future.

currencystring required

The three-letter code for the expense currency.<br/> Examples: "USD", "EUR", "CAD"

expense_category_slugstring nullable

Slug of a category listed by GET /v1/employee/expense-categories for the employee (recommended). Takes precedence over legacy category field.

expense_datestring required

Date of the purchase, which must be in the past

tax_amountinteger

The tax portion of the expense amount, in cents. Use 0 if no tax applies.

timezonestring
titlestring required

A short description of the expense (e.g., "New keyboard", "Team dinner").

Example request

{
  "amount": 8000,
  "currency": "EUR",
  "expense_category_slug": "uuid-tech-equipment-slug",
  "expense_date": "2020-12-11",
  "receipt": {
    "content": "UGVyaW9kIEVuZCBEYXRlLFBheSBEYXRlLEVtcG...5jZSBPZiBSZXNpZGVuYdXJyZW50LEFsbG93",
    "name": "receipt.pdf"
  },
  "tax_amount": 0,
  "timezone": "Etc/UTC",
  "title": "new keyboard"
}

Response

Created

Example response

{
  "data": {
    "status": "ok"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.