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

# Profit and Loss

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

## Request

- Base URL: `https://api.wafeq.com/v1`
- URL: `https://api.wafeq.com/v1/reports/profit-and-loss/`
- Auth: API key in header `Authorization`

Generate profit and loss report in `currency` from `date_after` to `date_before` range and group it by `group_by` parameter.

## Query parameters

- `branch__in` string[]
- `contact__in` string[]
- `cost_center__in` string[]
- `currency` 'AED' | 'SAR' | 'USD' | 'EUR' | 'CAD' | 'AFN' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BAM' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BND' | 'BOB' | 'BRL' | 'BWP' | 'BYN' | 'BZD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'GBP' | 'GEL' | 'GHS' | 'GNF' | 'GTQ' | 'HKD' | 'HNL' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KZT' | 'LBP' | 'LKR' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SDG' | 'SEK' | 'SGD' | 'SOS' | 'SYP' | 'THB' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'XAF' | 'XOF' | 'YER' | 'ZAR' | 'ZMW': * `AED` - AED * `SAR` - SAR * `USD` - USD * `EUR` - EUR * `CAD` - CAD * `AFN` - AFN * `ALL` - ALL * `AMD` - AMD * `ARS` - ARS * `AUD` - AUD * `AZN` - AZN * `BAM` - BAM * `BDT` - BDT * `BGN` - BGN * `BHD` - BHD * `BIF` - BIF * `BND` - BND * `BOB` - BOB * `BRL` - BRL * `BWP` - BWP * `BYN` - BYN * `BZD` - BZD * `CDF` - CDF * `CHF` - CHF * `CLP` - CLP * `CNY` - CNY * `COP` - COP * `CRC` - CRC * `CVE` - CVE * `CZK` - CZK * `DJF` - DJF * `DKK` - DKK * `DOP` - DOP * `DZD` - DZD * `EGP` - EGP * `ERN` - ERN * `ETB` - ETB * `GBP` - GBP * `GEL` - GEL * `GHS` - GHS * `GNF` - GNF * `GTQ` - GTQ * `HKD` - HKD * `HNL` - HNL * `HRK` - HRK * `HUF` - HUF * `IDR` - IDR * `ILS` - ILS * `INR` - INR * `IQD` - IQD * `IRR` - IRR * `ISK` - ISK * `JMD` - JMD * `JOD` - JOD * `JPY` - JPY * `KES` - KES * `KHR` - KHR * `KMF` - KMF * `KRW` - KRW * `KWD` - KWD * `KZT` - KZT * `LBP` - LBP * `LKR` - LKR * `LYD` - LYD * `MAD` - MAD * `MDL` - MDL * `MGA` - MGA * `MKD` - MKD * `MMK` - MMK * `MOP` - MOP * `MUR` - MUR * `MXN` - MXN * `MYR` - MYR * `MZN` - MZN * `NAD` - NAD * `NGN` - NGN * `NIO` - NIO * `NOK` - NOK * `NPR` - NPR * `NZD` - NZD * `OMR` - OMR * `PAB` - PAB * `PEN` - PEN * `PHP` - PHP * `PKR` - PKR * `PLN` - PLN * `PYG` - PYG * `QAR` - QAR * `RON` - RON * `RSD` - RSD * `RUB` - RUB * `RWF` - RWF * `SDG` - SDG * `SEK` - SEK * `SGD` - SGD * `SOS` - SOS * `SYP` - SYP * `THB` - THB * `TND` - TND * `TOP` - TOP * `TRY` - TRY * `TTD` - TTD * `TWD` - TWD * `TZS` - TZS * `UAH` - UAH * `UGX` - UGX * `UYU` - UYU * `UZS` - UZS * `VES` - VES * `VND` - VND * `XAF` - XAF * `XOF` - XOF * `YER` - YER * `ZAR` - ZAR * `ZMW` - ZMW
- `date_after` string, date, required
- `date_before` string, date, required
- `group_by` 'month' | 'year': * `month` - month * `year` - year
- `project__in` string[]

## Response `200`

- ApiV1ReportsProfitAndLossRead[]
  - `columns` ApiV1ReportsProfitAndLossRowColumnRead[], required: The columns of the report
    - `id` string, required: The id of the column
    - `label` string, required: The label of the column
    - `metadata` object, required: The metadata of the column
  - `overview` ApiV1ReportsProfitAndLossOverviewRead, required: The overview of the profit and loss report, with the parameters it was generated for.
    - `created_ts` string, date-time, required: The timestamp in UTC when the report was created
    - `currency` string, required: The currency of the report
    - `date_from` string, date, required: The start date of the report
    - `date_to` string, date, required: The end date of the report
    - `filters` object, required: The filters of the report
    - `group_by` string, required: The grouping of the report
    - `id` string, required: The id of the report
    - `label` string, required: The title of the report
  - `rows` ApiV1ReportsProfitAndLossSectionRead[], required: The rows of the report
    - `children` ApiV1ReportsProfitAndLossDataRead[], required: The children of the section
      - `children` object[], required: The children of the row. The value is the same as children of the section
      - `id` string, required: The id of the row
      - `label` string, required: The label of the row
      - `metadata` object, required: The metadata of the row
      - `summary` ApiV1ReportsProfitAndLossRowSummaryRead, required: The totals of a row or section of the profit and loss report.
        - `id` string, required: The id of the summary
        - `label` string, required: The label of the summary
        - `metadata` object, required: The metadata of the summary
        - `sub_totals` number[], required: The sub totals of the row
      - `values` number[], required: The values of the row
    - `group` string, required: The group of the section
    - `id` string, required: The id of the section
    - `label` string, required: The label of the section
    - `metadata` object, required: The metadata of the section
    - `summary` ApiV1ReportsProfitAndLossRowSummaryRead, required: The totals of a row or section of the profit and loss report.
      - `id` string, required: The id of the summary
      - `label` string, required: The label of the summary
      - `metadata` object, required: The metadata of the summary
      - `sub_totals` number[], required: The sub totals of the row

## Changes

- **2026-11-03** `b8f5e10134b4`: 6 info
  - added `#/components/schemas/api-v1-reports-profit-and-loss-overview-read` to the `items/overview` response property `allOf` list for the response status `200`
  - added `#/components/schemas/api-v1-reports-profit-and-loss-row-summary-read` to the `items/rows/items/children/items/summary` response property `allOf` list for the response status `200`
  - added `#/components/schemas/api-v1-reports-profit-and-loss-row-summary-read` to the `items/rows/items/summary` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/api-v1-external-reports-profit-and-loss-overview-read` from the `items/overview` response property `allOf` list for the response status `200`
  - …2 more

[Operation history](https://skmtc.dev/wafeq/apis/wafeq-public-api/changes/reports/profit-and-loss/get.md)

---

[API](https://skmtc.dev/wafeq/apis/wafeq-public-api.md) - [All operations](https://skmtc.dev/wafeq/apis/wafeq-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wafeq/apis/wafeq-public-api/revisions/b8f5e10134b4?raw)
