# Changelog of E-Invoice Validator: XRechnung, ZUGFeRD, Factur-X (KoSIT) (`app-to-go/e-rechnung-pruefer`) Actor

- **URL**: https://apify.com/app-to-go/e-rechnung-pruefer/changelog.md
- **Full Actor documentation**: https://apify.com/app-to-go/e-rechnung-pruefer.md

### 0.3 (update 2026-10-23, output schema)

- New Actor output schema: the run's **Output** tab now shows **Results** (dataset, overview table), **Summary** (`RUN_SUMMARY` record) and **HTML reports** (key-value records `report-…`, only with `htmlReport`). The API `GET run` response lists the same links under `output`.
- New key-value store schema with the collections `summary` and `htmlReports`.
- No change to the checks, prices or store text.

### 0.3 (update 2026-10-23, store text)

- Pricing: invoice validated now costs $0.004 per invoice (was $0.005); 1,000 invoices in one run cost about $4.00. Actor start ($0.00005) and HTML report ($0.002) stay the same.
- Store text: the description and the first README paragraph now name the rule version used (KoSIT validator 1.6.3, XRechnung configuration 2026-08-31) and the German e-invoicing obligation from 2027/2028; new FAQ section.
- Documentation only. No change to the checks.

### 0.3 (update 2026-10-23)

- Pricing: the Actor start event (`apify-actor-start`) now uses the Apify default price of $0.00005 per start (once up to 1 GB of memory, plus once per additional GB; default 2 GB = $0.0001 per run) instead of $0.001 per GB. README and PRICING.md updated; the example costs are recalculated.
- Documentation only. No change to the checks; the other prices stay the same (invoice validated $0.005, HTML report $0.002).

### 0.3 (update 2026-10-19)

- README: **Provider / Legal notice** now links to the app-to-go legal notice (Impressum) and privacy policy on https://app-to-go.recordingbeats.com.
- No change to the checks or prices.

### 0.3 (update 2026-10-18)

- README: new sections **Disclaimer** and **Provider / Legal notice**; data protection now explains that inline `xml`/`base64` invoices are stored with the run input and that rule messages may quote single field values; UBL 2.1 and UN/CEFACT CII D16B schemas listed under licenses.
- Limited permissions: `kvStoreId` is now a key-value store picker with read access only, so the Actor can run with limited permissions and still read your bulk-input store. You can still pass the store ID via the API.
- No change to the checks or prices.

### 0.3

- Safer `url` input: only public http(s) addresses (private, internal, cloud-metadata and reserved ranges are refused, also as IP literals in any notation), the connection goes to the checked address only, redirects are checked again (max. 3), and the 20 MB limit applies while downloading. Refused URLs are `NOT_EVALUATED` and not charged; full URLs are never logged.
- More robust PDF/Mustang checks: start and per-document timeouts. A document that hangs the validator is `NOT_EVALUATED` (`validator timeout`) and not charged; the run continues.
- Limits against malicious files: the invoice XML extracted from a PDF is limited to 20 MB (also the XMP metadata), format detection runs in linear time, and a KoSIT error or timeout makes the document `NOT_EVALUATED` instead of stopping the run.
- Reproducible build: every downloaded artifact and test file is pinned by SHA-256.
- At most 1,000 documents per run (`documents` and `keys` together, also in the input schema). Larger runs fail right away with a clear message; nothing is checked or charged.
- Lower memory use: documents are loaded only when a worker checks them and are released afterwards, so at most 4 × 20 MB of invoice data is in memory at the same time, independent of the run size.
- Downloads never go through a proxy from the environment; DNS lookups count towards the 30 s download timeout; a URL with a broken `%` sequence no longer causes an error (the file name is just left empty).
- Dependency update: `basic-ftp` 6.2 (no known high vulnerabilities in `npm audit`).

### 0.2

- Store README, pricing and example input with two public files from the KoSIT XRechnung test suite.
- Faster first ZUGFeRD / Factur-X EXTENDED check: Mustang is warmed up while the KoSIT validator starts (only when the run contains such files).
- Default memory 2 GB.

### 0.1

- First version: XRechnung 3.0.x, EN 16931 UBL/CII, ZUGFeRD and Factur-X PDFs with KoSIT validator 1.6.3, XRechnung configuration 2026-08-31 and Mustang 2.26.0.
