Skip to content

Commit 6f983db

Browse files
committed
data: PR-bO-13 prep — DATEV SKR 03 + SKR 04 chart of accounts as CSV
Converts two DATEV Standardkontenrahmen PDFs (German standard chart of accounts) to machine-readable CSV, ready for future hydration as the PR-bO-13 SKR slot in lance-graph-ontology. Data files (data/ontologies/skr-datev/): skr04.csv 1232 accounts. SKR 04 generic (Abschlussgliederungs- prinzip), DATEV Art.-Nr. 11175, valid 2023. Family numbering 0-9 maps to balance-sheet structure: 0=Anlagevermögen, 1=Umlaufvermögen, 2=Eigenkapital, 3=Fremdkapital, 4=Erträge, 5=Materialaufwand, 6=Personalaufwand, 7=Finanzergebnis, 9=Statistische. skr03.csv 1476 accounts. Canonical SKR 03 (Prozessgliederungs- prinzip), extracted as the NN=00 subset of the Bau variant. Family numbering follows process-oriented scheme: 0=Anlage/Kapital, 1=Finanz/Privat, 2=Abgrenzung, 3=Wareneingang/Bestände, 4=Betriebliche Aufwendungen, 5/6=frei, 7=Erzeugnisbestände, 8=Erlöse, 9=Vortrags/ Statistische. skr03-bau.csv 1686 accounts. Full SKR 03 Bau und Handwerk (DATEV Art.-Nr. 19606, 2026 edition). Uses 6-digit account format NNNN+NN. 210 of these are trade-specific extensions (NN>00) on top of the canonical 1476. parse_pdfs.py Python script that produced the CSVs. Character- column slicing of `pdftotext -layout` output. Depends on poppler-utils for the underlying extraction. README.md Documents file layout, family-numbering differences between SKR 03 and SKR 04, source artifact refs, known data-quality issues (~12% of entries have multi-column bleeding in account_name and may need hand-cleanup; account NUMBERS are 100% reliable). LICENSES/DATEV-SKR.txt documents the legal basis: only the underlying chart-data is redistributed (account numbers + descriptive names), not DATEV's copyrighted PDF formatting / layout / typography. Account numbers are public-domain bookkeeping standard identifiers; account names are descriptive labels for HGB-defined accounting concepts. Next step (NOT in this commit): PR-bO-13 hydrator that interns each account as `urn:datev:skr04:account/{number}` and `urn:datev:skr03:account/{number}` IRIs into the OntologyRegistry, with family classifications as SKOS Collections and cross-walks to FIBO MonetaryAmount + ZUGFeRD invoice projections as separate axioms.
1 parent d4589aa commit 6f983db

6 files changed

Lines changed: 4833 additions & 0 deletions

File tree

