---
title: "How we check the app’s calculations | Teilo"
description: "Rules checked against the wording of the statutes, 29 test cases from published sources, 400 random cases against an independent recalculation, and the limits."
canonical_url: "https://teilo-app.de/en/how-we-check"
meta:
  "og:description": "Rules checked against the wording of the statutes, 29 test cases from published sources, 400 random cases against an independent recalculation, and the limits."
  "og:image": "https://teilo-app.de/_og/s/o_f002025ae1c9cf6e.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "How we check the app’s calculations | Teilo"
  "twitter:image": "https://teilo-app.de/_og/s/o_f002025ae1c9cf6e.png"
---

> Index of every page on this site: [llms.txt](https://teilo-app.de/llms.txt)

# How we check the calculations

The home page says the calculation rules of Teilo are checked against the statutes. This page describes what was done, what was found and fixed, and what the checks do not prove. As of 11.11.2026.

## 1. Rules checked against the wording

Every calculation rule is assigned to a provision: § 556 and § 556a BGB, the Operating Costs Ordinance (Betriebskostenverordnung, BetrKV), the Heating Costs Ordinance (Heizkostenverordnung, HeizkV), the Carbon Dioxide Cost Allocation Act (CO2KostAufG) and § 35a EStG. The wording was read on gesetze-im-internet.de on 10.11.2026; § 556 BGB and the central provisions of the HeizkV were read again on 11.11.2026. Where the wording leaves a question open, the app takes the stricter reading or warns, and the question is noted as open.

## 2. 29 test cases with known results

21 of them use figures from published sources, among them worked examples from the German Tenants’ Association (Deutscher Mieterbund), metering companies (ista, Techem), Finanztip, a Bundestag paper, the consumer advice centre of North Rhine-Westphalia, the Berlin tenants’ association, a Federal Court of Justice (BGH) case and the demo of a competing product. 8 are derived from the wording of the law, a letter from the Federal Ministry of Finance or a commentary, for example the thresholds of the CO2 tiers.

Apart from rounding differences, errors in the sources and two questions of interpretation, all cases confirm the calculation, after one error found this way had been fixed (see 5). With the competitor’s demo, the app reaches the same amounts to the cent in all 12 lines.

## 3. 400 random cases against an independent recalculation

A separate reference calculation works day by day with exact fractions and uses no code of the app’s calculation core. 400 generated cases (2 to 5 flats, changes of tenant, vacancy, all allocation keys, heating with hot water, CO2 and meter failures) produced 16,581 individual items. Each item is less than one cent away from the exact value, and all totals match to the cent. Two deliberately planted errors were found immediately.

## 4. The letter checked by machine

A test reads every number back from the text of the letter to the tenant. Every line can be recalculated to within one cent from the printed figures, and totals, advance payments and balance agree everywhere. One exception: in the heating block the hot water share is shown as a rounded percentage; the euro amounts next to it are what counts.

## 5. What was found and fixed

- § 35a EStG with heating costs: the labour costs were wrongly reduced by the landlord’s CO2 share (example: 275,00 € instead of 300,00 €). Fixed on 11.11.2026.
- Letter: with degree-day shares, 60 of 13,094 lines could not be recalculated to one cent from the printed figures (up to 2,31 cents), because the shares were shown with too few decimal places. Fixed on 11.11.2026.

## 6. Open questions of interpretation

- Whether § 193 BGB (deadline ending on a weekend or public holiday) applies to the deadline for the statement. The app does not move the deadline and is therefore stricter.
- How the CO2 tier thresholds are shortened for billing periods under one year (by days or by months). At a tier boundary this can give a different tier.
- How vacancy is counted when costs are split by number of occupants. The app counts one person per vacant flat.

These and further open points are documented in the project; the app does not hide them.

## 7. What this does not prove

- It is not a legal review. No lawyer has checked the rules or the texts.
- The reference calculation and the app come from the same hand and rest on the same reading of the rules. If that reading is wrong, both get the same wrong result. The published examples cover this only for the cases listed above.
- Some court decisions were only checked via secondary sources, not in the full text.
- The app does not know your tenancy agreement. Special terms and individual cases are outside what it can check.

As of 11.11.2026

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://teilo-app.de/en#website","@type":"WebSite","description":"Utility statement (Nebenkostenabrechnung) app for private landlords in Germany. No account, your data stays on your device.","inLanguage":"en-GB","name":"Teilo","url":"https://teilo-app.de/en","publisher":{"@id":"https://teilo-app.de/#identity"},"translationOfWork":{"@id":"https://teilo-app.de/#website"}},{"@id":"https://teilo-app.de/en/how-we-check#webpage","@type":"WebPage","description":"Rules checked against the wording of the statutes, 29 test cases from published sources, 400 random cases against an independent recalculation, and the limits.","name":"How we check the app’s calculations","url":"https://teilo-app.de/en/how-we-check","breadcrumb":{"@id":"https://teilo-app.de/en/how-we-check#breadcrumb"},"isPartOf":{"@id":"https://teilo-app.de/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://teilo-app.de/en/how-we-check"]}],"primaryImageOfPage":{"@id":"https://teilo-app.de/#logo"}},{"@id":"https://teilo-app.de/#identity","@type":"Organization","email":"hi@pek.dev","name":"Teilo","url":"https://teilo-app.de","founder":{"@id":"https://teilo-app.de/ueber-teilo#person"},"logo":{"@id":"https://teilo-app.de/#logo"}},{"@id":"https://teilo-app.de/ueber-teilo#person","@type":"Person","jobTitle":"Software architect","name":"Patrick Engels-Kolodziej","url":"https://pek.dev","sameAs":["https://pek.dev"]},{"@id":"https://teilo-app.de/en/how-we-check#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://teilo-app.de/en","position":1},{"@type":"ListItem","name":"How we check the calculations","item":"https://teilo-app.de/en/how-we-check","position":2}]},{"@id":"https://teilo-app.de/#logo","@type":"ImageObject","caption":"Teilo","contentUrl":"https://teilo-app.de/icon-512.png","inLanguage":"en-GB","url":"https://teilo-app.de/icon-512.png"}]}
```

## Sitemap

See the full [sitemap](https://teilo-app.de/sitemap.md) for all pages.
