SAF-T D406 (Rumanía)

La declaración informativa D406 (Declarația informativă D406 - Fișierul Standard de Control Fiscal) es la versión rumana del SAF-T. Es un archivo XML que contiene los datos contables de una empresa (plan contable con saldos, asientos contables, facturas, pagos y, según la variante, activos fijos o existencias) y se presenta ante la ANAF.

Los módulos de eYssen generan el archivo a partir de los datos contables de Odoo, lo comprueban y lo preparan para su carga en la ANAF. Implementan la versión 2.4.9 del esquema de la ANAF y están alineados con la versión J2.2.18 (febrero de 2026) del validador DUKIntegrator.

Nota

Odoo crea, comprueba y exporta el archivo. No lo transmite a la ANAF: cargue usted mismo el archivo exportado en la plataforma de la ANAF y registre después la presentación en Odoo (véase Marcar como presentada).

Módulos

Instale los módulos de las variantes que necesite presentar. El módulo D406 instala como dependencia el marco de declaraciones (Declaraciones ANAF (base)).

Nombre

Nombre técnico

Descripción

Romania - SAF-T D406 (Fișierul Standard de Control Fiscal)

l10n_ro_d406

La variante General (mensual o trimestral), incluida la variante simplificada para empresas no residentes, las nomenclaturas de la ANAF y la correspondencia de cuentas, impuestos, contactos y unidades.

Romania - SAF-T D406 Assets

l10n_ro_d406_asset

La variante anual de Activos. Se instala automáticamente cuando están instalados el módulo D406 y el módulo de activos fijos rumanos.

Romania - SAF-T D406 Inventory

l10n_ro_d406_stock

La variante de Inventario, que se presenta a petición de la ANAF. Se instala automáticamente cuando están instalados el módulo D406 y la valoración de inventario (stock_account).

Si crea una declaración de una variante cuyo módulo falta, Odoo se niega a generarla y le indica qué módulo debe instalar.

Las variantes de la D406

Todas las variantes son el mismo tipo de documento en Odoo (Contabilidad ‣ Rumanía (ANAF) ‣ Declaraciones ‣ SAF-T D406). El Tipo de D406 determina el periodo y el contenido del archivo.

Tipo de D406

Periodo

Comentario de cabecera

Contenido

Plazo

General (mensual / trimestral)

Mes o trimestre (el periodo de IVA de la empresa)

L (mensual), T (trimestral)

Cuentas del libro mayor, clientes, proveedores, tabla de impuestos, unidades de medida, tipos de análisis, productos, asientos del libro mayor, facturas de venta, facturas de compra y pagos.

Último día del mes siguiente al periodo

General (mensual / trimestral) con No residente (simplificada)

Mes o trimestre

NL (mensual), NT (trimestral)

Solo tabla de impuestos, unidades de medida, productos, facturas de venta y facturas de compra.

Último día del mes siguiente al periodo

Activos (anual)

Año

A

Cuentas del libro mayor, activos fijos y transacciones de activos.

30 de mayo del año siguiente

Inventario (a petición)

Mes, trimestre, semestre o año

C

Cuentas del libro mayor, tabla de impuestos, unidades de medida, tipos de movimiento, productos, existencias físicas, propietarios y movimientos de mercancías.

Ninguno: lo establece la solicitud de la ANAF

Las subsecciones que exige el esquema pero que una variante no notifica se escriben vacías. Un plazo que cae en fin de semana o festivo se traslada al siguiente día laborable.

Nota

La D406 General solo puede crearse para los tipos de periodo Mes y Trimestre, y la D406 de Activos solo para un Año. Una declaración del mismo tipo, periodo y versión solo puede existir una vez por empresa.

Configuración

Prerrequisitos

Odoo solo genera una D406 para una empresa que cumpla las siguientes condiciones:

  • el país fiscal de la empresa es Rumanía. Solo estas empresas aparecen en las declaraciones y las demás empresas de una base de datos multiempresa se ignoran (consulte Empresas rumanas y húngaras);

  • la moneda de la empresa es el RON.

La validación también notifica un error si:

  • la empresa no tiene un número de identificación fiscal (CUI) válido, con un dígito de control correcto;

  • el declarante (apellido, nombre y cargo) no está rellenado, ni en la declaración ni en los ajustes (consulte Declaraciones ANAF (base)).

Ajustes de la empresa

Vaya a Contabilidad ‣ Configuración ‣ Ajustes. En la sección Declaraciones ANAF de Rumanía, el ajuste SAF-T (D406) contiene las opciones a nivel de empresa:

Campo

Descripción

Base contable SAF-T (TaxAccountingBasis)

El tipo de contabilidad y de plan contable de la empresa, notificado en la cabecera del archivo (TaxAccountingBasis). El valor predeterminado es A (sociedades mercantiles, OMFP 1802/2014). Los demás valores son I (contabilidad de facturas), IFRS, BANK, INSURANCE, NORMA39, IFN, NORMA36, NORMA14, ONG, ONGE y BNR6. El plan contable de la ANAF incluido, utilizado para asignar las cuentas, sigue esta elección para A, IFRS, ONG y ONGE.

Periodo de declaración SAF-T

Mensual o Trimestral. Es el periodo de la D406 general y sigue el Periodo de IVA de la empresa (mensual si el periodo de IVA es mensual, trimestral en caso contrario). Puede modificarlo.

No residente registrado a efectos del IVA

Márquelo si la empresa es un no residente registrado a efectos de IVA en Rumanía. La D406 general es entonces la variante simplificada (comentario de cabecera NL o NT).

Entidad fiscal SAF-T

Referencia opcional de la empresa, división o sucursal (TaxEntity).

Declarar cuentas sin saldo

Declara también las cuentas que no tienen saldo inicial, movimientos ni saldo final.

Declarar la distribución analítica

Activado de forma predeterminada. Declara la distribución analítica de los apuntes contables (los tipos de análisis y las líneas de análisis de los asientos).

Tamaño máximo del archivo comprimido (MB)

500 de forma predeterminada, el límite de la ANAF para un formulario D406. Una declaración mayor se divide en varios archivos (consulte Archivos grandes).

Asignar los datos contables a los códigos SAF-T

El archivo SAF-T utiliza sus propios códigos para cuentas, impuestos, contactos y unidades. Los módulos los deducen de sus datos y permiten anular cada uno de ellos. Compruebe el resultado antes de la primera presentación: la validación notifica los datos que no han podido asignarse.

Cuentas

Abra una cuenta (Contabilidad ‣ Configuración ‣ Plan contable) y vaya a su pestaña SAF-T (D406). Muestra los valores declarados y las anulaciones:

  • ID de cuenta SAF-T: el número de la cuenta en el archivo. Si está vacío, se utilizan los dígitos del código de la cuenta (4111.01 pasa a ser 411101). Debe ser un entero distinto de cero.

  • Cuenta estándar ANAF: la cuenta sintética del plan contable de la ANAF. Si está vacío, se utiliza la cuenta sintética más larga del plan contable de la ANAF con la que empieza el número de la cuenta.

  • Tipo de cuenta SAF-T: Activo (saldo deudor), Pasivo (saldo acreedor) o Bifuncional (deudor o acreedor). Si está vacío, las cuentas bifuncionales del plan (por ejemplo, 121, 4428 y 473) se reconocen por su número, las cuentas de activo rectificativas (28x, 29x, 39x, 49x, 59x) son Pasiv y las demás cuentas siguen el tipo de cuenta de Odoo.

Impuestos

En un impuesto, el campo Código de impuesto SAF-T establece el código de forma explícita. Si está vacío, Odoo utiliza, por este orden: el valor predeterminado de la plantilla del plan contable, las Reglas de correspondencia de impuestos del formulario D406 y los Códigos de impuesto rumanos del impuesto con los códigos SAF-T definidos por tipo. También se asignan los impuestos históricos del 19 %, 9 % y 5 %. Las líneas de factura sin impuesto se notifican con el tipo de impuesto 000.

Las reglas y los códigos de impuesto se encuentran en Contabilidad ‣ Rumanía (ANAF) ‣ Configuración. Las propias listas de la ANAF (Códigos de impuesto, Tipos de impuesto, Cuentas estándar, Unidades de medida y Listas de códigos) se encuentran en Contabilidad ‣ Rumanía (ANAF) ‣ Configuración ‣ Nomenclátores SAF-T.

Contactos

En la pestaña Facturación de un contacto, el campo Identificador SAF-T anula el identificador del cliente o proveedor. En caso contrario, Odoo lo construye a partir de los datos de la entidad comercial:

Prefijo

Utilizado para

00

Empresa rumana: 00 + CUI.

01

Empresa con un número de IVA de la UE: 01 + el número de IVA.

02

Empresa con un identificador fiscal de fuera de la UE: 02 + el identificador.

03

Persona física con CNP (código numérico personal): 03 + CNP.

04, 05, 06

Personas físicas sin CNP y empresas extranjeras sin número de IVA: 04, 05 o 06 + un código interno.

080000000000000

Clientes minoristas no identificados (líneas a cobrar sin contacto).

Unidades y productos

En una unidad de medida, Unidad de medida SAF-T selecciona el código de la nomenclatura de la ANAF (recomendación 20/21 de UN/ECE). Si está vacío, el código se deduce de la unidad estándar de Odoo, o H87 (pieza) en caso contrario. En la pestaña Contabilidad de un producto, Código NC (SAF-T) contiene el código de la Nomenclatura Combinada de 8 dígitos. Rellénelo donde lo exija la ley (importaciones y exportaciones, movimientos intracomunitarios, inversión del sujeto pasivo por código NC, bienes sujetos a impuestos especiales); en caso contrario, se notifica como 0.

