FAQ
Is this a SaaS or portal solution?
No. Due to ERiC licensing and regulatory constraints, Elmar.tax is designed to run entirely within your own infrastructure and must not be used as a SaaS or portal solution (Portallösung). This is by design — you deploy it as an internal service, maintaining full control over data and certificates.
Why a separate REST service instead of embedding ERiC?
Most software stacks benefit from a clean service boundary:
- Isolates native code — ERiC is a C library with platform-specific binaries. Keeping it in a container means your main application doesn't need to deal with native libraries, JNI, or memory management.
- Simplifies operations — deploy, scale, and monitor ELSTER independently from your main application.
- Language-agnostic — any stack that speaks HTTP can integrate, not just Java.
- Reduces risk — ERiC threading, certificate handling, and error mapping are someone else's problem.
Can I use only the Java SDK without the REST layer?
Yes. If you're on Java and want direct integration, you can use eric-wrapper-sdk and elster-databinding as Maven dependencies. The REST layer is recommended for most teams, but the lower layers are fully usable on their own.
Does Elmar support JSON?
Yes. Elmar REST accepts both JSON and XML payloads. Internally, both are treated equally and sent as XML to ELSTER. The JSON field names map 1:1 to the JAXB model (which mirrors the ELSTER XSD structure).
How does concurrency work?
ERiC is single-threaded by design. Elmar handles this safely by serializing access internally — concurrent REST calls block until the current ERiC exchange completes. This is correct and predictable.
For high-concurrency peaks (e.g., monthly UStVA deadlines), integrate Elmar behind a work queue on your side. Built-in async processing and queueing are on the roadmap.
Does Elmar validate my payloads?
Elmar does not add its own validation layer. It passes your payload through ERiC and returns ERiC's response — including any validation errors — transparently. This means you always get the same result as a direct ERiC integration.
What tax forms are supported?
Currently: UStVA (2025, 2026), USt (2025), GewSt (2024), KSt (2024), FSE KapG (2023). New forms and years are added as modular extensions. ESt and balance sheet forms are on the roadmap.
What platforms are supported?
The Docker image supports Linux and macOS. Windows works when running Elmar via a container (Docker Desktop or WSL2). The underlying ERiC library supports Linux (x64) and macOS (universal/Intel).
What Java version is required?
The REST service runs on JDK 21+ inside the Docker image. If you use the lower Java layers directly, the eric-wrapper-sdk requires JDK 24+ with preview features enabled (Project Panama / Foreign Function & Memory API).
Is there authentication?
Not currently. Elmar REST is designed as an internal service — you deploy it behind your own network boundary or API gateway. Built-in auth is on the roadmap as adoption grows.
Can I run multiple certificates?
Each running container supports one certificate. To serve multiple organizations, run one Elmar instance per certificate. This model is simple, secure, and maps naturally to container orchestration.
Is there an OpenAPI spec?
Yes. When Elmar REST is running, visit /docs/swagger-ui for the interactive Swagger UI, or /docs/api for the raw OpenAPI 3.1 JSON spec.