Plug-in · GoBD & German tax audits

The auditor should read your data in. Not rework it.

In a German data-medium handover (“Z3”) goodwill isn't what decides it — the package is. If it loads straight into the auditor's software, the point is closed. If they first have to prepare it or ask for more, it costs time — and the goodwill you'd rather still have later in the audit. That's what this plug-in is for.

Z3 — data medium handover Description standard with index.xml Runs inside your NetSuite account Entity, period and book selectable
Data medium · Muster GmbH · 01/2024 – 12/2024 · book: primary
index.xml Describes every file, column and format 14 KB
gdpdu-01-08-2002.dtd Format definition for index.xml 4 KB
buchungen.csv Journal lines for the period 1,284,902
konten.csv Chart of accounts 1,412
debitoren.csv Customers with transactions 3,108
kreditoren.csv Vendors with transactions 968
steuer.csv Tax codes and amounts 84
READY Ready to hand over — unchanged from how it was read out of the postings. Row counts are in the run log.
Where it goes wrong in practice

Formally compliant is not the same as audit-friendly.

NetSuite's Germany Localization ships its own GoBD data extract — 14 files including DTD and index.xml. What we keep hearing from clients isn't “it doesn't exist”. It's that when it matters, it doesn't fit on the first try — and that gets uncomfortable. Some of the reasons are in Oracle's own documentation.

Prerequisites many accounts don't meet

The standard extract requires auto-generated numbering for customer and vendor IDs, and both must be unique. Grown accounts often don't satisfy that — and find out once the auditor is already in the building.

Cash basis is left out

Per Oracle's documentation, cash basis is not supported. If you account on payments received, the standard route leaves a gap you cannot talk your way around.

Tied to bundle and version

The extract depends on the Germany Localization. After a localization update, previously generated files are no longer available for download — they have to be generated again. Mid-audit is the wrong moment for that kind of surprise.

Every follow-up delivery costs goodwill

The German tax administration itself complains about losing too much time preparing delivered data before the analysis can even start. Somebody pays for that time in the end — and it is rarely the auditor.

The responsibility stays with you

Even with a GoBD interface in the system, it remains your duty to hand the data over in a form the auditor can load into their software. “That's how the system exported it” is not a position you negotiate from.

The first test shouldn't be the audit

Until someone has run the extract over a real period, it is an assumption. We turn that around: the real case gets rehearsed beforehand, not experienced.

Our answer

A package the auditor reads in — and a trial run before that.

Straight from the postings

The export reads where the figures are created: in your NetSuite account. No intermediate state in Excel that can drift away from the books.

Described, not just exported

The data files come with an index.xml describing every column. That is what turns files into a data medium the audit software loads without hand-work.

Cleanly delimited

Entity, period and book are chosen before the run. You can always say what a delivery contains — and what it deliberately doesn't.

Trial run before the audit

We run the export once over a real period and look at the result together. What's missing surfaces then, not in the audit room.

Repeatable

The same period yields the same state. If the audit comes back with a question, you regenerate the delivery instead of reconstructing it.

No detour through third-party tools

No export to Excel, no clipboard, no chain of scripts. What you hand over comes out of the system.

Scope

What's on the data medium.

Journal lines

The postings of the selected period with document, date, account, amount, currency and posting period.

Accounts

The chart of accounts with number, name and type — the mapping without which posting lines stay mute.

Business partners

Customers and vendors with the master data the postings refer to.

Tax details

Tax codes and amounts as they hang off the postings — the basis for checking VAT.

Periods and books

Posting periods and the selected accounting book, so the delimitation of the period stays visible inside the package.

index.xml

The description file for everything delivered: column names, data types, formats, delimiters and relations.

The exact file scope is agreed when we set the export up on your account — for instance whether fixed assets are included and which books belong in the delivery.
How it works

Four steps to handover.

1

Pick period and entity

Choose audit period, entity and book. Before the run the plug-in estimates the volume and warns you when a period is too large for a single run.

2

Let the export run

The job runs as a Map/Reduce in the background — your users keep working, even in accounts with millions of journal lines.

3

Check the package

Data files and index.xml land in the File Cabinet. Row counts and delimitation are in the run log before anything leaves the house.

4

Hand it over

The package goes to the audit exactly as it was produced. Repeatable: the same period yields the same state.

Large accounts

Built for volumes that break ordinary exports.

Volume check first

The estimate runs separately from the expensive query. Asking “does this fit into one run?” doesn't cost you half an hour.

Map/Reduce, not one long run

The work is split into packages, each with a fresh governance budget — no more “the script died after hours”.

A log that tells you something

Rows read, delimitation, duration and errors are in the run log — including when a run aborts.

FAQ

Frequently asked

Do we need NetSuite's Germany Localization?

No. The plug-in works on the postings in your account and brings its own logic. If the localization is installed it does no harm — but it isn't required.

We account on a cash basis — does that work?

We check that in the trial run on your real data. That's exactly what it is for: whatever the standard route leaves open should be on the table before the audit, not during it.

What format is delivered?

Data files with a describing index.xml following the GDPdU description standard — the format common German audit software reads.

How long does an export take?

It depends on account and period. That's why the volume is estimated up front and the plug-in suggests splitting a period that is too large, rather than running into a time limit.

Where do the files end up?

In the File Cabinet of your NetSuite account. You decide who downloads and forwards them — the data does not leave your system on its own.

Several subsidiaries or books?

Entity and accounting book are selected per run, so you deliver exactly the scope the audit asked for — and nothing beyond it.

How is the plug-in installed?

As SuiteBundle 704924 in your NetSuite account, with the required role permissions — updates come through the same channel. We do the setup together in a short session.

Get started

Before the next audit, not during it.

We set the export up in your account and run it once over a real period — so you know the data handover works before the announcement letter arrives.