Skip to main content

Scheinfirmen Österreich

CI Daten Aktualisieren PyPI

Automatischer Download und Konvertierung der österreichischen BMF Scheinfirmenliste (Liste der Scheinunternehmen) in maschinenlesbare Formate.

[!NOTE] Die Daten werden täglich um ca. 3:15 Uhr früh (MEZ) automatisch aktualisiert. Siehe Statistik & neueste Einträge für den neuesten Stand.

[!WARNING] Haftungsausschluss: Dieses Projekt ist ein inoffizieller, automatisierter Spiegel der BMF-Scheinfirmenliste und steht in keiner Verbindung zum Bundesministerium für Finanzen (BMF) Österreich. Die Daten werden ohne jegliche Gewähr bereitgestellt. Weder die Vollständigkeit, Richtigkeit noch die Aktualität der Daten wird garantiert. Die offizielle und rechtsverbindliche Quelle ist ausschließlich die BMF-Website unter https://service.bmf.gv.at/service/allg/lsu/ — diese ist bei rechtlich relevanten Entscheidungen zu verwenden. Jegliche Haftung für Schäden, die aus der Verwendung dieser Daten entstehen, wird ausgeschlossen.

Datenquelle

Das österreichische Bundesministerium für Finanzen (BMF) veröffentlicht eine Liste von Scheinunternehmen (Unternehmen, die für Steuerbetrug oder andere illegale Aktivitäten missbraucht werden) unter:

Die Daten stehen unter den Nutzungsbedingungen des BMF.

Output-Dateien

Die konvertierten und täglich aktualisierten Daten befinden sich im data/ Verzeichnis:

Datei Format Beschreibung
scheinfirmen.csv CSV (UTF-8 mit BOM) Komma-getrennt, Excel-kompatibel (CSVW)
scheinfirmen.jsonl JSONL Eine JSON-Zeile pro Eintrag, erste Zeile Metadaten (Schema)
scheinfirmen.xml XML <scheinfirma>-Elemente mit Attributen (XSD)
STATS.md Markdown Statistiken, neue Einträge und Verlauf

Datenfelder

Feld Typ Beschreibung
name String Name des Unternehmens oder der natürlichen Person
anschrift String Adresse (PLZ Ort, Straße Nr)
veroeffentlicht Datum Veröffentlichungsdatum (ISO 8601)
rechtskraeftig Datum Datum der Rechtskraft des Bescheids (ISO 8601)
seit Datum|null Zeitpunkt als Scheinunternehmen (ISO 8601)
geburtsdatum Datum|null Geburtsdatum (nur bei natürlichen Personen)
fbnr String|null Firmenbuchnummer (z.B. 597821z)
uid String|null UID-Nummer (z.B. ATU79209223)
kennziffer String|null Kennziffer des Unternehmensregisters

Alle Datumsfelder sind im ISO-8601-Format (YYYY-MM-DD).

Voraussetzungen

Dieses Projekt verwendet uv für das Paket- und Dependency-Management. Falls Sie uv noch nicht installiert haben, wird dies empfohlen:

# Installation unter macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Installation unter Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Ausführliche Informationen finden Sie in der uv-Dokumentation.

Direkte Ausführung (ohne Installation)

uvx scheinfirmen-at@latest -o data/

Lädt das Paket von PyPI, führt es aus und cached es lokal — kein manuelles Installieren nötig (analog zu npx).

Installation

pip install scheinfirmen-at
# oder mit uv:
uv add scheinfirmen-at
# oder als dauerhaftes CLI-Tool:
uv tool install scheinfirmen-at

Verwendung

Kommandozeile

# Aktuelle Daten herunterladen und in data/ konvertieren
scheinfirmen-at -o data/

# Mit ausführlicher Ausgabe
scheinfirmen-at -o data/ -v

# Lokale Datei konvertieren (kein Download)
scheinfirmen-at --input rohdaten.csv -o output/

# Hilfe
scheinfirmen-at --help

Python API

from scheinfirmen_at import download_csv, parse_bmf_csv, validate_records
from scheinfirmen_at.convert import write_csv, write_jsonl, write_xml

# Herunterladen und parsen
raw = download_csv()
result = parse_bmf_csv(raw)

# Validieren
validation = validate_records(result)
if not validation.ok:
    for err in validation.errors:
        print(f"Fehler: {err}")

