---
title: "Gl Subledger Control Reconcile"
method: GET
path: "/companies/{company_id}/gl/reports/subledger-control"
tags: ["gl-actions"]
---

# Gl Subledger Control Reconcile

`GET /companies/{company_id}/gl/reports/subledger-control`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/companies/{company_id}/gl/reports/subledger-control`
- Auth: none declared

AR/AP open items vs their GL control accounts, per direction (ZET-150).

The control-account agreement check the product was missing: the open-item
subledger and its control account could drift arbitrarily far apart with nothing
noticing, because debit-equals-credit cannot detect it — the GL stays internally
consistent while every subledger consumer (aging, customer statements, dunning)
goes wrong with it.

Each row carries the GL balance, the subledger total, their difference, and the
postings that moved the control account **without** settling an open item —
ranked by size, across fiscal years, with opening entries excluded (they are
untagged by design). ``fiscal_year`` defaults to the latest year the company has posted
in (else its newest year); ``as_of`` defaults to ``min(fiscal year end, today)``.

## Path parameters

- `company_id` string, required

## Query parameters

- `fiscal_year` integer, nullable
- `as_of` string, date, nullable

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- GlSubledgerControlOut: AR/AP open items vs their GL control accounts, per direction (ZET-150).
  - `fiscal_year` integer, nullable
  - `as_of` string, date, nullable
  - `year_opened` boolean
  - `reconciled` boolean
  - `status` string, required
  - `lines` GlSubledgerControlLineOut[]
    - `direction` string, required
    - `control_account_code` string, nullable
    - `control_account_id` string, nullable
    - `gl_balance` string, required
    - `subledger_total` string, required
    - `difference` string, required
    - `opening_component` string
    - `unexplained` string
    - `subledger_open_total` string, required
    - `overpaid_total` string, required
    - `open_item_count` integer, required
    - `untagged_line_count` integer, required
    - `untagged_line_total` string, required
    - `untagged_override_entries` integer, required
    - `status` string, required
    - `entries` GlSubledgerControlEntryOut[]
      - `journal_entry_id` string, required
      - `entry_no` integer, nullable
      - `posting_date` string, date, required
      - `entry_type` string, required
      - `description` string, nullable
      - `amount` string, required
      - `untagged_subledger_control` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
