---
title: "Monthly P&L"
method: GET
path: "/v1/monthly"
tags: ["Intelligence"]
---

# Monthly P&L

`GET /v1/monthly`

## Request

- Base URL: `https://api.frihet.io`
- URL: `https://api.frihet.io/v1/monthly`
- Auth: API key in header `X-API-Key`

Monthly financial summary with revenue breakdown (tax base, tax, IRPF),
expense breakdown (deductible, tax), profit (gross/net), invoice status
counts, top clients, expenses by category, and estimated tax liability
(Modelo 303).

## Query parameters

- `month` string

## Response `200`

Monthly financial summary

- MonthlySummary
  - `data` object
    - `period` string
    - `revenue` object
      - `total` number
      - `taxBase` number
      - `tax` number
      - `irpf` number
    - `expenses` object
      - `total` number
      - `deductible` number
      - `tax` number
    - `profit` object
      - `gross` number
      - `net` number
    - `invoices` object
      - `created` integer
      - `sent` integer
      - `paid` integer
      - `overdue` integer
    - `topClients` object[]
      - `name` string
      - `totalRevenue` number
      - `invoiceCount` integer
    - `byCategory` object: Expense totals grouped by category
    - `taxLiability` object
      - `vatPayable` number: Net VAT payable (output - input)
      - `irpfRetained` number
      - `estimatedModel303` number
  - `meta` object
    - `requestId` string
    - `timestamp` string, date-time

## Other responses

- `400`: Bad request - invalid parameters or request body
- `401`: Authentication required or invalid API key
- `429`: Rate limit exceeded (100 requests per minute)
- `500`: Internal server error

---

[API](https://skmtc.dev/frihet/apis/frihet-api.md) · [All operations](https://skmtc.dev/frihet/apis/frihet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frihet/apis/frihet-api/revisions/3dd37f6a72d1?raw)
