SAF-T (D406)

Generate the D406 SAF-T file from Business Central, with ANAF's nomenclatures loaded and your accounts mapped for you. Setup, monthly use and licensing in one place.

What it does

SAF-T (D406) (in Business Central: SAFT) produces the Romanian Standard Audit File for Tax, declaration D406, from the data in Microsoft Dynamics 365 Business Central. It loads ANAF's nomenclatures, maps your chart of accounts and VAT setup to them, checks your data for gaps and writes the XML file, zipped and ready for you to validate and submit with ANAF's own tools.

It is built for Romanian companies on Business Central that file D406 monthly, quarterly, annually or on request. For the reporting rules, read our guide SAF-T D406 în Business Central (in Romanian).

The file is created and downloaded inside your Business Central. The app sends nothing to ANAF or to 365vanguard.

Key capabilities

  • Guided setup. The assisted setup guide Set up SAF-T (D406) loads ANAF's SAF-T nomenclatures (schema definitions of 16 February 2026): tax codes, the standard chart of accounts, units of measure, payment mechanisms, stock movement types, tax regimes, and ISO country and currency codes.
  • Automatic account mapping. G/L accounts are mapped to ANAF's standard accounts (chart under OMFP 1802/2014), per mapping range, and VAT posting setup gets its SAF-T tax codes.
  • All declaration types. Monthly, quarterly, annual and on-request (Lunar, Trimestrial, Anual, La cerere), plus the non-resident variants.
  • Content of the file. Master files (G/L accounts, customers, suppliers, products, units of measure, tax table, analysis types, movement types, owners, assets), general ledger entries, and source documents: sales invoices, purchase invoices, payments and asset transactions.
  • Data check. Data Check lists missing values before you export, and the export itself checks mappings, VAT codes, source codes and dimensions.
  • Control over the export. Switch sections on or off, split by month, and run large exports in parallel.
  • Exclusions. A SAF-T Not Exported flag on customers, vendors, posting groups and documents.
  • Output. An XML file in a ZIP archive, which you download from the export card.

Requirements

  • Microsoft Dynamics 365 Business Central online (SaaS), version 28 (2026 release wave 1) or later.
  • A company operating in Romania.
  • License Manager, our free licensing app. Business Central installs it automatically as a dependency.
  • RO Foundation, installed automatically as a dependency.
  • Local currency (LCY Code in General Ledger Setup) set to RON.
  • Outbound HTTP requests allowed for License Manager. SAF-T itself makes no outbound calls.

Installation

Install SAFT from its Microsoft Marketplace listing or from inside Business Central, under Extension Management → Extension Marketplace. Business Central installs License Manager and RO Foundation automatically.

If you'd rather plan the installation with us, contact us.

Setup

  1. Allow outbound HTTP for License Manager (below), so the licence can be checked.
  2. Run the setup guide. Open Assisted Setup and choose Set up SAF-T (D406). It asks for:
    • the company's details;
    • the Declaration Period (monthly or quarterly) and the first period start;
    • the tax accounting basis (default A), whether to Map G/L Accounts, the default bank payment mechanism and whether to Export Dimensions.
    It then loads tax codes, standard accounts and nomenclatures, and sets up countries and currencies, units of measure, source codes, the G/L account mapping, VAT posting setup, bank accounts and dimensions. The guide only adds what is missing and never overwrites your data, so you can run it again.
  3. Read the log. Show log lists what still needs a decision. Typical items: the SAF-T contact person, tax codes that need your choice, and G/L accounts it could not map.
  4. Complete the open items. The setup pages are grouped under Localization RO SAFT on the Accountant role centre: SAF-T Setup, SAF-T Mapping Range, VAT posting setup, SAF-T Source Codes, SAF-T Payment Mechanism and others. In Company Information, fill Tax Accounting Basis and SAF-T Contact No.
  5. Mapping ranges. On SAF-T Mapping Setup, Copy Mapping from Another Range creates the mapping for a new period from an existing one.

Allow outbound HTTP requests

