---
title: "Profit & Loss across companies"
method: GET
path: "/reports/firm-profit-and-loss"
tags: ["Reports"]
---

# Profit & Loss across companies

`GET /reports/firm-profit-and-loss`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/reports/firm-profit-and-loss`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Read-only firm staff report. Runs each selected accessible company's Profit & Loss for the same dates (client companies only by default; firm books need explicit opt-in and permission). Returns startDate, endDate, basis, mixedBasis, companies (organizationId, name, basis, revenueCents, expenseCents, askClientNetCents, netIncomeCents, optional revenueAccounts and expenseAccounts, error when one company's report failed), and totals across companies that reported. Integer cents matching each company's Profit & Loss.

## Query parameters

- `companyIds` string
- `includeFirmBooks` boolean
- `period` 'this_month' | 'last_month' | 'this_quarter' | 'last_quarter' | 'ytd' | 'this_year' | 'last_year'
- `startDate` string, date
- `endDate` string, date
- `basis` 'accrual' | 'cash'
- `includeAccounts` boolean

## Response `200`

Profit & Loss per company with combined totals

## Other responses

- `400`: Invalid parameters or startDate after endDate
- `403`: Firm staff access is required
- `404`: A requested company is not one you can access
- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
