Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mdiago/VeriFactu/llms.txt
Use this file to discover all available pages before exploring further.
Settings is the central configuration class for the VeriFactu library. All configuration is accessed and modified through the static Settings.Current property, which holds the active configuration instance. Configuration is persisted as an XML file (Settings.xml) in the system’s common application data folder (typically %ProgramData%\VeriFactu\ on Windows, or ~/.config/VeriFactu/ on macOS/Linux).
To apply changes, call Settings.Save() after modifying any properties. The path to the configuration file can be changed with Settings.SetConfigFileName(string fileName) — useful for multi-tenant deployments where each tenant needs its own configuration.
Settings are loaded automatically when the VeriFactu library is first used.
The static constructor reads the
Settings.xml file from the data folder and
initialises Settings.Current; you do not need to call any load method
explicitly before reading or modifying values.Propiedades de configuración
| Propiedad | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
IDVersion | string | "1.0" | Versión del esquema de estructura de información utilizada para la generación y conservación de los registros de facturación. Alfanumérico(3), lista L15. |
InboxPath | string | %ProgramData%\VeriFactu\Inbox\ | Directorio en el que se almacenan todos los mensajes recibidos de la AEAT a través de VERI*FACTU. |
OutboxPath | string | %ProgramData%\VeriFactu\Outbox\ | Directorio para copias de todos los mensajes enviados a la AEAT mediante VERI*FACTU. |
BlockchainPath | string | %ProgramData%\VeriFactu\Blockchains\ | Directorio raíz del almacén de cadenas de bloques; cada emisor (vendedor) tiene su propio subdirectorio. Lanza InvalidOperationException si se intenta cambiar con datos existentes. |
InvoicePath | string | %ProgramData%\VeriFactu\Invoices\ | Directorio de almacenamiento de los XML de facturas emitidas, organizado por emisor. |
LogPath | string | %ProgramData%\VeriFactu\Log\ | Directorio donde se escribe el registro de mensajes del sistema cuando LoggingEnabled es true. |
VeriFactuEndPointPrefix | string | https://prewww1.aeat.es/…/VerifactuSOAP | Prefijo del endpoint SOAP de la AEAT para el envío de registros de alta y anulación. El valor por defecto apunta al entorno de pruebas. Para producción, utilice VeriFactuEndPointPrefixes.Prod. |
VeriFactuEndPointValidatePrefix | string | https://prewww2.aeat.es/…/ValidarQR | Prefijo del endpoint de validación de la AEAT (servicio de cotejo por QR). Por defecto apunta al entorno de pruebas. Para producción, utilice VeriFactuEndPointPrefixes.ProdValidate. |
VeriFactuHashAlgorithm | TipoHuella | TipoHuella.Sha256 ("01") | Algoritmo de hash utilizado para calcular la huella de cada registro. Corresponde a la lista L12 de la AEAT. El único valor actualmente válido es SHA-256 (01). |
VeriFactuHashInputEncoding | string | "UTF-8" | Codificación del texto de entrada antes de aplicar la función de hash. |
SkipNifAeatValidation | bool | true | Si es true, omite la validación en línea del NIF contra el censo de la AEAT antes de enviar cada registro. Útil en entornos de desarrollo o cuando no hay conectividad con la AEAT. |
SkipViesVatNumberValidation | bool | true | Si es true, omite la validación en línea de los VAT numbers intracomunitarios contra el registro VIES de la UE. |
LoggingEnabled | bool | false | Activa o desactiva el registro de mensajes del sistema en el directorio LogPath. |
DisableBlockchainDelete | bool | false | Cuando es true, impide que el sistema elimine la entrada de la cadena de bloques durante la operación de rollback en caso de error. Recomendado en entornos de alta concurrencia donde el deshacido de inserciones puede generar conflictos. |
SistemaInformatico | SistemaInformatico | (ver Sistema Informático) | Datos de identificación del sistema informático de facturación requeridos por la AEAT en cada registro. |
Api | Api | (endpoints de Irene Solutions) | Configuración del API REST de VeriFactu de Irene Solutions: endpoints para crear, anular y consultar registros, obtener QR codes, validar NIFs y listar facturas. Incluye la propiedad ServiceKey de autenticación. |
Propiedad Api
La propiedadApi de tipo Api contiene la configuración del API REST de Irene Solutions para VERI*FACTU. Proporciona acceso a endpoints adicionales de alto nivel para crear y anular registros, obtener códigos QR, validar NIFs, y consultar facturas almacenadas. La propiedad ServiceKey de este objeto contiene la clave de autenticación del servicio.
Endpoints disponibles
La claseVeriFactuEndPointPrefixes expone las cuatro constantes de endpoint oficiales:
| Constante | Valor | Uso |
|---|---|---|
VeriFactuEndPointPrefixes.Test | https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP | Envío de registros — pruebas |
VeriFactuEndPointPrefixes.Prod | https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP | Envío de registros — producción |
VeriFactuEndPointPrefixes.TestValidate | https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR | Validación QR — pruebas |
VeriFactuEndPointPrefixes.ProdValidate | https://www2.agenciatributaria.gob.es/wlpl/TIKE-CONT/ValidarQR | Validación QR — producción |
Guardar la configuración
Modifique las propiedades sobreSettings.Current y llame a Settings.Save() para persistirlas:
Settings.Save(), la librería también verifica que todos los directorios configurados existan y los crea si es necesario.
Cambiar al entorno de producción
Por defecto los endpoints apuntan al entorno de pruebas de la AEAT. Para pasar a producción actualice los dos prefijos:Usar múltiples archivos de configuración
Settings.SetConfigFileName(string fileName) carga un archivo de configuración diferente y recarga Settings.Current con sus valores. Esto permite aislar la configuración de distintos inquilinos (tenants) o entornos en el mismo proceso:
Settings.Path). Solo se especifica el nombre del archivo, no la ruta completa.