# Ausgabe schreiben
write_csv(result, "scheinfirmen.csv")
write_jsonl(result, "scheinfirmen.jsonl")
write_xml(result, "scheinfirmen.xml")

# Zugriff auf einzelne Einträge
for rec in result.records:
    print(rec.name, rec.uid)

Entwicklung

# Repository klonen
git clone https://github.com/arjoma/scheinfirmen-at.git
cd scheinfirmen-oesterreich

# Abhängigkeiten installieren (uv)
uv sync

# Tests ausführen
uv run pytest tests/ -v

# Lint
uv run ruff check src/ tests/

# Type-Check
uv run mypy src/

Siehe CHANGELOG.md für die Versionshistorie.

Auto-Korrektur fehlplatzierter Felder

Die BMF-Liste wird manuell gepflegt und enthält gelegentlich Tippfehler in den Feldern UID-Nr., Firmenbuch-Nr und Kennziffer des UR. Vor der Validierung erkennt das Tool diese Muster und korrigiert sie automatisch (mit Warnung im Log), damit nachgelagerte Tools (z. B. Lookups nach UID) konsistente Daten erhalten:

Regel Beispiel (BMF-Eingabe) Korrektur
UID ↔ Kennziffer tauschen uid="R134I594W", kennziffer="" → uid=null, kennziffer="R134I594W"
Doppelten UID-Wert in Kennziffer löschen uid="ATU80457319", kennziffer="ATU80457319" → kennziffer=null
Doppelten Firmenbuch-Wert in Kennziffer löschen fbnr="636821b", kennziffer="636821b" → kennziffer=null
Ausländische EU-VAT-Nummer in UID übernehmen kennziffer="RO38488384", uid=null → uid="RO38488384", kennziffer=null

Erkannte Fixe werden mit WARNING: NORMALIZE: … ins Log geschrieben. Die UID-Spalte wird auch für Nicht-AT-VAT-Nummern offen gehalten (rumänische, deutsche etc.), da die Firmen trotzdem als Scheinfirmen geführt werden und in nachgelagerten Tools per UID auffindbar sein sollen.

Technische Details

  • Abhängigkeiten: Keine (reines Python stdlib, >= 3.10)
  • Quell-Encoding: ISO-8859-1 (Tilde-getrennt, CRLF)
  • Output-Encoding: UTF-8 (CSV mit BOM für Excel-Kompatibilität)
  • Validierung: Strenge Feldvalidierung mit Fehlern und Warnungen
  • Daten-Reparatur: Auto-Korrektur fehlplatzierter UID/Kennziffer/Firmenbuch-Werte (siehe oben)
  • Schema-Prüfung: Automatische Validierung gegen XSD (XML) und JSON Schema (JSONL)
  • Verifizierung: Kreuz-Format-Prüfung (alle Formate müssen gleiche Zeilenanzahl haben)

Lizenz

Apache License 2.0 — siehe LICENSE

Die Scheinfirmenliste selbst ist eine öffentliche Verwaltungsinformation des BMF Österreich.

Metadata

Release files for scheinfirmen-at 1.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scheinfirmen-at 1.5.2
File Size Uploaded
scheinfirmen_at-1.5.2.tar.gz 296.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scheinfirmen-at 1.5.2
File Interpreter ABI Platform
scheinfirmen_at-1.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 325.3 kB

Release files / scheinfirmen_at-1.5.2.tar.gz

Download URL scheinfirmen_at-1.5.2.tar.gz
Size 296.5 kB
Tags Source
SHA-256 checksum
How to use checksums
19efe625c5bd4f089dec60a5fbe1f4f3c3cb5cf0e88252c105a636308704b50a
BLAKE2b-256 checksum
How to use checksums
6579f6f6d18e217dda3acb9b27c02711c802700c37c536d7205f4d80bddc3d97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.

Transparency log

Release files / scheinfirmen_at-1.5.2-py3-none-any.whl

Download URL scheinfirmen_at-1.5.2-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
852621801ba4331637b465394e6660c26966bd4bc6ef0c59064a7e457f1fdcf6
BLAKE2b-256 checksum
How to use checksums
22ff69d5a1fd72ea75a6c7450a51655c08180ab6be3b757d1301c63733a53a84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.5.2 This release

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page