# Changelog
## [2.0.1] - 2026-07-31
### Store-Review / Administration
- **Datumsfilter:** Batch-Export nutzt `mt-datepicker` mit `v-model` (Shopware 6.7) – Datum wird korrekt angezeigt und übernommen.
- **Export-Log / „Letzte Exporte“:** `CreatedAtField`/`UpdatedAtField` in der Entity-Definition ergänzt – Datumsspalte war leer, weil `created_at` nicht aus der DAL geladen wurde.
- **Export-Log UI:** Datumsanzeige ohne Vue-2-Filter; Spalten/Status über Snippets (DE/EN).
- **Navigation in Doku/Snippets:** Korrekte Pfade **Erweiterungen → Meine Erweiterungen → … → Konfigurieren** und **Bestellungen → Axoline Datev Export** (statt veraltetem *Settings → System → Plugins*).
## [2.0.0] - 2026-04-10
**Release-Linie Shopware 6.7.x** (Composer-Version **2.0.0**, `shopware/core` **`~6.7.0`**). Funktionsumfang entspricht dem Stand von **1.0.0**; die erhöhte Major-Version trennt klar von der **6.6**-Linie (**1.x**).
### Funktionen (Überblick)
Entspricht **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, Belegtransfer-ZIPs, Kontierung SKR03/04, Zahlungsarten, Festschreibung/Export-Log, Batch & Einzelexport, Statistiken, CLI, API). Siehe Abschnitt **[1.0.0]** unten für die vollständige Feature-Liste.
### Administration (Shopware 6.7)
- Menü **Axoline Datev Export** unter **Bestellungen**: Route-`meta` mit **`order.viewer`** und **`parentPath: sw.order.index`**, Navigation mit **`privilege: order.viewer`** – entspricht dem Verhalten der Kern-Bestellungs-Einträge und stellt die Sichtbarkeit in der Admin ab **6.7** sicher.
- Nach Updates: Administration-Extension neu bauen und ausrollen (`bundle:dump` + Extensions-Build gemäß Projekt).
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** ausschließlich **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner-Account:** nur **6.7**-Kompatibilität eintragen, passend zur Constraint.
- Wie **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, Migrationen `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI-`Context`, Flysystem-Temp für CLI-Ausgabe, keine problematischen Temp-Datei-Patterns).
### API (Administration / `/_action/`)
- Alle Routen unter `/api/_action/axoli-datev/…` setzen **`auth_required`** und **`_acl`: `order:read`, `document:read`** (analog zu Shopware-Core-Beleg-Routen). Fehlende API-Rechte → **403** mit `FRAMEWORK__MISSING_PRIVILEGE_ERROR`.
- In der Browser-Konsole kann kurz **401** erscheinen, wenn der **Access Token** abgelaufen ist; der Admin-HTTP-Client **aktualisiert das Token** und wiederholt die Anfrage. Die **folgende** Antwort (z. B. **400**) ist dann oft der eigentliche (Fach-)Fehler – **Response-Body** / Netzwerk-Tab prüfen.
---
## [1.0.0] - 2026-04-10
**Release-Linie Shopware 6.6.x** (`shopware/core` **`~6.6.0`** in den 6.6-Deployments). Erstes stabiles Release unter dem Namen **Axoline Datev Export** (technisch: **AxoliDatev**, Paket `axoline/axoli-datev-export`). Funktionsumfang entspricht den bisherigen 0.5.x-/0.6.x-Stand, inklusive Store-relevanter Metadaten und Qualitätsvorgaben.
### Funktionen (Überblick)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), Belegtransfer-kompatible ZIPs, kombiniertes Komplett-Paket (CSV + Belege)
- **Kontierung:** SKR03/SKR04, automatische Erlöskonten (Inland, EU, Drittland), Sachkontenlänge 4–8, Buchungsmodus Soll/Haben, Kostenstellen
- **Zahlungsarten:** Zuordnung zu Gegenkonten, Ausschluss bestimmter Zahlungsarten
- **Sicherheit & Nachvollziehbarkeit:** Export-Sperre, Festschreibung, Re-Export-Block bei Festschreibung, Export-Log (`axoli_datev_export_log`)
- **Bedienung:** Administration unter Bestellungen, Einzel- und Batch-Export, Statistiken, Verkaufskanal-Filter
- **Dokumente:** Rechnungen, Gutschriften/Stornos, Pickware-Korrekturen (soweit im Shop angebunden)
- **Integration:** CLI `axoli:datev:export`, REST-API unter `/_action/axoli-datev/…`, verkaufskanalbezogene Plugin-Konfiguration
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – die Store-Prüfung verlangt, dass jede durch die Constraint abgedeckte Shopware-Version auch im **Partner-Account** eingetragen ist.
- **API:** `/_action/axoli-datev/…` mit ACL **`order:read`** und **`document:read`**; kurzes **401** in der Konsole kann Token-Refresh sein, danach ggf. **400** mit Fachfehler – siehe auch Eintrag **2.0.0** → *API (Administration)*.
- Namespace `Axoline\AxoliDatev`, Konfiguration `AxoliDatev.config.*`
- Migration von älteren Installationen: Umbenennung `easoft_datev_export_log` → `axoli_datev_export_log`, Übernahme `EAsoftDatev.config.*` → `AxoliDatev.config.*` (siehe Migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: `plugin.png` (112×112), englische Composer-Beschreibung, `.gitignore` für Paketierung
- Store Static Analysis: CLI nutzt `Context::createCLIContext()`; CSV-Zip-Kette ohne `unlink`/`tempnam` (`tmpfile()` + `ZipArchive`); CLI-ZIP-Ausgabe über `shopware.filesystem.temp` (Flysystem), Parameter `--output` nur noch **relativer** Unterordner unter `var/axoline-datev-cli/`
### Hinweis
Details zu früheren Entwicklungsständen siehe unten **0.6.1**, **0.6.0** und **0.5.0**.
---
## [0.6.1] - 2026-04
### Technisch (Shopware Store / Qualität)
- `composer.json`: PHP `>=8.2`; `shopware/core` in 6.6-Zweig **`~6.6.0`**, in 6.7-Zweig **`~6.7.0`** (Store-Abgleich mit Partner-Account)
- Englische Paketbeschreibung im `description`-Feld; `extra.copyright` gesetzt
- Store-Pflichtbild `src/Resources/config/plugin.png` (112×112) ergänzt
- Plugin-`.gitignore` für Store-Paketierung (u. a. kein `vendor/`, kein `composer.lock`)
## [0.6.0] - 2026-04
### Geändert
- Plugin und Paket umbenannt: **AxoliDatev** (Anzeige: *Axoline Datev Export*), Namespace `Axoline\AxoliDatev`, Composer-Paket `axoline/axoli-datev-export`.
- API-Pfade, Admin-Modul, CLI (`axoli:datev:export`), Entität `axoli_datev_export_log` und Konfigurationspräfix `AxoliDatev.config.*`; Migration übernimmt bestehende EAsoftDatev-Daten.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export-Formate:**
- ZUGFeRD 2.1 / Factur-X E-Rechnungen (EN 16931 konform)
- DATEV EXTF CSV Buchungsstapel (Version 700/13)
- Kombiniertes ZIP (CSV + Belege für Belegtransfer)
**Kontierung:**
- SKR03 und SKR04 Kontenrahmen
- Automatische Erlöskontenfindung (Inland, EU, Drittland)
- Sachkontennummernlänge (4-8 Stellen)
- Buchungsmodus (Soll/Haben)
- Kostenstellen
**Zahlungsarten:**
- Zahlungsarten-Konten (PayPal, Klarna, etc. → individuelle Gegenkonten)
- Zahlungsarten vom Export ausschließen
**Sicherheit:**
- Export-Sperre (bereits exportierte Dokumente markieren)
- Festschreibung (DATEV-Kennzeichen für unveränderliche Daten)
- Re-Export-Blockierung bei Festschreibung
**Benutzerfreundlichkeit:**
- Admin-Oberfläche unter "Bestellungen → DATEV Buchungsexport"
- Drei Export-Modi: ZUGFeRD, CSV, Komplett-Paket
- Batch-Export mit Datums- und Verkaufskanal-Filter
- Einzeldokument-Export
- Export-Statistiken und Log
**Dokumenttypen:**
- Rechnungen
- Gutschriften / Stornos
- Pickware ERP Korrekturen
**Technisch:**
- CLI-Befehle für automatisierten Export
- REST API für Integration
- Verkaufskanal-spezifische Konfiguration
- Shopware 6.6.x (1.x) bzw. 6.7.x (2.x), siehe jeweiliges `composer.json`
---
## Geplant / Backlog
- Store-Listing: Screenshots, finale Review-Runde
- Weitere Minor-Releases nach Bedarf (z. B. 1.0.1, 2.0.1)
# Changelog
## [2.0.0] - 2026-04-10
**Release-Linie Shopware 6.7.x** (Composer-Version **2.0.0**, `shopware/core` **`~6.7.0`**). Funktionsumfang entspricht dem Stand von **1.0.0**; die erhöhte Major-Version trennt klar von der **6.6**-Linie (**1.x**).
### Funktionen (Überblick)
Entspricht **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, Belegtransfer-ZIPs, Kontierung SKR03/04, Zahlungsarten, Festschreibung/Export-Log, Batch & Einzelexport, Statistiken, CLI, API). Siehe Abschnitt **[1.0.0]** unten für die vollständige Feature-Liste.
### Administration (Shopware 6.7)
- Menü **Axoline Datev Export** unter **Bestellungen**: Route-`meta` mit **`order.viewer`** und **`parentPath: sw.order.index`**, Navigation mit **`privilege: order.viewer`** – entspricht dem Verhalten der Kern-Bestellungs-Einträge und stellt die Sichtbarkeit in der Admin ab **6.7** sicher.
- Nach Updates: Administration-Extension neu bauen und ausrollen (`bundle:dump` + Extensions-Build gemäß Projekt).
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** ausschließlich **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner-Account:** nur **6.7**-Kompatibilität eintragen, passend zur Constraint.
- Wie **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, Migrationen `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI-`Context`, Flysystem-Temp für CLI-Ausgabe, keine problematischen Temp-Datei-Patterns).
---
## [1.0.0] - 2026-04-10
**Release-Linie Shopware 6.6.x** (`shopware/core` **`~6.6.0`** in den 6.6-Deployments). Erstes stabiles Release unter dem Namen **Axoline Datev Export** (technisch: **AxoliDatev**, Paket `axoline/axoli-datev-export`). Funktionsumfang entspricht den bisherigen 0.5.x-/0.6.x-Stand, inklusive Store-relevanter Metadaten und Qualitätsvorgaben.
### Funktionen (Überblick)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), Belegtransfer-kompatible ZIPs, kombiniertes Komplett-Paket (CSV + Belege)
- **Kontierung:** SKR03/SKR04, automatische Erlöskonten (Inland, EU, Drittland), Sachkontenlänge 4–8, Buchungsmodus Soll/Haben, Kostenstellen
- **Zahlungsarten:** Zuordnung zu Gegenkonten, Ausschluss bestimmter Zahlungsarten
- **Sicherheit & Nachvollziehbarkeit:** Export-Sperre, Festschreibung, Re-Export-Block bei Festschreibung, Export-Log (`axoli_datev_export_log`)
- **Bedienung:** Administration unter Bestellungen, Einzel- und Batch-Export, Statistiken, Verkaufskanal-Filter
- **Dokumente:** Rechnungen, Gutschriften/Stornos, Pickware-Korrekturen (soweit im Shop angebunden)
- **Integration:** CLI `axoli:datev:export`, REST-API unter `/_action/axoli-datev/…`, verkaufskanalbezogene Plugin-Konfiguration
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – die Store-Prüfung verlangt, dass jede durch die Constraint abgedeckte Shopware-Version auch im **Partner-Account** eingetragen ist.
- Namespace `Axoline\AxoliDatev`, Konfiguration `AxoliDatev.config.*`
- Migration von älteren Installationen: Umbenennung `easoft_datev_export_log` → `axoli_datev_export_log`, Übernahme `EAsoftDatev.config.*` → `AxoliDatev.config.*` (siehe Migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: `plugin.png` (112×112), englische Composer-Beschreibung, `.gitignore` für Paketierung
- Store Static Analysis: CLI nutzt `Context::createCLIContext()`; CSV-Zip-Kette ohne `unlink`/`tempnam` (`tmpfile()` + `ZipArchive`); CLI-ZIP-Ausgabe über `shopware.filesystem.temp` (Flysystem), Parameter `--output` nur noch **relativer** Unterordner unter `var/axoline-datev-cli/`
### Hinweis
Details zu früheren Entwicklungsständen siehe unten **0.6.1**, **0.6.0** und **0.5.0**.
---
## [0.6.1] - 2026-04
### Technisch (Shopware Store / Qualität)
- `composer.json`: PHP `>=8.2`; `shopware/core` in 6.6-Zweig **`~6.6.0`**, in 6.7-Zweig **`~6.7.0`** (Store-Abgleich mit Partner-Account)
- Englische Paketbeschreibung im `description`-Feld; `extra.copyright` gesetzt
- Store-Pflichtbild `src/Resources/config/plugin.png` (112×112) ergänzt
- Plugin-`.gitignore` für Store-Paketierung (u. a. kein `vendor/`, kein `composer.lock`)
## [0.6.0] - 2026-04
### Geändert
- Plugin und Paket umbenannt: **AxoliDatev** (Anzeige: *Axoline Datev Export*), Namespace `Axoline\AxoliDatev`, Composer-Paket `axoline/axoli-datev-export`.
- API-Pfade, Admin-Modul, CLI (`axoli:datev:export`), Entität `axoli_datev_export_log` und Konfigurationspräfix `AxoliDatev.config.*`; Migration übernimmt bestehende EAsoftDatev-Daten.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export-Formate:**
- ZUGFeRD 2.1 / Factur-X E-Rechnungen (EN 16931 konform)
- DATEV EXTF CSV Buchungsstapel (Version 700/13)
- Kombiniertes ZIP (CSV + Belege für Belegtransfer)
**Kontierung:**
- SKR03 und SKR04 Kontenrahmen
- Automatische Erlöskontenfindung (Inland, EU, Drittland)
- Sachkontennummernlänge (4-8 Stellen)
- Buchungsmodus (Soll/Haben)
- Kostenstellen
**Zahlungsarten:**
- Zahlungsarte
# Changelog
> **Versionslinien:** **1.x** (`composer.json` **1.0.1**, `shopware/core` **`~6.6.0`**) für Shopware **6.6.x** — **2.x** (**2.0.1**, **`~6.7.0`**) für Shopware **6.7.x** (separates Deployment / Composer-Paket).
## [1.0.1] - 2026-07-31
### Store-Review / Administration
- **Datumsfilter:** `sw-datepicker` mit `v-model:value` – Datum wird korrekt angezeigt und übernommen.
- **Export-Log / „Letzte Exporte“:** `CreatedAtField`/`UpdatedAtField` in der Entity-Definition ergänzt – Datumsspalte war leer, weil `created_at` nicht aus der DAL geladen wurde.
- **Export-Log UI:** Datumsanzeige robuster; Spalten/Status über Snippets (DE/EN).
- **Navigation in Doku/Snippets:** Korrekte Pfade **Erweiterungen → Meine Erweiterungen → … → Konfigurieren** und **Bestellungen → Axoline Datev Export** (statt veraltetem *Settings → System → Plugins*).
## [2.0.0] - 2026-04-10
**Release-Linie Shopware 6.7.x** (Composer-Version **2.0.0**, `shopware/core` **`~6.7.0`**). Funktionsumfang entspricht dem Stand von **1.0.0**; die erhöhte Major-Version trennt klar von der **6.6**-Linie (**1.x**).
### Funktionen (Überblick)
Entspricht **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, Belegtransfer-ZIPs, Kontierung SKR03/04, Zahlungsarten, Festschreibung/Export-Log, Batch & Einzelexport, Statistiken, CLI, API). Siehe Abschnitt **[1.0.0]** unten für die vollständige Feature-Liste.
### Administration (Shopware 6.7)
- Menü **Axoline Datev Export** unter **Bestellungen**: Route-`meta` mit **`order.viewer`** und **`parentPath: sw.order.index`**, Navigation mit **`privilege: order.viewer`** – entspricht dem Verhalten der Kern-Bestellungs-Einträge und stellt die Sichtbarkeit in der Admin ab **6.7** sicher.
- Nach Updates: Administration-Extension neu bauen und ausrollen (`bundle:dump` + Extensions-Build gemäß Projekt).
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** ausschließlich **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner-Account:** nur **6.7**-Kompatibilität eintragen, passend zur Constraint.
- Wie **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, Migrationen `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI-`Context`, Flysystem-Temp für CLI-Ausgabe, keine problematischen Temp-Datei-Patterns).
### API (Administration / `/_action/`)
- Alle Routen unter `/api/_action/axoli-datev/…` setzen **`auth_required`** und **`_acl`: `order:read`, `document:read`** (analog zu Shopware-Core-Beleg-Routen). Fehlende API-Rechte → **403** mit `FRAMEWORK__MISSING_PRIVILEGE_ERROR`.
- In der Browser-Konsole kann kurz **401** erscheinen, wenn der **Access Token** abgelaufen ist; der Admin-HTTP-Client **aktualisiert das Token** und wiederholt die Anfrage. Die **folgende** Antwort (z. B. **400**) ist dann oft der eigentliche (Fach-)Fehler – **Response-Body** / Netzwerk-Tab prüfen.
---
## [1.0.0] - 2026-04-10
**Release-Linie Shopware 6.6.x.** Erstes **stabiles Release** unter dem Namen **Axoline Datev Export** (technisch: **AxoliDatev**, Paket `axoline/axoli-datev-export`). Funktionsumfang entspricht den bisherigen 0.5.x-/0.6.x-Stand, inklusive Store-relevanter Metadaten und Qualitätsvorgaben.
### Funktionen (Überblick)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), Belegtransfer-kompatible ZIPs, kombiniertes Komplett-Paket (CSV + Belege)
- **Kontierung:** SKR03/SKR04, automatische Erlöskonten (Inland, EU, Drittland), Sachkontenlänge 4–8, Buchungsmodus Soll/Haben, Kostenstellen
- **Zahlungsarten:** Zuordnung zu Gegenkonten, Ausschluss bestimmter Zahlungsarten
- **Sicherheit & Nachvollziehbarkeit:** Export-Sperre, Festschreibung, Re-Export-Block bei Festschreibung, Export-Log (`axoli_datev_export_log`)
- **Bedienung:** Administration unter **Bestellungen** (Menü **Axoline Datev Export**), Einzel- und Batch-Export, Statistiken, Verkaufskanal-Filter; Sichtbarkeit an **`order.viewer`** (Route-`meta` / Navigation wie Kern-Bestellungen)
- **Dokumente:** Rechnungen, Gutschriften/Stornos, Pickware-Korrekturen (soweit im Shop angebunden)
- **Integration:** CLI `axoli:datev:export`, REST-API unter `/_action/axoli-datev/…`, verkaufskanalbezogene Plugin-Konfiguration
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – die Store-Prüfung verlangt, dass jede durch die Constraint abgedeckte Shopware-Version auch im **Partner-Account** eingetragen ist. **Shopware 6.7:** Release **2.0.0** mit **`~6.7.0`** (anderes Deployment).
- **API:** `/_action/axoli-datev/…` mit ACL **`order:read`** und **`document:read`**; kurzes **401** in der Konsole kann Token-Refresh sein, danach ggf. **400** mit Fachfehler – siehe auch Eintrag **2.0.0** → *API (Administration)*.
- Namespace `Axoline\AxoliDatev`, Konfiguration `AxoliDatev.config.*`
- Migration von älteren Installationen: Umbenennung `easoft_datev_export_log` → `axoli_datev_export_log`, Übernahme `EAsoftDatev.config.*` → `AxoliDatev.config.*` (siehe Migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: `plugin.png` (112×112), englische Composer-Beschreibung, `.gitignore` für Paketierung
- Store Static Analysis: CLI nutzt `Context::createCLIContext()`; CSV-Zip-Kette ohne `unlink`/`tempnam` (`tmpfile()` + `ZipArchive`); CLI-ZIP-Ausgabe über `shopware.filesystem.temp` (Flysystem), Parameter `--output` nur noch **relativer** Unterordner unter `var/axoline-datev-cli/`
### Hinweis
Details zu früheren Entwicklungsständen siehe unten **0.6.1**, **0.6.0** und **0.5.0**.
---
## [0.6.1] - 2026-04
### Technisch (Shopware Store / Qualität)
- `composer.json`: PHP `>=8.2`; `shopware/core` für 1.0.0 final **`~6.6.0`** (Store-Abgleich mit Partner-Account)
- Englische Paketbeschreibung im `description`-Feld; `extra.copyright` gesetzt
- Store-Pflichtbild `src/Resources/config/plugin.png` (112×112) ergänzt
- Plugin-`.gitignore` für Store-Paketierung (u. a. kein `vendor/`, kein `composer.lock`)
## [0.6.0] - 2026-04
### Geändert
- Plugin und Paket umbenannt: **AxoliDatev** (Anzeige: *Axoline Datev Export*), Namespace `Axoline\AxoliDatev`, Composer-Paket `axoline/axoli-datev-export`.
- API-Pfade, Admin-Modul, CLI (`axoli:datev:export`), Entität `axoli_datev_export_log` und Konfigurationspräfix `AxoliDatev.config.*`; Migration übernimmt bestehende EAsoftDatev-Daten.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export-Formate:**
- ZUGFeRD 2.1 / Factur-X E-Rechnungen (EN 16931 konform)
- DATEV EXTF CSV Buchungsstapel (Version 700/13)
- Kombiniertes ZIP (CSV + Belege für Belegtransfer)
**Kontierung:**
- SKR03 und SKR04 Kontenrahmen
- Automatische Erlöskontenfindung (Inland, EU, Drittland)
- Sachkontennummernlänge (4-8 Stellen)
- Buchungsmodus (Soll/Haben)
- Kostenstellen
**Zahlungsarten:**
- Zahlungsarten-Konten (PayPal, Klarna, etc. → individuelle Gegenkonten)
- Zahlungsarten vom Export ausschließen
**Sicherheit:**
- Export-Sperre (bereits exportierte Dokumente markieren)
- Festschreibung (DATEV-Kennzeichen für unveränderliche Daten)
- Re-Export-Blockierung bei Festschreibung
**Benutzerfreundlichkeit:**
- Admin-Oberfläche unter **Bestellungen** (Menü **Axoline Datev Export**)
- Drei Export-Modi: ZUGFeRD, CSV, Komplett-Paket
- Batch-Export mit Datums- und Verkaufskanal-Filter
- Einzeldokument-Export
- Export-Statistiken und Log
**Dokumenttypen:**
- Rechnungen
- Gutschriften / Stornos
- Pickware ERP Korrekturen
**Technisch:**
- CLI-Befehle für automatisierten Export
- REST API für Integration
- Verkaufskanal-spezifische Konfiguration
- Shopware 6.6.x (siehe aktuelles `composer.json`)
---
## Geplant / Backlog
- Store-Listing: Screenshots, finale Review-Runde
- Weitere Minor-Releases nach Bedarf (z. B. 1.0.1, 2.0.1)
# Changelog
## [1.0.0] - 2026-04-10
Erstes **stabiles Release** unter dem Namen **Axoline Datev Export** (technisch: **AxoliDatev**, Paket `axoline/axoli-datev-export`). Funktionsumfang entspricht den bisherigen 0.5.x-/0.6.x-Stand, inklusive Store-relevanter Metadaten und Qualitätsvorgaben.
### Funktionen (Überblick)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), Belegtransfer-kompatible ZIPs, kombiniertes Komplett-Paket (CSV + Belege)
- **Kontierung:** SKR03/SKR04, automatische Erlöskonten (Inland, EU, Drittland), Sachkontenlänge 4–8, Buchungsmodus Soll/Haben, Kostenstellen
- **Zahlungsarten:** Zuordnung zu Gegenkonten, Ausschluss bestimmter Zahlungsarten
- **Sicherheit & Nachvollziehbarkeit:** Export-Sperre, Festschreibung, Re-Export-Block bei Festschreibung, Export-Log (`axoli_datev_export_log`)
- **Bedienung:** Administration unter Bestellungen, Einzel- und Batch-Export, Statistiken, Verkaufskanal-Filter
- **Dokumente:** Rechnungen, Gutschriften/Stornos, Pickware-Korrekturen (soweit im Shop angebunden)
- **Integration:** CLI `axoli:datev:export`, REST-API unter `/_action/axoli-datev/…`, verkaufskanalbezogene Plugin-Konfiguration
### Technik & Kompatibilität
- **PHP** ≥ 8.2, **Shopware** 6.5 bis einschließlich 6.x, nicht für 7.0 (`shopware/core` laut `composer.json`)
- Namespace `Axoline\AxoliDatev`, Konfiguration `AxoliDatev.config.*`
- Migration von älteren Installationen: Umbenennung `easoft_datev_export_log` → `axoli_datev_export_log`, Übernahme `EAsoftDatev.config.*` → `AxoliDatev.config.*` (siehe Migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: `plugin.png` (112×112), englische Composer-Beschreibung, `.gitignore` für Paketierung
### Hinweis
Details zu früheren Entwicklungsständen siehe unten **0.6.1**, **0.6.0** und **0.5.0**.
---
## [0.6.1] - 2026-04
### Technisch (Shopware Store / Qualität)
- `composer.json`: PHP `>=8.2`, `shopware/core` `>=6.5.0 <7.0.0` (klar begrenzt, ohne offenes `>=6.5.0` ohne Obergrenze)
- Englische Paketbeschreibung im `description`-Feld; `extra.copyright` gesetzt
- Store-Pflichtbild `src/Resources/config/plugin.png` (112×112) ergänzt
- Plugin-`.gitignore` für Store-Paketierung (u. a. kein `vendor/`, kein `composer.lock`)
## [0.6.0] - 2026-04
### Geändert
- Plugin und Paket umbenannt: **AxoliDatev** (Anzeige: *Axoline Datev Export*), Namespace `Axoline\AxoliDatev`, Composer-Paket `axoline/axoli-datev-export`.
- API-Pfade, Admin-Modul, CLI (`axoli:datev:export`), Entität `axoli_datev_export_log` und Konfigurationspräfix `AxoliDatev.config.*`; Migration übernimmt bestehende EAsoftDatev-Daten.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export-Formate:**
- ZUGFeRD 2.1 / Factur-X E-Rechnungen (EN 16931 konform)
- DATEV EXTF CSV Buchungsstapel (Version 700/13)
- Kombiniertes ZIP (CSV + Belege für Belegtransfer)
**Kontierung:**
- SKR03 und SKR04 Kontenrahmen
- Automatische Erlöskontenfindung (Inland, EU, Drittland)
- Sachkontennummernlänge (4-8 Stellen)
- Buchungsmodus (Soll/Haben)
- Kostenstellen
**Zahlungsarten:**
- Zahlungsarten-Konten (PayPal, Klarna, etc. → individuelle Gegenkonten)
- Zahlungsarten vom Export ausschließen
**Sicherheit:**
- Export-Sperre (bereits exportierte Dokumente markieren)
- Festschreibung (DATEV-Kennzeichen für unveränderliche Daten)
- Re-Export-Blockierung bei Festschreibung
**Benutzerfreundlichkeit:**
- Admin-Oberfläche unter "Bestellungen → DATEV Buchungsexport"
- Drei Export-Modi: ZUGFeRD, CSV, Komplett-Paket
- Batch-Export mit Datums- und Verkaufskanal-Filter
- Einzeldokument-Export
- Export-Statistiken und Log
**Dokumenttypen:**
- Rechnungen
- Gutschriften / Stornos
- Pickware ERP Korrekturen
**Technisch:**
- CLI-Befehle für automatisierten Export
- REST API für Integration
- Verkaufskanal-spezifische Konfiguration
- Shopware 6.5+ kompatibel