> For the complete documentation index, see [llms.txt](https://docs.kick.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kick.co/api/api-reference/reports.md).

# Reports

Every report covers a single entity over a single date range, so each endpoint is nested under the entity uuid and takes `startDate` and `endDate` as required, inclusive calendar days. `ledgerBasis` selects the ledger and defaults to `cash`; reading the accrual ledger means opening it first through [Ledgers](/api/api-reference/ledgers.md).

| Report          | What it returns                                                                                                      |
| --------------- | -------------------------------------------------------------------------------------------------------------------- |
| Profit and loss | Sections with their total and account lines                                                                          |
| Balance sheet   | Sections with their total and account lines, balances as of `endDate`                                                |
| Cash flow       | Indirect-method sections plus a summary of operating, investing, and financing totals with beginning and ending cash |
| Trial balance   | One row per account with its debit and credit, plus the totals                                                       |
| General ledger  | Every ledger posting grouped by account, with opening and closing balances                                           |

The general ledger is the one report that spans posting types: its entries carry a `sourceType`, so bank transactions, bills, invoices, opening balances, and manual entries can be told apart. [Journal Entries](/api/api-reference/journal-entries.md) covers the manual entries alone.

### Grouping the range into columns

`groupBy` splits the requested range into `week`, `month`, `quarter`, or `year` columns. It defaults to `total`, a single column covering the whole range. The general ledger lists individual dated postings rather than period aggregates, so it is the one report that does not take the parameter.

Grouping does not change the response shape. `periods` always lists at least one date range, and every `...ByPeriod` array lines up with it one for one, so the same parsing code handles a grouped and an ungrouped report. Alongside those arrays each amount keeps its whole-range scalar.

What that scalar means depends on the report. Profit and loss and cash flow measure flow, so it is the sum of the columns. Balance sheet and trial balance measure position, and their columns are balances as of the end of each period, so it is the last column rather than the sum of them.

## Retrieve a profit and loss report

> Returns the entity's profit and loss for the period between \`startDate\` and \`endDate\` (inclusive), on the basis given by \`ledgerBasis\`. Each section carries its total and its account lines, already flattened out of the nested report groups.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}/reports/profit-and-loss":{"get":{"description":"Returns the entity's profit and loss for the period between `startDate` and `endDate` (inclusive), on the basis given by `ledgerBasis`. Each section carries its total and its account lines, already flattened out of the nested report groups.","operationId":"reports.profitAndLoss","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"ledgerBasis","schema":{"default":"cash","enum":["cash","accruals"],"type":"string"}},{"in":"query","name":"groupBy","schema":{"default":"total","enum":["total","week","month","quarter","year"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"report":{"properties":{"endDate":{"type":"string"},"entityId":{"format":"uuid","type":"string"},"groupBy":{"enum":["total","week","month","quarter","year"],"type":"string"},"ledgerBasis":{"enum":["cash","accruals"],"type":"string"},"periods":{"items":{"properties":{"endDate":{"type":"string"},"startDate":{"type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"sections":{"items":{"properties":{"lines":{"items":{"properties":{"accountCode":{"nullable":true,"type":"string"},"accountName":{"type":"string"},"amount":{"type":"number"},"amountsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["accountCode","accountName","amount","amountsByPeriod"],"type":"object"},"type":"array"},"section":{"enum":["income","cogs","grossProfit","expenses","netOperatingIncome","otherIncome","otherExpenses","netOtherIncome","netIncome","cashBalance"],"type":"string"},"total":{"type":"number"},"totalsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["section","total","totalsByPeriod","lines"],"type":"object"},"type":"array"},"startDate":{"type":"string"}},"required":["entityId","startDate","endDate","ledgerBasis","groupBy","periods","sections"],"type":"object"}},"required":["report"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a profit and loss report","tags":["reports"]}}}}
```

## Retrieve a balance sheet report

> Returns the entity's balance sheet on the basis given by \`ledgerBasis\`. Balances are as of \`endDate\`; \`startDate\` only bounds the reported activity.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}/reports/balance-sheet":{"get":{"description":"Returns the entity's balance sheet on the basis given by `ledgerBasis`. Balances are as of `endDate`; `startDate` only bounds the reported activity.","operationId":"reports.balanceSheet","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"ledgerBasis","schema":{"default":"cash","enum":["cash","accruals"],"type":"string"}},{"in":"query","name":"groupBy","schema":{"default":"total","enum":["total","week","month","quarter","year"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"report":{"properties":{"endDate":{"type":"string"},"entityId":{"format":"uuid","type":"string"},"groupBy":{"enum":["total","week","month","quarter","year"],"type":"string"},"ledgerBasis":{"enum":["cash","accruals"],"type":"string"},"periods":{"items":{"properties":{"endDate":{"type":"string"},"startDate":{"type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"sections":{"items":{"properties":{"label":{"type":"string"},"lines":{"items":{"properties":{"accountCode":{"nullable":true,"type":"string"},"accountName":{"type":"string"},"amount":{"type":"number"},"amountsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["accountCode","accountName","amount","amountsByPeriod"],"type":"object"},"type":"array"},"total":{"type":"number"},"totalsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["label","total","totalsByPeriod","lines"],"type":"object"},"type":"array"},"startDate":{"type":"string"}},"required":["entityId","startDate","endDate","ledgerBasis","groupBy","periods","sections"],"type":"object"}},"required":["report"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a balance sheet report","tags":["reports"]}}}}
```

## Retrieve a cash flow report

> Returns the entity's indirect-method cash flow statement for the period, alongside a summary holding the operating, investing and financing totals, the net change in cash, and the beginning and ending cash balances.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}/reports/cash-flow":{"get":{"description":"Returns the entity's indirect-method cash flow statement for the period, alongside a summary holding the operating, investing and financing totals, the net change in cash, and the beginning and ending cash balances.","operationId":"reports.cashFlow","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"ledgerBasis","schema":{"default":"cash","enum":["cash","accruals"],"type":"string"}},{"in":"query","name":"groupBy","schema":{"default":"total","enum":["total","week","month","quarter","year"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"report":{"properties":{"endDate":{"type":"string"},"entityId":{"format":"uuid","type":"string"},"groupBy":{"enum":["total","week","month","quarter","year"],"type":"string"},"ledgerBasis":{"enum":["cash","accruals"],"type":"string"},"periods":{"items":{"properties":{"endDate":{"type":"string"},"startDate":{"type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"sections":{"items":{"properties":{"lines":{"items":{"properties":{"accountCode":{"nullable":true,"type":"string"},"accountName":{"type":"string"},"amount":{"type":"number"},"amountsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["accountCode","accountName","amount","amountsByPeriod"],"type":"object"},"type":"array"},"section":{"enum":["Operating","Investing","Financing"],"type":"string"},"total":{"type":"number"},"totalsByPeriod":{"items":{"type":"number"},"type":"array"}},"required":["section","total","totalsByPeriod","lines"],"type":"object"},"type":"array"},"startDate":{"type":"string"},"summary":{"properties":{"beginningCashBalance":{"type":"number"},"endingCashBalance":{"type":"number"},"financingActivities":{"type":"number"},"investingActivities":{"type":"number"},"netCashChange":{"type":"number"},"operatingActivities":{"type":"number"}},"required":["operatingActivities","investingActivities","financingActivities","netCashChange","beginningCashBalance","endingCashBalance"],"type":"object"},"summaryByPeriod":{"items":{"properties":{"beginningCashBalance":{"type":"number"},"endingCashBalance":{"type":"number"},"financingActivities":{"type":"number"},"investingActivities":{"type":"number"},"netCashChange":{"type":"number"},"operatingActivities":{"type":"number"}},"required":["operatingActivities","investingActivities","financingActivities","netCashChange","beginningCashBalance","endingCashBalance"],"type":"object"},"type":"array"}},"required":["entityId","startDate","endDate","ledgerBasis","groupBy","periods","sections","summary","summaryByPeriod"],"type":"object"}},"required":["report"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a cash flow report","tags":["reports"]}}}}
```

## Retrieve a trial balance report

> Returns the entity's trial balance for the period: one row per account with its debit and credit, plus the debit and credit totals across every row.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}/reports/trial-balance":{"get":{"description":"Returns the entity's trial balance for the period: one row per account with its debit and credit, plus the debit and credit totals across every row.","operationId":"reports.trialBalance","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"ledgerBasis","schema":{"default":"cash","enum":["cash","accruals"],"type":"string"}},{"in":"query","name":"groupBy","schema":{"default":"total","enum":["total","week","month","quarter","year"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"report":{"properties":{"endDate":{"type":"string"},"entityId":{"format":"uuid","type":"string"},"groupBy":{"enum":["total","week","month","quarter","year"],"type":"string"},"ledgerBasis":{"enum":["cash","accruals"],"type":"string"},"periods":{"items":{"properties":{"endDate":{"type":"string"},"startDate":{"type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"rows":{"items":{"properties":{"accountCode":{"nullable":true,"type":"string"},"accountName":{"type":"string"},"amountsByPeriod":{"items":{"properties":{"credit":{"type":"number"},"debit":{"type":"number"}},"required":["debit","credit"],"type":"object"},"type":"array"},"credit":{"type":"number"},"debit":{"type":"number"}},"required":["accountCode","accountName","debit","credit","amountsByPeriod"],"type":"object"},"type":"array"},"startDate":{"type":"string"},"totals":{"properties":{"credit":{"type":"number"},"debit":{"type":"number"}},"required":["debit","credit"],"type":"object"},"totalsByPeriod":{"items":{"properties":{"credit":{"type":"number"},"debit":{"type":"number"}},"required":["debit","credit"],"type":"object"},"type":"array"}},"required":["entityId","startDate","endDate","ledgerBasis","groupBy","periods","rows","totals","totalsByPeriod"],"type":"object"}},"required":["report"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a trial balance report","tags":["reports"]}}}}
```

## Retrieve a general ledger report

> Returns every ledger posting of the entity for the period, grouped by account with its opening and closing balance. Unlike the manual journal entries surface, entries here carry a mix of source types, so \`sourceType\` is meaningful per line.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/entities/{entityId}/reports/general-ledger":{"get":{"description":"Returns every ledger posting of the entity for the period, grouped by account with its opening and closing balance. Unlike the manual journal entries surface, entries here carry a mix of source types, so `sourceType` is meaningful per line.","operationId":"reports.generalLedger","parameters":[{"in":"path","name":"entityId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"startDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"endDate","required":true,"schema":{"type":"string"}},{"in":"query","name":"ledgerBasis","schema":{"default":"cash","enum":["cash","accruals"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"report":{"properties":{"accounts":{"items":{"properties":{"accountCode":{"type":"integer"},"accountId":{"format":"uuid","type":"string"},"accountName":{"type":"string"},"closingBalance":{"type":"number"},"entries":{"items":{"properties":{"balance":{"type":"number"},"counterpartyName":{"nullable":true,"type":"string"},"creditAmount":{"type":"number"},"date":{"format":"date-time","type":"string"},"debitAmount":{"type":"number"},"description":{"type":"string"},"journalEntryId":{"format":"uuid","type":"string"},"memo":{"nullable":true,"type":"string"},"sourceType":{"enum":["transaction","manual_journal_entry","opening_balance","loan","bill","invoice"],"type":"string"}},"required":["journalEntryId","date","description","memo","debitAmount","creditAmount","balance","sourceType","counterpartyName"],"type":"object"},"type":"array"},"openingBalance":{"type":"number"}},"required":["accountId","accountCode","accountName","openingBalance","closingBalance","entries"],"type":"object"},"type":"array"},"endDate":{"type":"string"},"entityId":{"format":"uuid","type":"string"},"ledgerBasis":{"enum":["cash","accruals"],"type":"string"},"startDate":{"type":"string"}},"required":["entityId","startDate","endDate","ledgerBasis","accounts"],"type":"object"}},"required":["report"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a general ledger report","tags":["reports"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kick.co/api/api-reference/reports.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
