---
title: "Get Monthly Profit Loss"
method: GET
path: "/companies/{company_id}/financial-statements/monthly"
tags: ["accounting-settings"]
---

# Get Monthly Profit Loss

`GET /companies/{company_id}/financial-statements/monthly`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/companies/{company_id}/financial-statements/monthly`
- Auth: none declared

Per-month P&L matrix for a fiscal year, from the journal (CompanyMember).

A presentation lens over the same posting GL as ``…/financial-statements``: rows are
the FY's income/expense accounts, columns its months — every column equals the
month-scoped statement's P&L, so Σ(columns) reproduces the FY P&L exactly.
Classification problems stay on the statements endpoint. ``fiscal_year`` optional →
the latest FY with journal data. Explicit non-member ``company_id`` → 403.

## Path parameters

- `company_id` string, required

## Query parameters

- `fiscal_year` integer, nullable

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- MonthlyProfitLossOut: Per-month P&L matrix for one fiscal year (``…/financial-statements/monthly``). A presentation **lens** over the same posting-GL plane as the statements: every column equals the month-scoped statement's P&L, so Σ(columns) reproduces the FY P&L exactly. ``months`` lists all FY months (``YYYY-MM``, zero-filled — future months are empty columns). Classification problems are NOT reported here — the statements endpoint carries them.
  - `company_id` string, required
  - `fiscal_year` integer, required
  - `currency` string, required
  - `fiscal_year_start` string, required
  - `fiscal_year_end` string, required
  - `months` string[], required
  - `income` MonthlyPnlRowOut[], required
    - `account_number` string, required
    - `account_name` string, nullable
    - `is_contra` boolean
    - `amounts_cents` integer[], required
    - `total_cents` integer, required
  - `expense` MonthlyPnlRowOut[], required
    - `account_number` string, required
    - `account_name` string, nullable
    - `is_contra` boolean
    - `amounts_cents` integer[], required
    - `total_cents` integer, required
  - `total_income_cents` integer[], required
  - `total_expense_cents` integer[], required
  - `net_result_cents` integer[], required
  - `income_total_cents` integer, required
  - `expense_total_cents` integer, required
  - `net_result_total_cents` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
