Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
Dynamics 365 재무·운영 보고용 애드온으로 보고서 맞춤 시간을 일에서 시간으로 단축하고 MS Word를 디자이너로 사용합니다
Dynamics 365 for Finance and Operations Reporting Add-On. Turns report customization days into hours. Lightweight & easy to use. Uses MS Word as a designer.
플러그인TypeScript · C#GitHub @Docentric온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A lightweight REST API wrapper around the Mustang-Project CLI for validating ZuGFeRD, Factur-X and UBL documents. Fast, reliable, and easy to integrate.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A REST API and web-based validation tool for ZuGFeRD and Factur-X e-invoices, built with ASP.NET Core and React.
This project provides a simple, user-friendly interface for validating ZuGFeRD and Factur-X e-invoices (both PDF and XML formats). It wraps the Mustang Project validation engine in a modern web application with both API and UI access.
Purpose: This tool is primarily used for unit testing and quality assurance in the development of Docentric AX, our document generation and distribution solution. It helps ensure that e-invoices generated by Docentric AX comply with ZuGFeRD and Factur-X standards.
The easiest way to run the validator is using Docker:
docker pull docentric/e-invoice-validator:latest
docker run -p 18889:8080 docentric/e-invoice-validator:latest
Then open your browser to http://localhost:18889
Docker publishes no host port unless you ask for one, so docker run docentric/e-invoice-validator:latest starts the service (listening on port 8080 inside the container) but it is not reachable from the host. To let Docker pick a free host port, use -P (publish all exposed ports) or -p 8080:
docker run -d --name e-invoice-validator -P docentric/e-invoice-validator:latest
Look up the mapped host port with:
docker port e-invoice-validator 8080
or check the PORTS column of docker ps (for example 0.0.0.0:32768->8080/tcp). Then open http://localhost:<mapped-port>.
Explicit mappings such as -p 18889:8080 work as before.
For local development, you need:
Each GitHub release contains ZIP packages for every platform:
| Platform | Framework-dependent (needs .NET 10 runtime) | Self-contained |
|---|---|---|
| Linux x64 / arm64 | Docentric.EInvoice.Validator.RestServer-linux-<x64|arm64>-<version>.zip | Docentric.EInvoice.Validator.RestServer-Self-Contained-linux-<x64|arm64>-<version>.zip |
| Windows x64 / arm64 | Docentric.EInvoice.Validator.RestServer-win-<x64|arm64>-<version>.zip | Docentric.EInvoice.Validator.RestServer-Self-Contained-win-<x64|arm64>-<version>.zip |
| macOS x64 / arm64 (Apple Silicon) | Docentric.EInvoice.Validator.RestServer-osx-<x64|arm64>-<version>.zip | Docentric.EInvoice.Validator.RestServer-Self-Contained-osx-<x64|arm64>-<version>.zip |
The Linux package names changed: they previously had no OS in the name (for example
RestServer-x64-<version>.zip).
The validator needs a Java runtime (JRE 11 or later). Every package contains a script that checks for Java and installs it if it is missing. The scripts are never run automatically:
.\install-java.ps1 (add -Force for non-interactive mode). Uses winget, otherwise a checksum-verified Temurin 21 JRE download installed per user../install-java.sh (add --yes for non-interactive mode). Uses Homebrew, otherwise a checksum-verified Temurin 21 JRE download installed to ~/Library/Java/JavaVirtualMachines../install-java.sh (add --yes for non-interactive mode). Uses apt, dnf, yum, zypper or apk; requires root or sudo.Exit codes: 0 Java 11+ available, 1 installation failed, 2 cancelled or unsupported system.
macOS note: the binaries are not signed or notarized. Gatekeeper may block the first start; remove the quarantine flag with xattr -dr com.apple.quarantine <folder> or allow the app in System Settings.
Clone the repository:
git clone https://github.com/Docentric/docentric-e-invoice-validator.git
cd docentric-e-invoice-validator
Restore dependencies:
dotnet restore src/Docentric.EInvoice.Validator.slnx
cd src/WebUI
npm install
cd ../..
Build the solution:
dotnet build src/Docentric.EInvoice.Validator.slnx --configuration Release
Run the application:
dotnet run --project src/Server/RestServer.csproj
The application will be available at https://localhost:57456 or http://localhost:57457.
Note: When running locally (not via Docker), ensure you have Java Runtime Environment (JRE) 11 or later installed, as it's required for the Mustang Project validation engine.
To build the Docker image yourself:
# Windows
cd src
.\docker-build.ps1
Then run it:
# Windows
.\docker-run.ps1
The application will be available at http://localhost:18889.
src/docker-compose.yml publishes the service on a random free host port (- "8080"). Look up the port with docker compose port e-invoice-validator 8080. To pin a host port, change the mapping to "<host-port>:8080".
For detailed API documentation and interactive testing, visit the Swagger UI at:
http://localhost:18889/api/docs/swagger/index.html
The API provides the following endpoints (all POST endpoints accept multipart/form-data with a single file, up to 100 MB, and time out after 300 seconds):
| Endpoint | Description |
|---|---|
POST /api/pdf/validate-zugferd | Validates a ZuGFeRD / Factur-X PDF |
POST /api/pdf/extract-zugferd-xml | Extracts the embedded XML from a ZuGFeRD / Factur-X PDF |
POST /api/xml/validate | Validates a Factur-X or UBL XML file |
POST /api/xml/convert-to-pdf | Converts a Factur-X or UBL XML file to PDF. Optional query parameter language (en, fr or de, default en) |
GET /api/health | Reports Java and Mustang CLI availability and versions |
Error responses carry an ErrorCode; see ErrorCode.Examples.md. ReDoc is also available at /api/docs/redoc.
The solution consists of two main components:
src/Server)ASP.NET Core REST API that:
src/WebUI)React SPA that:
Server/wwwroot in productionThe Docker image bundles:
Mustang-CLI-2.26.0.jar, published next to the application in /appdocentric-e-invoice-validator/
├── .github/
│ ├── copilot-instructions.md
│ ├── prompts/ # Reusable Copilot Chat prompts
│ └── workflows/
│ └── build.yml # GitHub Actions CI/CD pipeline
├── samples/ # Sample e-invoice files for testing
│ ├── ZuGFeRD e-Invoice.pdf
│ ├── factur-x e-invoice.pdf
│ └── *.xml
├── scripts/ # Development scripts
├── src/
│ ├── Directory.Build.props # Shared project properties
│ ├── Docentric.EInvoice.Validator.slnx
│ ├── Dockerfile # Multi-stage Docker build
│ ├── docker-compose.yml
│ ├── Server/ # ASP.NET Core REST API
│ │ ├── RestServer.csproj
│ │ ├── Program.cs
│ │ ├── Mustang-CLI-2.26.0.jar
│ │ ├── Configuration/
│ │ ├── Contracts/
│ │ ├── Endpoints/
│ │ ├── IO/
│ │ └── Services/
│ ├── Server.Tests/ # xUnit v3 tests
│ └── WebUI/ # React + Vite frontend
│ ├── package.json
│ ├── vite.config.ts
│ ├── src/
│ └── ...
├── LICENSE
└── README.md
Pre-built Docker images are automatically published to Docker Hub:
Repository: docentric/e-invoice-validator
Available Tags:
latest - Latest stable release from the main branch20XX.Y.Z - Specific version tagsmain - Latest build from main branchdevelop - Latest development buildPull Image:
docker pull docentric/e-invoice-validator:latest
docker pull docentric/e-invoice-validator:latest
Start the backend:
cd src/Server
dotnet run
The backend listens on https://localhost:57456 and http://localhost:57457.
Start the frontend (optional, hot reload):
cd src/WebUI
npm run dev
The frontend dev server runs on http://localhost:53365 with hot reload enabled.
dotnet test src/Docentric.EInvoice.Validator.slnx
Contributions are welcome! Please feel free to submit issues and pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2026 Docentric d.o.o.
This project builds upon the excellent work of several open-source projects:
Special thanks to the Mustang Project team for creating and maintaining the comprehensive ZuGFeRD/Factur-X validation library.
Docentric contributes to the Dynamics 365 and Power Platform community through free apps, knowledge platforms, and by organizing events that bring professionals together on both local and international levels – proving ourselves as community-first and community-driven Microsoft ISV Partner.
Reach out to us at [email protected] if you have any questions or feedback.