TOOL · FREE

Does your SAF-T file hold up?

Drag the file in below and find out whether it meets the Danish SAF-T standard — and where it falls short if it does not.

No upload — the file stays on your computer.

The individual findings in the report are described in Danish — they come from Struktura's Danish rule catalogue. Everything else on this page is in English, and your file never leaves your machine.

Drag your SAF-T file here

or choose a file — .xml

TWO CHECKS

A file can pass the schema and still be wrong.

01

Schema validation

The file is held up against the Danish Business Authority's own schema: are all mandatory fields present, are the values in the right format, and does the structure hold together. It is the check a recipient runs first.

02

Struktura's rule check

What the schema does not catch: that debit and credit add up, that every transaction balances in itself, that entries point to accounts that exist, and that opening balance plus movements lands on the closing balance.

And then there is what a tool cannot answer

A file can pass both checks and still cause problems in an authority review — because the chart of accounts is mapped incorrectly to the standard chart, because the VAT setup does not match how the books are actually kept, or because the system is configured to omit something no one ever decided on. That takes a person who has sat on both sides of the table.

See what a readiness check covers →

Is my file sent anywhere?

No. The entire validation runs as code in your browser — the file is read from your own disk and never leaves the machine. There is no upload and no logging of the file contents. You can switch off the network after the page has loaded and the tool still works. One thing does happen: when a validation finishes, the page sends an anonymous numeric summary — which version, which size bracket, how many findings and how long it took. Never the file name, never the contents, no cookie. We use it to know whether the tool is being used.

Why is it free?

Because the answer to whether a file holds should not cost anything — neither for a company that has to deliver one, nor for a vendor building the export. I make my living on the advisory work behind it: what the requirements mean for your setup, and what to do about them. There is no e-mail wall in front of the result — you see every single finding without disclosing anything.

How large a file can it handle?

The file is read as a stream rather than held in memory, so size is rarely the problem — time is. A file of just under 200 MB with 270,000 entry lines takes about ten seconds on an ordinary laptop, and it scales roughly linearly: a 1 GB file takes about a minute. Above 300 MB we show a time estimate before starting. The upper limit is 2 GB.

Which versions are supported?

Danish SAF-T 1.0, 2.0 and 2.1 — both the standard that applies today and the two replacing it. The tool reads the file's own version declaration and picks the schema accordingly, or you can choose yourself. The schemas are the Danish Business Authority's public XSD files.

Does “no findings” mean we are ready?

It means the file is technically sound and the numbers add up. Whether your bookkeeping practice and system setup would stand up to an authority review is a different question — that is what a readiness check answers.

TERMS OF USE

The tool is free to use for validating your own files. It must not be used in an automated fashion — no scraping, no bulk runs and no embedding in other services. The rule catalogue behind the check is Struktura's own and must not be extracted, reimplemented or included in other products.

The schemas are the Danish Business Authority's public XSD files for Danish SAF-T Financial. The tool is Struktura's own and is neither provided nor endorsed by the Danish Business Authority.