---
title: "Get or recompute the VAT clearing report of a company for a given period."
method: POST
path: "/core/latest/vat-clearing-reports/{year}/{quarter}"
tags: ["Accounting"]
deprecated: true
---

# Get or recompute the VAT clearing report of a company for a given period.

`POST /core/latest/vat-clearing-reports/{year}/{quarter}`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/core/latest/vat-clearing-reports/{year}/{quarter}`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

> **Deprecated.**

This operation remains available until <b>2027-08-14</b> and is removed after that date. Use <code>POST /core/v1/vat-clearing-reports/{year}/{quarter}</code> instead.<br/><br/>Returns the VAT clearing report of the caller's company for the requested calendar <code>year</code> and reporting <code>quarter</code> (quarter, semester or yearly). When <code>recalculate=true</code> the report is recomputed from the current bookings and the stored <code>CALCULATED</code> snapshot is rewritten before being returned; this is why the operation uses <code>POST</code> rather than <code>GET</code>. When <code>recalculate=false</code> the latest <code>CALCULATED</code> snapshot is returned as-is, or — if only a <code>SEALED</code> snapshot exists — that one. The caller must hold the <code>ACCOUNTING</code> permission on the targeted company.

## Path parameters

- `quarter` 'Q1' | 'Q2' | 'Q3' | 'Q4' | 'S1' | 'S2' | 'YEAR_NET_TAX_RATE' | 'YEAR_EFFECTIVE', required: Reporting period of a VAT clearing report.
- `year` integer, required

## Query parameters

- `recalculate` boolean

## Headers

- `Accept-Language` string

## Response `200`

The VAT clearing report.

- VatClearingReport: VAT clearing report of a company for a given reporting period.
  - `id` integer: Internal id of the report.
  - `codeBoxes` VatClearingReportCodeBox[]: Code boxes that compose the VAT statement.
    - `id` integer: Internal id of the code box.
    - `code` string: Code of the box on the VAT statement.
    - `value` number: Computed amount of the box.
    - `description` string: Localized description of the box.
    - `editable` boolean: Whether the value of this box is editable by the user.
    - `editableDescription` boolean: Whether the description of this box is editable by the user.
    - `rate` number: VAT rate applied to this code box, in percent.
  - `status` 'CALCULATED' | 'SEALED': Current status of the report.
  - `year` integer: Calendar year of the reporting period.
  - `period` 'Q1' | 'Q2' | 'Q3' | 'Q4' | 'S1' | 'S2' | 'YEAR_NET_TAX_RATE' | 'YEAR_EFFECTIVE': Reporting period within the year.
  - `correctionCount` integer: Number of booking corrections detected versus the sealed snapshot.
  - `formerVatRateReleaseDate` string, date: Release date of the former VAT rates that still apply to a part of the period.
  - `newVatRatesReleased` boolean: Whether new VAT rates have been released and apply to part of the period.
  - `periodFrom` string, date: Start date of the reporting period.
  - `periodTo` string, date: End date of the reporting period.

## Other responses

- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `403`: The current user is not allowed to access this company data<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `404`: Resource not found<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `410`: Gone. This operation is removed after 2027-08-14; every call after that date answers 410. Use <code>POST /core/v1/vat-clearing-reports/{year}/{quarter}</code> instead.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `429`: API rate limit exceeded<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `500`: Something went wrong on our side while processing the request. Please kindly contact our support.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

[API](https://skmtc.dev/klara/apis/klara-public-api.md) · [All operations](https://skmtc.dev/klara/apis/klara-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/klara/apis/klara-public-api/revisions/490b1a879fc2?raw)
