# Changelog
## [2.0.1] – 2026-07-31
### Store Review / Administration
- **Data filter:** Batch export now uses `mt-datepicker` with `v-model` (Shopware 6.7) – date displays and applies correctly.
- **Export log / "Recent exports":** Added `CreatedAtField`/`UpdatedAtField` to the entity definition – date column was previously empty because `created_at` was not being loaded from the DAL.
- **Export log UI:** Date display updated to remove Vue 2 filters; columns/status handled via snippets (DE/EN).
- **Navigation in docs/snippets:** Corrected paths to **Extensions → My extensions → … → Configure** and **Orders → Axoline Datev Export** (replacing the obsolete *Settings → System → Plugins*).
## [2.0.0] – 2026-04-10
**Shopware 6.7.x release line** (Composer version **2.0.0**, `shopware/core` **`~6.7.0`**). Feature set matches version **1.0.0**; the major version bump clearly distinguishes this from the **6.6** line (**1.x**).
### Features (Overview)
Matches **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, document transfer ZIPs, SKR03/04 account assignment, payment methods, finalization/export log, batch & single export, statistics, CLI, API). See section **[1.0.0]** below for the full feature list. ### Administration (Shopware 6.7)
- **Axoline Datev Export** menu item under **Orders**: Route `meta` with **`order.viewer`** and **`parentPath: sw.order.index`**, navigation with **`privilege: order.viewer`** – this matches the behavior of core order entries and ensures visibility in the admin interface from version **6.7** onwards.
- After updates: Rebuild and deploy the administration extension (`bundle:dump` + extension build process specific to the project).
### Technical & Compatibility
- **PHP** ≥ 8.2, **Shopware** exclusively **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner Account:** Specify compatibility for **6.7** only, in accordance with the restriction.
- Same as **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, migrations `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI `Context`, Flysystem temp for CLI output, no problematic temp file patterns).
### API (Administration / `/_action/`)
- All routes under `/api/_action/axoli-datev/…` require **`auth_required`** and **`_acl`: `order:read`, `document:read`** (analogous to Shopware core document routes). Missing API permissions result in a **403** error with `FRAMEWORK__MISSING_PRIVILEGE_ERROR`.
- A **401** error may briefly appear in the browser console if the **access token** has expired; the admin HTTP client **refreshes the token** and retries the request. The **subsequent** response (e.g., **400**) often indicates the actual (business logic) error – check the **response body** / network tab. ---
## [1.0.0] – 2026-04-10
**Shopware 6.6.x release line** (`shopware/core` **`~6.6.0`** in 6.6 deployments). First stable release under the name **Axoline Datev Export** (technical name: **AxoliDatev**, package `axoline/axoli-datev-export`). The feature set corresponds to the previous 0.5.x/0.6.x status, including store-relevant metadata and quality standards.
### Features (Overview)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), ZIPs compatible with "Belegtransfer" (document transfer), combined complete package (CSV + documents)
- **Account Assignment:** SKR03/SKR04, automatic revenue accounts (domestic, EU, non-EU), G/L account length 4–8, debit/credit booking mode, cost centers
- **Payment Methods:** Mapping to contra accounts, exclusion of specific payment methods
- **Security & Traceability:** Export lock, finalization (locking), re-export block upon finalization, export log (`axoli_datev_export_log`)
- **Conditions:** Management under orders, single and batch export, statistics, sales channel filter
- **Documents:** Invoices, credit notes/cancellations, Pickware corrections (if integrated in the shop)
- **Integration:** CLI `axoli:datev:export`, REST API at `/_action/axoli-datev/…`, sales-channel-specific plugin configuration
### Technology & Compatibility
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – Store validation requires that every Shopware version covered by the restriction is also registered in the **Partner Account**.
- **API:** `/_action/axoli-datev/…` with ACL **`order:read`** and **`document:read`**; a brief **401** in the console may indicate a token refresh, potentially followed by a **400** with a business logic error – see also entry **2.0.0** → *API (Administration)*. - Namespace `Axoline\AxoliDatev`, configuration `AxoliDatev.config.*`
- Migration from older installations: rename `easoft_datev_export_log` → `axoli_datev_export_log`, transfer `EAsoftDatev.config.*` → `AxoliDatev.config.*` (see migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: "plugin.png" (112×112), English Composer description, ".gitignore" for packaging
- Static analysis: CLI uses `Context::createCLIContext()`; CSV-to-ZIP chain without `unlink`/`tempnam` (`tmpfile()` + `ZipArchive`); CLI ZIP output
# Changelog
## [2.0.0] - 2026-04-10
**Release line Shopware 6.7.x** (Composer version **2.0.0**, `shopware/core` **~6.7.0`**). The feature set corresponds to **1.0.0**; the increased major version clearly distinguishes it from the **6.6** line (**1.x**).
### Features (Overview)
Corresponds to **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, document transfer ZIPs, SKR03/04 account assignment, payment methods, posting/export log, batch & single export, statistics, CLI, API). See section **[1.0.0]** below for the complete feature list.
### Administration (Shopware 6.7)
- Menu **Axoline Datev Export** under **Orders**: Route-`meta` with **`order.viewer`** and **`parentPath: sw.order.index`**, Navigation with **`privilege: order.viewer`** – this corresponds to the behavior of the core order entries and ensures visibility in the admin area from **6.7** onwards.
- After updates: Rebuild and deploy the administration extension (`bundle:dump` + extension build according to the project).
### Technical & Compatibility
- **PHP** ≥ 8.2, **Shopware** exclusively **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner Account:** only enter **6.7** compatibility, matching the constraint.
- As in **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, migrations `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI context, Flysystem temp for CLI output, no problematic temp file patterns).
---
## [1.0.0] - 2026-04-10
**Release line Shopware 6.6.x** (`shopware/core` **`~6.6.0`** in the 6.6 deployments). First stable release under the name **Axoline Datev Export** (technically: **AxoliDatev**, package `axoline/axoli-datev-export`). The functionality corresponds to the previous 0.5.x/0.6.x versions, including store-relevant metadata and quality specifications.
``` ### Functions (Overview)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), document transfer-compatible ZIPs, combined complete package (CSV + documents)
- **Account Assignment:** SKR03/SKR04, automatic revenue accounts (domestic, EU, third country), general ledger account length 4–8, posting mode debit/credit, cost centers
- **Payment Methods:** Assignment to contra accounts, exclusion of certain payment methods
- **Security & Traceability:** Export block, export lock, re-export block upon export lock, export log (`axoli_datev_export_log`)
- **Operation:** Administration under Orders, single and batch export, statistics, sales channel filters
- **Documents:** Invoices, credit notes/reversals, Pickware corrections (as far as in Shop connected)
- **Integration:** CLI `axoli:datev:export`, REST API under `/_action/axoli-datev/…`, sales channel-specific plugin configuration
### Technical & Compatibility
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – the store check requires that every Shopware version covered by the constraint is also entered in the **Partner Account**.
** ... - Namespace `Axoline\AxoliDatev`, configuration `AxoliDatev.config.*`
- Migration from older installations: Rename `easoft_datev_export_log` → `axoli_datev_export_log`, transfer `EAsoftDatev.config.*` → `AxoliDatev.config.*` (see migrations `Migration1702300000…`, `Migration1744243200…`)
- Store: `plugin.png` (112×112), English Composer description, `.gitignore` for packaging
- Store Static Analysis: CLI uses `Context::createCLIContext()`; CSV zip chain without `unlink`/`tempnam` (`tmpfile()` + `ZipArchive`); CLI ZIP output via `shopware.filesystem.temp` (Flysystem), parameter `--output` now only a **relative** subfolder under `var/axoline-datev-cli/`
### Note
For details on previous development versions, see below: **0.6.1**, **0.6.0**, and **0.5.0**.
--
## [0.6.1] - 2026-04
### Technical (Shopware Store / Quality)
- `composer.json`: PHP `>=8.2`; `shopware/core` in 6.6 branch **`~6.6.0`**, in 6.7 branch **`~6.7.0`** (store synchronization with partner account)
- English package description in the `description` field; `extra.copyright` set
- Store-mandated image `src/Resources/config/plugin.png` (112x112) added
- Plugin `.gitignore` for store packaging (including removing `vendor/` and `composer.lock`)
## [0.6.0] - 2026-04
### Changed
- Plugin and package renamed: **AxoliDatev** (display: *Axoline Datev Export*), namespace `Axoline\AxoliDatev`, Composer package `axoline/axoli-datev-export`.
- API paths, admin module, CLI (`axoli:datev:export`), entity `axoli_datev_export_log`, and configuration prefix `AxoliDatev.config.*`; migration uses existing EAsoftDatev data.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export Formats:**
- ZUGFeRD 2.1 / Factur-X e-invoices (EN 16931 compliant)
- DATEV EXTF CSV posting batches (Version 700/13)
- Combined ZIP (CSV + documents for document transfer)
**Account Assignment:**
- SKR03 and SKR04 chart of accounts
- Automatic revenue account determination (domestic, EU, third country)
- General ledger account number length (4-8 digits)
- Posting mode (Debit/Credit)
- Cost centers
**Payment Methods:**
- Payment method
# Changelog
> **Version lines:** **1.x** (`composer.json` **1.0.1**, `shopware/core` **`~6.6.0`**) for Shopware **6.6.x** — **2.x** (**2.0.1**, **`~6.7.0`**) for Shopware **6.7.x** (separate deployment / Composer package).
## [1.0.1] - 2026-07-31
### Store Review / Administration
- **Date filter:** `sw-datepicker` with `v-model:value` – date is displayed and applied correctly.
- **Export log / "Recent exports":** Added `CreatedAtField`/`UpdatedAtField` to the entity definition – date column was empty because `created_at` was not being loaded from the DAL.
- **Export log UI:** Date display made more robust; columns/status handled via snippets (DE/EN).
- **Navigation in docs/snippets:** Correct paths: **Extensions → My extensions → … → Configure** and **Orders → Axoline Datev Export** (instead of the outdated *Settings → System → Plugins*).
## [2.0.0] - 2026-04-10
**Shopware 6.7.x release line** (Composer version **2.0.0**, `shopware/core` **`~6.7.0`**). Feature set matches version **1.0.0**; the major version bump clearly distinguishes it from the **6.6** line (**1.x**).
### Features (Overview)
Matches **1.0.0** (ZUGFeRD/Factur-X, EXTF-CSV, document transfer ZIPs, SKR03/04 account assignment, payment methods, finalization/export log, batch & single export, statistics, CLI, API). See section **[1.0.0]** below for the full feature list.
### Administration (Shopware 6.7)
- **Axoline Datev Export** menu item under **Orders**: Route `meta` configured with **`order.viewer`** and **`parentPath: sw.order.index`**; navigation configured with **`privilege: order.viewer`** – this mirrors the behavior of core order entries and ensures visibility in the admin interface from version **6.7** onwards.
- Post-update: Rebuild and deploy the administration extension (`bundle:dump` + extension build process specific to the project).
### Technical & Compatibility
- **PHP** ≥ 8.2, **Shopware** exclusively **6.7.x** (`shopware/core`: **`~6.7.0`**).
- **Extension Store / Partner Account:** Specify compatibility for version **6.7** only, matching the version constraint.
- Same as **1.0.0**: Namespace `Axoline\AxoliDatev`, `AxoliDatev.config.*`, migrations `easoft_datev_export_log` → `axoli_datev_export_log`, Store Static Analysis (CLI `Context`, Flysystem temp storage for CLI output, no problematic temporary file patterns).
### API (Administration / `/_action/`)
- All routes under `/api/_action/axoli-datev/…` require **`auth_required`** and **`_acl`: `order:read`, `document:read`** (analogous to Shopware core document routes). Missing API privileges result in a **403** error with `FRAMEWORK__MISSING_PRIVILEGE_ERROR`.
- A **401** error may briefly appear in the browser console if the **access token** has expired; the admin HTTP client **refreshes the token** and retries the request. The **subsequent** response (e.g., **400**) often indicates the actual (application-level) error—check the **response body** / **Network** tab.
---
## [1.0.0] - 2026-04-10
**Shopware 6.6.x release line.** First **stable release** under the name **Axoline Datev Export** (technical name: **AxoliDatev**, package `axoline/axoli-datev-export`). Feature set matches the previous 0.5.x/0.6.x versions, including Store-relevant metadata and quality standards.
### Features (Overview)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), ZIPs compatible with *Belegtransfer* (document transfer), combined complete package (CSV + documents)
- **Account Assignment:** SKR03/SKR04, automatic revenue accounts (domestic, EU, non-EU/third countries), G/L account length 4–8, debit/credit posting mode, cost centers
- **Payment Methods:** Mapping to contra accounts, exclusion of specific payment methods
- **Security & Traceability:** Export lock, finalization (locking), re-export block upon finalization, export log (`axoli_datev_export_log`)
- **Operation:** Administration under **Orders** (**Axoline Datev Export** menu), single and batch export, statistics, sales channel filter; Visibility in **`order.viewer`** (route `meta` / navigation similar to core orders)
- **Documents:** Invoices, credit notes/cancellations, Pickware corrections (if integrated in the shop)
- **Integration:** CLI `axoli:datev:export`, REST API at `/_action/axoli-datev/…`, sales-channel-specific plugin configuration
### Technical Details & Compatibility
- **PHP** ≥ 8.2, **Shopware** 6.6.x (`shopware/core`: **`~6.6.0`**) – the Store validation requires that every Shopware version covered by the constraint is also registered in the **Partner Account**. **Shopware 6.7:** Release **2.0.0** with **`~6.7.0`** (separate deployment).
- **API:** `/_action/axoli-datev/…` with ACL **`order:read`** and **`document:read`**; a brief **401** in the console may indicate a token refresh, potentially followed by a **400** with a business logic error – see also entry **2.0.0** → *API (Administration)*.
- Namespace `Axoline\AxoliDatev`, configuration `AxoliDatev.config.*`
- Migration from older installations: Rename `easoft_datev_export_log` → `axoli_datev_export_log`, transfer `EAsoftDatev.config.*` → `AxoliDatev.config.*` (see migrations)
# Changelog
## [1.0.0] - 2026-04-10
First **stable release** under the name **Axoline Datev Export** (technically: **AxoliDatev**, package `axoline/axoli-datev-export`). The feature set corresponds to the previous 0.5.x/0.6.x versions, including store-relevant metadata and quality specifications.
### Functions (Overview)
- **Export:** ZUGFeRD 2.1 / Factur-X (EN 16931), DATEV EXTF CSV (700/13), document transfer-compatible ZIP files, combined complete package (CSV + documents)
- **Account Assignment:** SKR03/SKR04, automatic revenue accounts (domestic, EU, third country), account length 4–8, posting mode debit/credit, cost centers
- **Payment Methods:** Assignment to contra accounts, exclusion of certain payment methods
- **Security & Traceability:** Export block, export lock, re-export block upon export lock, export log (`axoli_datev_export_log`)
- **Operation:** Administration under Orders, single and batch export, statistics, sales channel filters
- **Documents:** Invoices, credit notes/reversals, Pickware corrections (where integrated in the shop)
- **Integration:** CLI `axoli:datev:export`, REST API under `/_action/axoli-datev/…`, sales channel-specific plugin configuration
### Technical & Compatibility
- **PHP** ≥ 8.2, **Shopware** 6.5 up to and including 6.x, not for 7.0 (`shopware/core` according to `composer.json`)
- Namespace `Axoline\AxoliDatev`, configuration `AxoliDatev.config.*`
- Migration from older installations: Rename `easoft_datev_export_log` → `axoli_datev_export_log`, copy `EAsoftDatev.config.*` → `AxoliDatev.config.*` (see migration `Migration1702300000…`). `Migration1744243200…`)
- Store: `plugin.png` (112×112), English Composer description, `.gitignore` for packaging
### Note
For details on previous development versions, see below: **0.6.1**, **0.6.0**, and **0.5.0**.
--
## [0.6.1] - 2026-04
### Technical (Shopware Store / Quality)
- `composer.json`: PHP `>=8.2`, `shopware/core` `>=6.5.0 <7.0.0` (clearly limited, without an open `>=6.5.0` without an upper limit)
- English package description in the `description` field; `extra.copyright` set
- Store-mandated image `src/Resources/config/plugin.png` (112x112) added
- Plugin `.gitignore` for store packaging (e.g., no `vendor/`, no `composer.lock`)
## [0.6.0] - 2026-04
### Changed
- Plugin and package renamed: **AxoliDatev** (display: *Axoline Datev Export*), namespace `Axoline\AxoliDatev`, Composer package `axoline/axoli-datev-export`.
- API paths, admin module, CLI (`axoli:datev:export`), entity `axoli_datev_export_log` and configuration prefix `AxoliDatev.config.*`; migration uses existing EAsoftDatev data.
## [0.5.0] - 2024-12 (Pre-Release)
### Features
**Export Formats:**
- ZUGFeRD 2.1 / Factur-X e-invoices (EN 16931 compliant)
- DATEV EXTF CSV posting batches (Version 700/13)
- Combined ZIP (CSV + documents for document transfer)
**Account Assignment:**
- SKR03 and SKR04 chart of accounts
- Automatic revenue account determination (domestic, EU, third country)
- General ledger account number length (4-8 digits)
- Posting mode (Debit/Credit)
- Cost centers
**Payment Methods:**
- Payment method accounts (PayPal, Klarna, etc. → individual offsetting accounts)
- Exclude payment methods from export
**Security:**
- Export block (already Exported documents can be marked.
- Data locking (DATEV indicator for immutable data)
- Re-export blocking when data is locked
**User-friendliness:**
- Admin interface under "Orders → DATEV Posting Export"
- Three export modes: ZUGFeRD, CSV, Complete Package
- Batch export with date and sales channel filters
- Single document export
- Export statistics and log
**Document types:**
- Invoices
- Credit notes / Cancellations
- Pickware ERP corrections
**Technical:**
- CLI commands for automated export
- REST API for integration
- Sales channel-specific configuration
- Shopware 6.5+ compatible