Version matrix
v13 has pinned official-contract evidence. v12 is structurally derived.
| Dimension | v13 | Legacy v12 |
|---|---|---|
| Library schema | implementedCURRENT_V13, exactly 125 booking columns. |
implementedLEGACY_V12, exactly 124 booking columns. |
| Difference | Includes field 125, Abw. Skontokonto. |
The exact first 124 fields of the library’s v13 table; field 125 is absent. |
| EXTF management record | implementedDatevMetadata.bookingBatchV13(), with schema/version mismatch rejected. |
implementedDatevMetadata.bookingBatchV12(), with schema/version mismatch rejected. |
| Built-in complete-file output | implemented Management record, official heading and booking rows. |
implemented Management record, official heading and booking rows. |
| Pinned official checker-schema comparison | contract-tested All 125 field types, lengths, decimal places, required flags and applicable labels/aliases compared with the schema shipped in DATEV Prüfprogramm DATEV-Format 2.2.3.0. |
not independent No separate official v12 checker schema or fixture is pinned in this release. |
| Official sample contract | contract-tested Exact heading compared and all 54 booking rows in the pinned official v13 sample processed by strict semantic validation. |
derived only Library unit tests prove the 124-column prefix, widths and serialization; no independent official v12 sample is tested. |
| Real target import acceptance | not evidenced No recorded licensed real-environment acceptance test in this release. |
not evidenced No recorded licensed real-environment acceptance test in this release. |
| Claim level | Official-contract-tested v13 file generation; still an import candidate. | Derived structural v12 generation; treat as a lower-evidence legacy path. |
The opt-in test reads pinned official artifacts and validates generated structure. The supplied checker is an interactive Windows GUI with no documented headless pass/fail exit-code contract. The test does not claim a successful GUI report or downstream product import.
How the claim is built
The evidence ladder
-
Library invariants
Default tests pin the two schema widths, prove v12 is the first 124 fields of v13, enforce version-matched metadata, and exercise Windows-1252/CRLF serialization and the 99,999-row boundary.
-
Pinned official v13 artifacts
The opt-in
datevCheckerTestdownloads the official checker and official sample archives, verifies their fixed SHA-256 values, then compares the in-memory schema and sample content. External copyrighted artifacts are not copied into the repository. -
Generated fixture inspection
A deterministic complete v13 fixture is decoded strictly as Windows-1252 and inspected for its management record, exact unquoted heading, 125-cell booking row and CRLF record boundaries.
-
Target acceptance remains open
A licensed operator must inspect the checker report and import into the actual configured target. Client settings, product versions, master data and accounting decisions lie beyond a portable Java test.
Review the versioned official-schema compatibility test and its pinned download/checksum setup.
Exact file boundary
What complete built-in output guarantees
| Property | Contract |
|---|---|
| Record sequence | EXTF management record, fixed official heading, then zero to 99,999 booking rows. |
| Delimiter | Semicolon (;). |
| Line ending | CRLF (\r\n) for every emitted record. |
| Byte encoding | Strict Windows-1252 on built-in OutputStream paths; unmappable metadata or booking values are rejected rather than replaced. |
| Heading | Exact fixed v13 or v12 order, emitted unquoted by the built-in writer. |
| Booking-row quoting | DATEV text-column quoting and CSV escaping through the shared DatevCsv codec. |
| Atomic validation | Formatting, structural, encoding and configured semantic checks complete before the booking row is handed to the destination. An I/O error cannot be rolled back physically. |
A caller-supplied character Writer controls its eventual byte encoding. Metadata-free advanced output may deliberately select a different charset for a custom downstream CSV contract; that is not a complete canonical EXTF byte profile.
Product scope
Capabilities and explicit non-goals
| Area | Status | Meaning |
|---|---|---|
| Fixed v13/v12 assembly | yes | Canonical widths/order, typed EXTF metadata and complete built-in file output. |
| Technical validation | yes | Structure, format, lengths, dependencies and optional metadata-aware account/date/period checks. |
| Forward-only writing | yes | DatevStreamWriter does not retain successfully written rows; destination buffering remains caller-controlled. |
| Custom CSV contracts | optional | Advanced can rename/reorder headings; such output is deliberately not compatible with EXTF metadata. |
| DATEV GUI/server/API integration | no | No authentication, upload, remote API client, desktop automation or server integration. |
| Accounting or tax logic | no | No debit/credit decision, tax treatment, period close policy or legal advice. |
| Chart-of-accounts mapping | no | No SKR03/SKR04 or source-system account mapping. The caller supplies approved accounts. |
| Master-data validation | no | No check that advisers, clients, accounts, tax keys, cost centers or business partners exist in the target. |
| Import guarantee/certification | no | No promise that a generated file will be accepted by a particular DATEV product or configuration. |
| Unlimited rows | no | One file is limited to 99,999 booking rows. Split larger exports at an application-approved boundary. |
| Thread-safe mutable exporters | no | Exporter instances are mutable and not thread-safe; confine each file/writer to one thread. |
Primary references
Sources used for the format contract
- DATEV Developer Portal: technical structure / getting started.
- DATEV Developer Portal: booking-batch format description.
- DATEV Developer Portal: management-record/header description.
- DATEV Developer Portal: character-set description.
- DATEV Developer Portal: Prüfprogramm DATEV-Format and sample data.
Those links describe DATEV’s format. They do not imply affiliation. This site paraphrases only the portions required to state the library contract and does not redistribute DATEV documentation, checker binaries or sample files.