Skip to main content
Finalization is the last stage of the workflow. The compliance rollup transitions to VALID or INVALID, a final invoice is submitted (matching the VAT decision), and NT24 generates the Export File — the signed PDF your customer’s tax authority expects.

Decision branch

Once the earlier modules are complete, compliance settles on a verdict: Webhook subscribers learn the outcome via compliance.decision_made. Pollers see decision populated on GET .../compliance.

Submit the final invoice

Upload the PDF alongside:
When the final invoice is added, the Export File regenerates to include it — a new document version supersedes the previous.

Export File

The Export File is a signed PDF bundling:
  • Buyer identification and KYC validation results.
  • Transaction details (VIN(s), purchase date, amount).
  • Invoice(s) preliminary and final.
  • Payment validation (amount, IBAN, proof).
  • Transport proof (CMR or pickup declaration, delivery confirmation).
  • VIES check history.
  • Compliance decision rationale (VALID_EXPORT or VAT_APPLICABLE).
It is generated for both VALID and INVALID outcomes — in the INVALID case it documents why VAT was applied, which tax authorities also require as an audit artifact.

Auto-generation

Generation kicks off automatically when:
  • complianceStatus transitions to VALID (first time).
  • complianceStatus transitions to INVALID.
  • Final invoice is added and supersedes the earlier version.
  • complianceStatus recomputes from INCOMPLETE back to a terminal state (e.g. a missing doc was uploaded late).
Each generation is a Temporal workflow. You don’t need to trigger it manually in the happy path.

Force regeneration

For exceptional cases (PDF corrupted, template updated, compliance data manually adjusted):
Returns 202 Accepted. New version is available shortly; webhook export_file.generated fires.

Status and download

Response:
Download the PDF:

Statuses

Versioning & immutability

Every generation produces a new document version. Previous versions are marked ARCHIVED (not deleted) so the tax-authority audit trail is preserved. Envers retains full revision history. Your integration should download the latest version (status: READY) by default. Older versions remain accessible if you saved their documentId previously.

Webhook for real-time download

Download immediately on receipt; the URL is stable for the document’s lifetime.

Next

Webhook setup

Subscribe to export_file.generated.

Compliance rollup

Understand what drives the decision.