TAŇBA-OOH Developers

Money report - accrued, invoiced, paid and outstanding

GET /api/v1/billing/reports

https://app.tanba-ooh.kz/api/v1/billing/reports

Scope read:billing. Own organisation; the authority and the platform see all. accrued_* columns are plays and approvals without VAT, split into estimates (open periods) and closed periods; invoiced, paid and outstanding are issued documents and bank payments with VAT where the issuer charges it, and paid + outstanding = invoiced. Estimates are never added to issued documents.

Authentication

API key in the Authorization header, or a console session.

Scope: read:billing

Parameters

NameInTypeRequiredDescriptionExample
fromquerystringnoFirst month, YYYY-MM (default eleven months back).2025-11
toquerystringnoLast month, YYYY-MM (default the current month).2026-10

Responses

200 The report sections.

application/json

NameTypeRequiredDescriptionExample
fromstringyesFirst month of the report, YYYY-MM."2025-11"
tostringyesLast month of the report, YYYY-MM."2026-10"
monthsarray of objectyesAccrued, invoiced and paid amounts for each month.
by_issuerarray of objectyesAmounts for each issuer of documents.
by_payerarray of objectyesAmounts for each payer.
top_payersarray of objectyesThe payers with the largest amounts.
by_kindarray of objectyesAmounts for each kind of document.
by_districtarray of objectyesAmounts for each district.
overduearray of objectyesDocuments past their due date.
ageingarray of objectyesOutstanding amounts by age.
cash_calendararray of objectyesExpected payments by date.

Example

{
  "from": "2025-11",
  "to": "2026-10",
  "months": [
    {}
  ],
  "by_issuer": [
    {}
  ],
  "by_payer": [
    {}
  ],
  "top_payers": [
    {}
  ],
  "by_kind": [
    {}
  ],
  "by_district": [
    {}
  ],
  "overdue": [
    {}
  ],
  "ageing": [
    {}
  ],
  "cash_calendar": [
    {}
  ]
}

Errors

Errors are problem documents (application/problem+json) with a stable code.

StatusMeaning
401No valid session or API key (unauthenticated, session_expired, invalid_api_key).
403The role or the key's scope does not allow this (forbidden, key_scope_denied, key_route_denied).
422Field errors (validation_failed).
defaultAn error as a problem document.

Code samples

curl

curl 'https://app.tanba-ooh.kz/api/v1/billing/reports' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Python
import requests

response = requests.get(
    "https://app.tanba-ooh.kz/api/v1/billing/reports",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
    },
)
print(response.status_code, response.text)
Go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest("GET", "https://app.tanba-ooh.kz/api/v1/billing/reports", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	data, _ := io.ReadAll(resp.Body)
	fmt.Println(resp.Status, string(data))
}