---
title: "Get Journal Xlsx"
method: GET
path: "/companies/{company_id}/gl/journal.xlsx"
tags: ["reporting"]
---

# Get Journal Xlsx

`GET /companies/{company_id}/gl/journal.xlsx`

## 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/journal.xlsx`
- Auth: none declared

The Buchungsjournal of one fiscal year (or one of its periods) as an ``.xlsx``
(CompanyMember, ZET-443).

Every posted (and reversed) journal line, all accounts, in date order — the journal a
tax office or auditor asks for at year end. A stateless read like its siblings: it
records no export and posts nothing (the ERP hand-over with an export ledger is
process 20's ``export_journal``, a different thing).

``fiscal_year_id`` is **required**: a document must name the year it reports
(``annual_report.py``). It cuts the same lines as the Journal screen's ``period_ids``
(ZET-285): a line's ``(fiscal_year_id, period_id)`` is a composite foreign key, so a
year's lines are exactly the lines of its periods. 404 when the year is not this
company's; 422 when ``period_id`` is not a period of that year (another company's
period answers the same). Refused past :data:`MAX_EXPORT_ROWS` lines rather than
truncated.

## Path parameters

- `company_id` string, required

## Query parameters

- `fiscal_year_id` string, required
- `period_id` string, nullable

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- unknown

## 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)