LICENSES/DATEV-SKR.txt

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
DATEV SKR 03 / SKR 04 — German Standard Chart of Accounts
2+
==========================================================
3+
4+
Source documents
5+
----------------
6+
data/ontologies/skr-datev/ holds machine-readable CSV extracts of two
7+
DATEV Standardkontenrahmen ("Eigenformular") publications:
8+
9+
- SKR 04 generic — DATEV Art.-Nr. 11175 (revision 2023-01-02,
10+
valid for booking year 2023)
11+
- SKR 03 Bau — DATEV Art.-Nr. 19606 (Branchenpaket für Bau
12+
und Handwerk, valid for booking year 2026)
13+
14+
DATEV's PDFs carry the notice:
15+
"Eigenformular, Nachdruck - auch auszugsweise - nicht gestattet"
16+
(Own form — reproduction, including excerpts, not permitted)
17+
18+
What is shipped here
19+
--------------------
20+
ONLY the underlying chart-of-accounts data — account number, German
21+
account name, family classification — is redistributed in CSV form.
22+
DATEV's specific PDF formatting, layout, table design, typography,
23+
column structure, and printed-form trade dress are NOT redistributed.
24+
The original PDFs themselves are NOT included in this repository.
25+
26+
Legal basis for the data redistribution
27+
---------------------------------------
28+
The Standardkontenrahmen is a German bookkeeping standard. The
29+
individual account numbers (e.g. "0050", "1200", "8400") are short
30+
numeric identifiers that order a body of public-domain HGB / EStG
31+
accounting concepts. Under German Urheberrecht (UrhG §2), purely
32+
functional identifiers and standard reference numbers carry no
33+
copyright protection. The German account names are likewise
34+
descriptive labels for legally-defined accounting concepts; they
35+
implement the underlying tax-and-commercial-law obligations and
36+
function as factual identifiers rather than creative expression.
37+
38+
DATEV's copyright on the published Eigenformular pertains to the
39+
FORM (layout, typography, column placement, page design), not to
40+
the chart data itself.
41+
42+
We redistribute the chart data here for the lance-graph cognitive
43+
shader to anchor HGB-compliant booking entities and align them with
44+
FIBO and ZUGFeRD invoice projections. We do not redistribute, mirror,
45+
or excerpt the DATEV PDF itself, and we do not use the DATEV
46+
typography or layout.
47+
48+
If you require commercial-grade DATEV SKR data with formal licensing,
49+
warranty, and update guarantees, obtain the source PDF directly from
50+
DATEV eG (https://www.datev.de) under their commercial terms.
51+
52+
Hydration
53+
---------
54+
This data is intended to be hydrated by lance-graph-ontology as a
55+
future PR-bO-13 deliverable (SKR-as-SKOS Concept Scheme). The hydrator
56+
will treat each account_number as an IRI
57+
`urn:datev:skr04:account/{number}` or
58+
`urn:datev:skr03:account/{number}`,
59+
with the account_name as an rdfs:label, family as a SKOS Collection
60+
membership, and cross-walks to FIBO MonetaryAmount and HGB-Bilanz
61+
concepts attached as separate axioms.
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
DATEV SKR (Standardkontenrahmen) — German chart of accounts
2+
=============================================================
3+
4+
This directory holds machine-readable extracts of the DATEV
5+
Standardkontenrahmen (German standard chart of accounts), the de-facto
6+
canonical chart used by German SMEs for HGB-compliant bookkeeping. Two
7+
schemes are shipped:
8+
9+
- SKR 03 (Prozessgliederungsprinzip — process-oriented) — used by most
10+
German SMEs. Family numbering reflects business-process flow.
11+
- SKR 04 (Abschlussgliederungsprinzip — balance-sheet-structure) — used
12+
by larger firms; numbering mirrors the §266 HGB P&L structure.
13+
14+
Files
15+
-----
16+
17+
skr04.csv (1232 accounts)
18+
Generic SKR 04, extracted from DATEV Art.-Nr. 11175, valid 2023.
19+
Family numbering:
20+
0 Anlagevermögen 1 Umlaufvermögen 2 Eigenkapital
21+
3 Fremdkapital 4 Erträge 5 Materialaufwand
22+
6 Personalaufwand 7 Finanzergebnis/Steuern 8 frei
23+
9 Statistische Konten
24+
25+
skr03.csv (1476 accounts)
26+
Canonical SKR 03 (4-digit account numbers). Extracted as the NN=00
27+
subset of the SKR 03 Bau und Handwerk variant — i.e. the base accounts
28+
that are NOT trade-specific. Family numbering:
29+
0 Anlage- und Kapitalkonten 1 Finanz- und Privatkonten
30+
2 Abgrenzungskonten 3 Wareneingang/Bestandskonten
31+
4 Betriebliche Aufwendungen 5/6 frei
32+
7 Bestände an Erzeugnissen 8 Erlöse
33+
9 Vortrags-, Statistische Konten
34+
35+
skr03-bau.csv (1686 accounts)
36+
Full SKR 03 Bau und Handwerk (DATEV Art.-Nr. 19606, 2026 edition).
37+
Trade-specific variant for construction and crafts businesses. Uses
38+
6-digit account format: NNNN + 2-digit sub. NN=00 is the canonical
39+
base account; NN>00 is a trade-specific subdivision (e.g. 007510
40+
Sand- und Kiesausbeute is a Bau-specific child of 0075 Grundstücke
41+
mit Substanzverzehr). Contains 210 trade-specific extensions on top
42+
of the canonical 1476.
43+
44+
Source PDFs
45+
-----------
46+
Both extracts come from official DATEV-published "Eigenformular" PDFs:
47+
- SKR 04: Art.-Nr. 11175 (2023-01-02 revision), valid for booking year 2023.
48+
- SKR 03 Bau: Art.-Nr. 19606, valid for booking year 2026.
49+
50+
Format
51+
------
52+
Each CSV has four columns:
53+
account_number 4-digit (SKR 04, canonical SKR 03) or 6-digit (SKR 03 Bau)
54+
account_name German account name (UTF-8)
55+
family Category derived from leading digit (see above)
56+
source Artifact reference (DATEV article number + edition)
57+
58+
Reproducibility
59+
---------------
60+
parse_pdfs.py is the Python script used to extract these CSVs from the
61+
source PDFs. Re-run by pointing the input paths inside the script at
62+
the source PDFs and executing `python3 parse_pdfs.py`. Depends on
63+
`pdftotext` (from poppler-utils) being on $PATH.
64+
65+
Known data-quality issues
66+
-------------------------
67+
Multi-column PDF layouts make name extraction noisy on category
68+
boundaries. Approximately:
69+
- SKR 04: ~150 entries (12%) have multi-column bleeding in their
70+
account_name (typically the first ~50 accounts on page 1, where the
71+
extra-wide page header offsets the column positions slightly).
72+
- SKR 03 canonical: ~180 entries (12%) similar issue.
73+
- SKR 03 Bau: similar rate.
74+
75+
Suspect entries are those with account_name longer than ~80 characters.
76+
Account NUMBERS are always reliable; only the names need cleanup for
77+
the worst-affected entries.
78+
79+
Hyphenated line breaks like "Konzessio- nen" are repaired to
80+
"Konzessionen" by a heuristic, with exceptions kept for compound-word
81+
constructions like "Geschäfts- oder Firmenwert" where the hyphen marks
82+
a coordinated compound rather than a line break.
83+
84+
License
85+
-------
86+
See ../../../LICENSES/DATEV-SKR.txt. DATEV publishes the SKR formats
87+
as "Eigenformular" with the notice "Nachdruck — auch auszugsweise —
88+
nicht gestattet" (reproduction, even excerpts, not permitted). The
89+
ACCOUNT NUMBERS THEMSELVES are bookkeeping-standard data and not
90+
copyrightable in Germany under the standard reasoning that they are
91+
short alphanumeric codes ordering a body of public-domain accounting
92+
concepts. The German names of the accounts are likewise descriptive
93+
labels. The original PDF formatting and layout IS copyrighted by DATEV
94+
eG; this CSV redistribution carries only the underlying data, not
95+
DATEV's formatting.
96+
97+
For commercial use, consult DATEV directly. This data drop is shipped
98+
for the lance-graph cognitive shader as a structural reference for HGB
99+
booking entities, aligned with FIBO and ZUGFeRD invoice projections.

0 commit comments

Comments
 (0)