Diarios

En la pestaña Ajustes avanzados de un diario, el grupo SAF-T (D406) tiene dos campos: Mecanismo de pago SAF-T (por defecto 10 para los diarios de efectivo y 42 para los diarios de banco) y Autofacturación (SAF-T). Marque este último en el diario de compras de las facturas autofacturadas (autofacturi): las facturas del diario se notifican con el tipo de factura y el indicador de autofacturación 389.

Generar y validar una declaración

Para crear una declaración, vaya a Contabilidad ‣ Rumanía (ANAF) ‣ Declaraciones ‣ SAF-T D406 y haga clic en Nuevo. La lista solo muestra las empresas cuyo país fiscal es Rumanía.

  1. Seleccione el Tipo de D406: General (mensual / trimestral), Activos (anual) o Inventario (a petición). Los tipos Activos e Inventario solo están disponibles si el módulo correspondiente está instalado.

  2. Seleccione el Tipo de periodo, el Año y el Periodo. La variante general se declara por mes o trimestre, la de activos por año y la de inventario por mes, trimestre, semestre o año.

  3. Compruebe la Base contable, el Comentario de cabecera y, para un no residente, la casilla No residente (simplificada).

  4. Haga clic en Generar. La declaración pasa a Calculada.

  5. Haga clic en Validar. La declaración pasa a Validada, o vuelve a Calculada si se encuentran errores bloqueantes.

Nota

La generación solo es posible si la empresa es rumana (país fiscal) y su moneda es el leu rumano (RON). Se rechaza una empresa que no esté en RON o una empresa húngara.

Validar ejecuta tres comprobaciones por orden:

  1. Las comprobaciones locales sobre los datos contables (véase la tabla siguiente).

  2. La comprobación XSD con el esquema SAF-T incluido en el módulo (versión 2.4.9).

  3. La comprobación con DUKIntegrator, ejecutada por el servicio de validación DUK configurado en Declaraciones ANAF (base). Si no hay ningún servicio configurado, esta comprobación se omite (el estado es No configurado) y solo se aplican las comprobaciones locales y XSD. Si no se puede acceder al servicio, el estado es Servicio no disponible y se añade un aviso.

Los resultados se enumeran en la pestaña Validación, con los estados Comprobación XSD y Validación DUK. Los botones inteligentes Errores y Advertencias abren la lista de mensajes. Los errores bloquean la exportación; los avisos no.

Comprobación

Gravedad

Significado

COMPANY_CUI

Error

Falta el número de identificación fiscal de la empresa o su dígito de control no es válido.

DECLARANT

Error

Falta el apellido, el nombre o el cargo del declarante.

PARTNER_ID

Error

Un contacto utilizado en el periodo no tiene un identificador utilizable, o su identificador no es válido.

ACCOUNT_UNMAPPED, ACCOUNT_CODE, ACCOUNT_DUPLICATE

Error

Una cuenta no coincide con ninguna cuenta del plan contable de la ANAF, no tiene un ID de cuenta SAF-T numérico, o el mismo ID lo utilizan dos cuentas.

TAX_UNMAPPED

Error

Un impuesto utilizado en el periodo no tiene código de impuesto SAF-T.

TRIAL_BALANCE, GLE_BALANCE

Error

Los saldos inicial y final, o los asientos del libro mayor, no cuadran.

PARTNER_CITY

Aviso

El contacto no tiene ciudad; se notifica -.

PAYABLE_NO_PARTNER

Aviso

Un apunte contable de una cuenta a pagar no tiene contacto: se notifica con el identificador de la empresa. (Los apuntes de cuentas a cobrar sin contacto se notifican como clientes minoristas no identificados, sin mensaje.)

INVOICE_LINE_NO_TAX

Aviso

Una línea de factura no tiene impuesto.

TAX_INACTIVE

Aviso

El código de impuesto SAF-T de un impuesto utilizado en el periodo está inactivo en la nomenclatura de la ANAF.

PERIOD_OPEN

Aviso

El periodo todavía no ha finalizado.

PERIOD_TYPE

Aviso

El tipo de periodo difiere del definido en la empresa.

UOM

Error

Una unidad de medida se notifica con un código que no figura en la nomenclatura SAF-T.

Tras un cambio en los datos contables o en la asignación, haga clic en Regenerar y después en Revalidar.

