# Expense Endpoints {#expense-endpoints}


API endpoints for expense tracking, income management, and recurring expenses.


## Expenses {#expenses}



### List Expenses {#list-expenses}


```http
GET /api/expense?take=20&skip=0&startDate=2024-01-01&endDate=2024-01-31
Authorization: Bearer {token}
```

**Response (200 OK):**

```json
{
  "items": [
    {
      "id": "...",
      "amount": 250.0,
      "currency": "USD",
      "valueDate": "2024-01-15T00:00:00.000Z",
      "notes": "Office supplies",
      "purpose": "Office",
      "vendor": { "name": "Office Depot" },
      "category": { "name": "Supplies" },
      "status": "REPORTED",
      "organizationId": "..."
    }
  ],
  "total": 30
}
```


### Create Expense {#create-expense}


```http
POST /api/expense
Authorization: Bearer {token}
Content-Type: application/json

{
  "amount": 250.00,
  "currency": "USD",
  "valueDate": "2024-01-15",
  "notes": "Office supplies",
  "purpose": "Office",
  "typeOfExpense": "BILLABLE_TO_CONTACT",
  "categoryId": "category-uuid",
  "vendorId": "vendor-uuid",
  "organizationId": "org-uuid"
}
```


### Expense Statuses {#expense-statuses}


| Status     | Description            |
| ---------- | ---------------------- |
| `REPORTED` | Expense reported       |
| `INVOICED` | Included in an invoice |
| `PAID`     | Reimbursed             |


### Expense Types {#expense-types}


| Type                  | Description            |
| --------------------- | ---------------------- |
| `BILLABLE_TO_CONTACT` | Bill to client         |
| `NON_BILLABLE`        | Internal expense       |
| `TAX_DEDUCTIBLE`      | Tax-deductible expense |


## Income {#income}



### List Income {#list-income}


```http
GET /api/income?take=20&skip=0
Authorization: Bearer {token}
```


### Create Income {#create-income}


```http
POST /api/income
Authorization: Bearer {token}
Content-Type: application/json

{
  "amount": 5000.00,
  "currency": "USD",
  "valueDate": "2024-01-15",
  "notes": "Client payment for January",
  "clientId": "contact-uuid",
  "organizationId": "org-uuid"
}
```


## Expense Categories {#expense-categories}



### List Categories {#list-categories}


```http
GET /api/expense-categories
Authorization: Bearer {token}
```


### Create Category {#create-category}


```http
POST /api/expense-categories
Authorization: Bearer {token}
Content-Type: application/json

{
  "name": "Travel",
  "organizationId": "org-uuid"
}
```


## Organization Recurring Expenses {#organization-recurring-expenses}



### List Recurring Expenses {#list-recurring-expenses}


```http
GET /api/organization-recurring-expense?where[organizationId]={org-id}
Authorization: Bearer {token}
```


### Create Recurring Expense {#create-recurring-expense}


```http
POST /api/organization-recurring-expense
Authorization: Bearer {token}
Content-Type: application/json

{
  "categoryName": "Cloud Hosting",
  "value": 500,
  "currency": "USD",
  "startDate": "2024-01-01",
  "organizationId": "org-uuid"
}
```


## Related Pages {#related-pages}


- [Invoice Endpoints](https://sourcey-gauzy.pages.dev/api/invoice-endpoints/index.md) — invoicing and payments
- [API Overview](https://sourcey-gauzy.pages.dev/api/overview/index.md) — general API information
