Evidence statement · release 0.2.0

Know what is verified—and what remains yours.

Compatibility here means a documented file-format contract with graded test evidence. It does not mean DATEV certification, partnership or guaranteed acceptance by a product installation.

Version matrix

v13 has pinned official-contract evidence. v12 is structurally derived.

Compatibility claims for datev-exporter 0.2.0
Dimension v13 Legacy v12
Library schema implemented
CURRENT_V13, exactly 125 booking columns.
implemented
LEGACY_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 implemented
DatevMetadata.bookingBatchV13(), with schema/version mismatch rejected.
implemented
DatevMetadata.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.
“Contract-tested” is not “accepted by DATEV”

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

  1. 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.

  2. Pinned official v13 artifacts

    The opt-in datevCheckerTest downloads 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.

  3. 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.

  4. 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

Serialization contract when metadata is attached
PropertyContract
Record sequenceEXTF management record, fixed official heading, then zero to 99,999 booking rows.
DelimiterSemicolon (;).
Line endingCRLF (\r\n) for every emitted record.
Byte encodingStrict Windows-1252 on built-in OutputStream paths; unmappable metadata or booking values are rejected rather than replaced.
HeadingExact fixed v13 or v12 order, emitted unquoted by the built-in writer.
Booking-row quotingDATEV text-column quoting and CSV escaping through the shared DatevCsv codec.
Atomic validationFormatting, 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

What the library does and does not do
AreaStatusMeaning
Fixed v13/v12 assemblyyesCanonical widths/order, typed EXTF metadata and complete built-in file output.
Technical validationyesStructure, format, lengths, dependencies and optional metadata-aware account/date/period checks.
Forward-only writingyesDatevStreamWriter does not retain successfully written rows; destination buffering remains caller-controlled.
Custom CSV contractsoptionalAdvanced can rename/reorder headings; such output is deliberately not compatible with EXTF metadata.
DATEV GUI/server/API integrationnoNo authentication, upload, remote API client, desktop automation or server integration.
Accounting or tax logicnoNo debit/credit decision, tax treatment, period close policy or legal advice.
Chart-of-accounts mappingnoNo SKR03/SKR04 or source-system account mapping. The caller supplies approved accounts.
Master-data validationnoNo check that advisers, clients, accounts, tax keys, cost centers or business partners exist in the target.
Import guarantee/certificationnoNo promise that a generated file will be accepted by a particular DATEV product or configuration.
Unlimited rowsnoOne file is limited to 99,999 booking rows. Split larger exports at an application-approved boundary.
Thread-safe mutable exportersnoExporter instances are mutable and not thread-safe; confine each file/writer to one thread.

Primary references

Sources used for the format contract

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.

Build an export Choose an API