Exportar y presentar el archivo

  1. Una vez que la declaración está Validada, haga clic en Exportar XML. El archivo se descarga y la declaración pasa a Exportada. Utilice Volver a exportar XML para descargarlo de nuevo.

  2. Cargue el archivo en la ANAF, en el SPV (Spațiul Privat Virtual, el portal en línea de la ANAF).

  3. De vuelta en Odoo, haga clic en Marcar como presentada. La Fecha de presentación se establece en la fecha de hoy si está vacía. Rellene la Fecha de presentación y el Número de registro facilitado por la ANAF en la pestaña Validación.

Nota

Odoo no transmite el archivo a la ANAF. Marcar como presentada solo registra que usted lo ha hecho.

La pestaña Archivos enumera cada archivo con su tamaño y su estado XSD y DUK, y permite descargarlo. Si se solicitó un informe DUK en los ajustes, el PDF también está disponible allí. El nombre del archivo es D406_<CUI>_<period>_v<version>.xml; para las variantes de activos e inventario empieza por D406_A_ y D406_C_ respectivamente.

Marcar como presentada, archivar y corregir

Marcar como presentada solo está disponible en una declaración exportada. Para corregir una declaración que ya se exportó o presentó, haga clic en Crear rectificativa. La nueva declaración es una nueva versión completa del mismo tipo y periodo, y se genera y valida de la forma habitual. No se puede crear una rectificativa mientras una versión más reciente siga en curso.

Cuando la rectificativa se marca como presentada, las versiones anteriores se archivan. Utilice Archivar para archivar una declaración manualmente y Restablecer a borrador para empezar de nuevo antes de la presentación.

Archivos grandes

El archivo se genera mediante flujo continuo, de modo que pueden exportarse empresas grandes. Si el archivo comprimido supera el límite de tamaño (500 MB de forma predeterminada), las subsecciones se distribuyen en varios archivos. Una subsección nunca se divide y cada archivo lleva la cabecera completa con su posición en la secuencia (_1of3, _2of3, …). Una exportación de varios archivos se descarga como archivo ZIP. Si una sola subsección es mayor que el límite, se produce un error.

Qué exporta cada variante

General (l10n_ro_d406)

La cabecera, los archivos maestros (cuentas del libro mayor, clientes, proveedores, tabla de impuestos, unidades de medida, tipos de análisis, productos), los asientos del libro mayor del periodo con la información fiscal, los documentos de origen (facturas de venta, facturas de compra y pagos) y los saldos inicial y final.

No residente

Si No residente (simplificada) está marcada, se genera el archivo simplificado. Un no residente solo puede presentar la variante general.

Activos (l10n_ro_d406_asset)

Se notifica una vez al año, antes del 30 de mayo del año siguiente (trasladado al siguiente día laborable si es necesario). Enumera los activos fijos de tipo compra que están en curso o cerrados, cuya fecha es anterior o igual al fin del año y que no fueron dados de baja antes del año. La valoración es siempre la contable. El código de clasificación procede del catálogo del HG 2139/2004 (consulte Activos fijos (Rumanía)). Se genera un aviso (ASSET_CATALOG) si falta el código y un error (ASSET_ACCOUNT) si la categoría del activo no tiene cuenta de activo. Las transacciones son la adquisición (10, para los activos adquiridos en el año), la amortización contabilizada en el año (30) y la baja.

En el formulario del activo, la pestaña SAF-T (D406) tiene los campos Fecha de baja (SAF-T), Tipo de baja (SAF-T) e Importe obtenido por la baja (SAF-T). El tipo y el importe aparecen una vez introducida una fecha de baja. Los tipos son Venta (valor predeterminado), Desguace, Faltante de inventario, Cedido gratuitamente y Otras.

Inventario (l10n_ro_d406_stock)

Solicitado por la ANAF; no hay plazo fijo. Enumera las existencias físicas por almacén y producto almacenable (cantidad, valor inicial y final, cuenta de existencias), los propietarios de existencias de terceros y los movimientos de mercancías del periodo a partir de los movimientos de existencias realizados (compra, producción, venta, devoluciones, consumo, interno, ajuste de inventario, desecho y otros). El tipo de documento es NIR, AVIZ o BON, y el número de documento es el número del NIR si existe. Se genera un aviso (STOCK_ACCOUNT) si la categoría de un producto no tiene cuenta de valoración de existencias. Consulte Inventario (Rumanía).

Limitaciones conocidas

  • Pagos: la liquidación de facturas en otros diarios (por ejemplo, una compensación realizada con un asiento varios) solo se notifica en el libro mayor.

  • Inventario: la cantidad de cada almacén se valora al coste unitario medio de la valoración de toda la empresa. Las existencias propiedad de terceros figuran en los propietarios, pero no se valoran en las existencias físicas.

  • Activos: las bajas proceden de los campos SAF-T del activo, ya que el módulo estándar de activos no tiene fecha de baja. Las revalorizaciones y los traspasos se notifican como 0.

  • Una empresa húngara, o una empresa en una moneda distinta del RON, no puede generar la declaración.