
DATEV EXTF
engineering.seamlessPublished by seamless.engineeringv0.1.0Updated Oct 24, 2026
Validate and write DATEV-Format (EXTF) files locally, with findings in German and English.
Overview
Local MCP server that validates and writes DATEV-Format (EXTF) booking and master-data files, explaining findings in German or English.
- What you can do
- Validate an EXTF file or pasted text, returning header data, error and warning counts, and each finding with line, field, value and explanation in German or English (encoding is only checked for files). Explain a finding code such as amount-dot or bu-automatic. Build a Buchungsstapel (format version 13) from a header and booking rows in cents, validate it, and write it as Windows-1252 to a path or return the CSV text. List the 125 Buchungsstapel or 254 Debitoren/Kreditoren columns by position. Resources expose column lists and finding texts; a prompt validates a file and proposes fixes for the export that produced it.
- When to use it
- Useful when a DATEV import is rejected and you want the reason per line and field, or when you want an assistant to turn a list of bookings into a file DATEV accepts. It checks format only, not bookkeeping correctness.
- Requirements
- Runs locally over stdio via the npm package, started with npx. Needs Node.js 20 or later. No account, API key or environment variable is required. Absolute file paths are safer because relative paths resolve against the server's working directory.
Installation
In SourceWeft
- Open DATEV EXTF in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
datev-extf-mcp
MCP server that validates and writes DATEV-Format (EXTF) files: Buchungsstapel (booking batches) and Debitoren/Kreditoren (customer and supplier master data). Ask your AI assistant why DATEV rejected an import, or have it turn a list of bookings into a file DATEV accepts.
Deutsch: MCP-Server, der Dateien im DATEV-Format (EXTF) prüft und schreibt. Fragen Sie Ihren KI-Assistenten, warum DATEV einen Import ablehnt: Er bekommt jeden Fehler mit Zeile, Feld und einer verständlichen Erklärung, etwa Punkt statt Komma im Umsatz, fehlende führende Null im Belegdatum oder BU-Schlüssel auf Automatikkonten.
- Local only. The server runs on your machine and reads files from disk. Nothing is uploaded, and there's no account or API key.
- Built on
@seamless-engineering/datev-extf. Its rules come from DATEV's own material: the Formatbeschreibung on developer.datev.de, the DATEV-Format Prüfprogramm and the#REWimport messages. - Every file the writer produces passes the validator.
Prefer a browser? The same checks run in the DATEV EXTF validator (English), also without upload.
Install
Needs Node.js 20 or later.
Claude Code
Claude Desktop (claude_desktop_config.json), Cursor (.cursor/mcp.json) and most other clients:
Claude Desktop, one click: download datev-extf-mcp.mcpb from the latest release and open it. Build it yourself with ./scripts/bundle.sh.
Relative file paths resolve against the server's working directory, so absolute paths are the safer choice.
Tools
Resources: datev-extf://columns/buchungsstapel, datev-extf://columns/debkred, datev-extf://findings/de and datev-extf://findings/en.
Prompt: fix_datev_import validates a file and proposes fixes for the export that produced it.
Example
Why does DATEV reject
~/Downloads/EXTF_Buchungsstapel.csv?
Not tax advice
The server checks format, not bookkeeping. It can't tell whether an account or tax key is right for a transaction, and it doesn't pick them when writing. Agree that with your tax advisor.
DATEV and DATEV-Format are trademarks of DATEV eG. This project is not affiliated with or endorsed by DATEV.
Maintenance
Maintained by seamless.engineering for our own production use: we run managed DATEV integrations for shops, payment providers and ERPs, fully EU-hosted. Issues and PRs welcome, no SLA.
Releasing
Bump version in package.json, both versions in server.json and the one in manifest.json, commit, then tag and push: git tag v0.1.1 && git push origin v0.1.1. The release workflow publishes to npm with provenance via trusted publishing, then to the MCP Registry as engineering.seamless/datev-extf.
MIT licence.
Source: README.md at commit 3bd7608
Tools
0Version history
1- v0.1.0LatestSep 26, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts