---
title: "Settled, outstanding and projected cash flow bucketed over a period"
method: GET
path: "/v1/statistics/cashflowbyperiodicity"
tags: ["Statistics"]
---

# Settled, outstanding and projected cash flow bucketed over a period

`GET /v1/statistics/cashflowbyperiodicity`

## Request

- Base URL: `https://api.altoviz.com`
- URL: `https://api.altoviz.com/v1/statistics/cashflowbyperiodicity`
- Auth: none required
- TypeScript: <https://skmtc.dev/altoviz/apis/altoviz-api/docs/v1/statistics/cashflowbyperiodicity/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `from` string, date
- `to` string, date
- `year` integer
- `periodicity` 'Daily' | 'Weekly' | 'Monthly' | 'Quarterly' | 'Annually'
- `cumulative` boolean

## Response `200`

OK

- CashFlowResult: Cash flow bucketed over a period: what was settled, what is still outstanding, and the two added together. Every list shares the same buckets, so index N is the same period throughout.
  - `expenses` PeriodBucketModel[], nullable: Amounts actually paid out
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `periodicity` 'Daily' | 'Weekly' | 'Monthly' | 'Quarterly' | 'Annually'
  - `profits` PeriodBucketModel[], nullable: Receipts minus expenses
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `projectedExpenses` PeriodBucketModel[], nullable: Paid plus still outstanding
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `projectedProfits` PeriodBucketModel[], nullable: Projected receipts minus projected expenses
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `projectedReceipts` PeriodBucketModel[], nullable: Received plus still outstanding
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `range` DateRangeModel: An inclusive date range
    - `from` string, date: First day of the period
    - `to` string, date: Last day of the period, included
  - `receipts` PeriodBucketModel[], nullable: Amounts actually received
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `unpaidExpenses` PeriodBucketModel[], nullable: Payables still outstanding
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `unpaidProfits` PeriodBucketModel[], nullable: Outstanding receivables minus outstanding payables
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)
  - `unpaidReceipts` PeriodBucketModel[], nullable: Receivables still outstanding
    - `partial` boolean: True when the calendar period was clipped by the requested range, so the bucket holds less than a full month/quarter/week of activity and must not be compared at face value.
    - `range` DateRangeModel: An inclusive date range
      - `from` string, date: First day of the period
      - `to` string, date: Last day of the period, included
    - `value` number, double: Amount (tax excluded)

## Changes

- **2026-09-14** `4f7fa64cf9e3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/altoviz/apis/altoviz-api/changes/v1/statistics/cashflowbyperiodicity/get.md)

---

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