---
title: reports.revenue | Doing Work API
description: Money collected between two dates (inclusive, UTC), by month: card and bank payments through Doing Work less refunds, and payments recorded as taken outsid
url: https://doingwork.work/docs/reference/reports-revenue/
---

# reports.revenue

Money collected between two dates (inclusive, UTC), by month: card and bank payments through Doing Work less refunds, and payments recorded as taken outside Doing Work, shown apart.

|  |  |
|---|---|
| Who | Agents can call this |
| REST | `GET /v1/reports/revenue` |
| MCP tool | `reports_revenue` |
| Writes | no |
| Area | [Costs, expenses and reports](https://doingwork.work/docs/reference/#costs-expenses-and-reports) |

## When to use it

Money collected between two dates (inclusive, UTC), by month: card and bank payments through Doing Work less refunds, and payments recorded as taken outside Doing Work, shown apart.

## What to tell the owner

Tell them what you found in plain words. Don't read back raw fields.

## Input

| Field | Type | Required |
|---|---|---|
| `shop_id` | string (uuid) | yes |
| `from` | string | yes |
| `to` | string | yes |

## Example

```http
GET https://doingwork.work/v1/reports/revenue?shop_id=00000000-0000-4000-8000-000000000000&from=...&to=...
```

## Output

| Field | Type | Always there |
|---|---|---|
| `months` | array | yes |
| `total` | array | yes |

```json
{
  "months": [
    {}
  ],
  "total": [
    {}
  ]
}
```

## Errors

| Code | Status | What to do |
|---|---|---|
| `invalid_input`, `invalid_token`, `rate_limited` |  | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |
