---
title: "Revenue Report"
method: POST
path: "/v6/reports/revenue"
tags: ["Reports"]
---

# Revenue Report

`POST /v6/reports/revenue`

Generate a Revenue Report

## Request body

- RevenueRequestDto
  - `exportType` 'JSON' | 'CSV' — Export format for the report
  - `recipients` Recipients — Email recipients for the report
    - `emails` string[] — Primary email recipients
  - `accountingMethod` 'ACCRUAL' | 'CASH' — Accounting method to generate the report in. Defaults to the company's configured accounting method.
  - `filters` DateRangeFilters — Filters to apply to the report
    - `beginDate` string, date — Beginning date for the report
    - `endDate` string, date — Ending date for the report
  - `grouping` RevenueGrouping — Grouping options for the revenue report
    - `dimensionId` string — Dimension ID to group the report by
    - `column` 'CATEGORY' | 'CUSTOMER' | 'BANK_ACCOUNT' — Column to group revenue by

## Response `200`

Success

- SuccessResponseReportDtoDimensionValueReportDtoBankTransactionReportJson
  - `result` 'SUCCESS' | 'FAILURE' — The result of the action performed.
  - `data` ReportDtoDimensionValueReportDtoBankTransactionReportJson — The data generated by the action performed.
    - `json` DimensionValueReportDtoBankTransactionReportJson[] — Report data in JSON format
      - `name` string — Dimension value name
      - `data` BankTransactionReportJson[] — Report data
        - `name` string — Name of the report section
        - `total` integer — Total amount for this section in cents
        - `count` integer — Number of transactions in this section
        - `data` ExpenseReportDataItem[] — Data items with URIs to fetch detailed results
          - `uri` string — URI to fetch the detailed data set for this item
          - `filters` JsonNode, nullable — Custom JSON in which you can store any data with max length of 2000 characters
            - `empty` boolean
            - `array` boolean
            - `null` boolean
            - `object` boolean
            - `float` boolean
            - `string` boolean
            - `number` boolean
            - `missingNode` boolean
            - `valueNode` boolean
            - `nodeType` 'ARRAY' | 'BINARY' | 'BOOLEAN' | 'MISSING' | 'NULL' | 'NUMBER' | 'OBJECT' | 'POJO' | 'STRING'
            - `pojo` boolean
            - `integralNumber` boolean
            - `floatingPointNumber` boolean
            - `short` boolean
            - `int` boolean
            - `long` boolean
            - `double` boolean
            - `bigDecimal` boolean
            - `bigInteger` boolean
            - `textual` boolean
            - `boolean` boolean
            - `binary` boolean
            - `container` boolean
            - `embeddedValue` boolean
    - `url` string — URL to download the csv report
    - `meta` ReportMeta — Metadata about the generated report
      - `title` string — Report title
      - `generatedOn` string, date-time — Date and time when the report was generated
      - `generatedBy` string — User who generated the report
      - `footerLine` string — Footer line for the report

## Other responses

- `400` — Bad request
- `401` — Not authenticated
- `403` — Not authorized
- `404` — Endpoint not found
- `500` — Internal server error

---

[API](https://skmtc.net/tight/apis/tight-api.md) · [All operations](https://skmtc.net/tight/apis/tight-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tight/tight-api/revisions/e9f0790a89af/schema)