License Manager must be able to reach the internet. Business Central blocks these requests by default in sandbox environments, and an administrator can also block them in production. To allow them:

  1. Open the Extension Management page.
  2. Select the app and choose Configure.
  3. Turn on Allow HttpClient Requests.

For License Manager, the 365vanguard Licenses page also has an Allow HTTP requests action that takes you to this setting.

Daily use

Generating a D406 file

  1. Open SAF-T Exports and create a new SAF-T Export.
  2. Choose the Mapping Range Code for the period. Its dates become the export period.
  3. Choose the declaration type in Header Comment and the sections to include.
  4. Choose Data Check and fix what it lists.
  5. Choose Start. When the export finishes, choose Download Files.
  6. Validate and submit the file with ANAF's tools, as you do for other declarations.

If you change data after an export, run it again. Regenerate Zip File rebuilds the archive from the generated XML.

Licensing and trial

SAF-T is licensed through License Manager:

  • Per tenant. One licence covers your organisation's Microsoft Entra tenant: every production and sandbox environment in it.
  • Automatic trial. The first time the app is used in a tenant, a free 30-day trial starts, one per tenant for each app. The days left are shown in Business Central.
  • Subscription. After the trial, you order a subscription directly from us. Contact us for pricing.
  • At expiry. The app keeps working for a 14-day grace period, with a warning for administrators. After that its own actions stop, but your data stays in Business Central and stays readable, and standard Business Central keeps working.
  • Sandboxes. A sandbox that cannot reach the licence service is never restricted.
  • Not resellable. A licence belongs to one organisation and cannot be transferred.

The full terms are in our licence terms (EULA).

Troubleshooting

  • The export stops on the contact. Fill SAF-T Contact No. in Company Information.
  • Payments are missing from the file. Every bank account used for payments needs a payment mechanism. Set it on the bank account (cash accounts use 10, bank accounts usually 42).
  • Source code errors. Every source code used in G/L entries needs a SAF-T source code on SAF-T Source Codes.
  • Dimension errors. When dimensions are exported, each dimension needs an analysis type.
  • Currency errors. The LCY Code in General Ledger Setup must be RON.
  • Unmapped accounts. Open SAF-T Mapping Setup for the period's range and map the accounts the setup log listed.
  • A licence message appears. See License Manager troubleshooting.

Frequently asked questions

Does the app submit D406 to ANAF?

No. It generates the D406 XML file and packs it in a ZIP. You validate and submit the file with ANAF's tools, as with other declarations.

Which declaration types does it support?

Monthly, quarterly, annual and on-request declarations, plus the monthly and quarterly variants for non-residents.

Do we have to map every G/L account by hand?

No. The setup guide maps G/L accounts to ANAF's standard accounts automatically and lists the ones it could not map, so you only handle the exceptions.

Do we need the 365vanguard Romanian Localization?

No. SAF-T works on its own. If the Romanian Localization Package is installed, invoices marked as self-billing in its VAT posting setup are reported as self-billed (invoice type 389). Without it, all invoices are reported as ordinary invoices and credit memos. Romanian Localization Package

Does the file include stock movements and physical stock?

Not in the current version. It includes master files, general ledger entries and source documents: sales and purchase invoices, payments and asset transactions.

Does 365vanguard receive our accounting data?

No. The file is generated and downloaded inside your Business Central. We only receive the technical licence check-in described in our privacy policy.

How does the licence work?

One licence covers all production and sandbox environments of your Microsoft Entra tenant. A 30-day trial starts automatically the first time you use the app.

Support

Have a question about SAF-T (D406), or is something not working as expected? Write to us and include:

  • your tenant ID (on the 365vanguard Licenses page, choose Copy tenant ID);
  • the environment name and type (production or sandbox) and the app version (from Extension Management);
  • what you did and the exact error text, ideally with a screenshot.

All channels are on our support page.

Release notes

Available on Microsoft Marketplace since October 2026. Notes for each new version will appear here, newest first.

Questions about SAF-T (D406)?

We answer in English or Romanian. Tell us what you are trying to do and what you see on screen.