====== Factura electrónica (Facturae) ====== SmartOffice permite la exportación de una factura electrónica que cumple con las normativas vigentes y resumidas en la página www.facturae.es del Gobierno de España. El formato de factura generado por SmartOffice se llama //facturae//, anteriormente conocido como AEAT-CCI, que es el formato basado en el estándar XML usado por la Agencia Tributaria.\\ El formato de la firma del documento se llama XadES, que también coincide con el estándar usado por la Agencia Tributaria. SmartOffice soporta tanto la versión 3.1 como la versión 3.2. En caso de la firma digital se trata de la versión XAdES-EPES, //formato de firma electrónica avanzada básico//. ===== Requisitos ===== ==== Certificado reconocido ==== En primer lugar se necesita un certificado reconocido. En las [[http://www.agenciatributaria.es/AEAT.internet/Ayuda/obtener_certificado_electronico.shtml|páginas de la Agencia Tributaria]] se explica como conseguirlo. Para SmartOffice se necesita un certificado en **soporte software**, no vale en soporte de tarjeta. Además hay que instalar el certificado en el ordenador, donde se quieren generar las facturas electrónicas, en el **almacén de certificados del mismo Windows**. No vale instalarlo en el almacén del explorador que usamos, por ejemplo en el de //Firefox//. Para añadir un certificado al almacén de certificados de Windows buscamos (''Windows+S'') por la palabra //certificado//, que nos muestra la aplicación del panel de control //Administrar certificados de usuario//. Con ''Intro'' la abrimos y escogemos en el árbol de la derecha la carpeta //Certificados - Usuario actual/Personal/Certificados//, como muestra la siguiente imagen. {{ :usu:guia_de_usuario:certusuariowindows.png?500 |Insertar certificado Windows}} Entonces abrimos el menú //Acción/Todas las tareas/Importar// y seguimos las instrucciones del asistente. Si se pone una contraseña será necesario introducirla cada vez que se quiere firmar un documento desde SmartOffice, por lo cual se recomienda no usarla. En los siguientes enlaces se puede encontrar información avanzada sobre como instalar un certificado en el explorador de Windows (que usa el mismo almacén de certificados del sistema de Windows): * [[https://www.sede.fnmt.gob.es/preguntas-frecuentes/exp-imp-y-elim-de-certificados|Importar y exportar certificados (FNMT)]] * [[http://www.agenciatributaria.es/AEAT.internet/Inicio/Ayuda/Certificado_electronico/Como_importar_un_certificado_electronico/Como_importar_un_certificado_desde_Internet_Explorer.shtml|Importar certificado en el IExplorer]] También se puede añadir certificados desde la aplicación ''certlm.msc'', que se puede arrancar desde el menú de inicio con la tecla ''Windows+R''. === Problemas === Si importamos el certificado con el asistente como explicado arriba, en un paso tenemos la posibilidad de marcar las opciones de importación: {{ :usu:guia_de_usuario:asistenteimportarcertproteccion.jpg?400 |Asistente importar firma opciones}} **Si aquí marcamos la opción ''Habilitar protección segura de clave privada'', aparecerá un mensaje cada vez que se quiere firmar un documento con este certificado**: {{ :usu:guia_de_usuario:advertenciafirma.jpg?400 |Advertencia acceso certificado}} Si hemos importado el certificado con esta opción seleccionada y queremos que no aparezcan estos mensajes, no queda otra que reimportar el certificado con la opción deshabilitada. ==== Programa AutoFirma ==== Smart usa para cualquier operación de firma el programa //AutoFirma// del gobierno de España. Este programa se puede bajar desde la siguiente página:\\ [[http://firmaelectronica.gob.es/Home/Descargas.html|Descargas firma electrónica gobierno de España]] Tanto si trabajamos en un Windows de 32 bits como en uno de 64 bits nos vale la versión //AutoFirma para Windows 32 bits//. Una vez instalado el programa, hay que abrir en SmartOffice el dialogo de las opciones, menú //Archivo/Opciones//, y escoger la pestaña //Firmas//. {{ :usu:guia_de_usuario:soopcionesfirmas.png?400 |Opciones firmas}} Hay que poner en el campo //Acceso al programa// el acceso al programa //AutoFirmaCommandLine.exe//, que Smart normalmente pone automáticamente, si hemos instalado AutoFirma en la carpeta estándar. Luego, en el campo //Certificado// hay que escoger (con F6) el certificado a utilizar para firmar las facturas electrónicas. **Los certificados que se presentan con F6 son los nombres //alias// de los certificados guardados en el equipo. Si el nombre del alias contiene por ejemplo una coma, el programa de firma //AutoFirmaCommandLine// no encuentra el certificado.**\\ En este caso podemos usar los //filtros// en el campo del certificado: filtro=subject.contains:B12345678 Este filtro devuelve el certificado que contiene en su campo //Subject// el NIF que hemos puesto.\\ También podemos usar filtro=issuer.contains:FNMT para seleccionar un certificado emitido por la FNMT.\\ También es posible combinar los dos filtros: filtro=subject.contains:B12345678;issuer.contains:FNMT El filtro por número de serie sería filtro=qualified:68f0ab6b4eea5be7601230df5fff5657 **Lo único que hay que tomar en cuenta es que el filtro debe de devolver exáctamente un certificado.** Con estos dos ajustes, SmartOffice firma automáticamente cualquier factura electrónica en el momento de exportarla. /* ==== Máquina virtual de JAVA (JRE) ==== Hay que instalar una máquina virtual de Java en el ordenador en el que se quiere generar las facturas electrónicas. **Es importante instalar una versión de 32 bits**, que se puede descargar de las páginas de Oracle: [[http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html|Oracle 1.8 JRE]]\\ El fichero a elegir sería el denominado //Windows X86 offline// (versión actual: 8u101). Es probable que en algunos ordenadores ya se ha instalado una máquina virutal de Java. Esto se puede comprobar desde una línea de comandos con el comando java -version Para ver si se trata de una versión de 32 bits, ponemos el comando java -d64 -version que tiene que devolvernos un error como nos muestra la siguiente imagen. {{ :usu:guia_de_usuario:javavercmd.png |}} ==== Librerías de Java ==== Las librerías de Java contienen el código necesario para firmar y validar las facturas electrónicas. **Hay que ponerse en contacto con Smart para que se guarden las librerías en la base de datos del cliente.** */ ===== Generar una Facturae ===== ==== Configuración de países, unidades y formas de pago ==== En primer lugar tenemos que definir las correspondencias entre los códigos de Smart y los de la facturae en las tablas de configuración, especialmente en la tabla de los paises y de las unidades. En ambas tablas existe un campo ''Cód. facturae'', que lo tenemos que rellenar para todos los códigos usados en las facturas de Smart. Las opciones de menú para configurar países y unidades son: * Configuración/General/Países. * Configuración/Inventarios/Unidades de medida. * Configuración/Ventas/Formas de pago. ==== Configuración de los códigos administrativos del cliente ==== Muchas entidades públicas los requieren. Para realizar una debida configuración, póngase en contacto con el cliente. La configuración de los códigos administrativos se realiza con el campo "Cód. depto. factura-e", que existe en la ficha del cliente, en la ficha de la obra y en la factura misma, siempre en la pestaña "Facturación". Primero se coge el código metido en la misma factura. Si está vacío, se coge el código de la obra y si este también está vacío, se mira en la ficha del cliente. Pulsa F6 en este campo y configura el o los centros a utilizar. Muchas veces los centros administrativos piden hasta trés códigos de departamentos para cada una de los //roles// 01 (Oficina Contable), 02 (Órgano Gestor) y 03 (Unidad Tramitadora). Si la dirección de los tres departamentos es la misma, se puede definir de la siguiente manera: {{ :usu:guia_de_usuario:facturaedeptos1.png?600 |Deptos. factura-e 1}} Se pone en "Tipo de rol" los roles a usar separados por coma (no utilizar espacios) y en "Códigos administrativos" los códigos correspondientes a cada una de los roles.\\ Si no se pone ningún dato den el campo "Códigos administrativos", se usa el mismo "Cód. depto." para cada uno de los roles. En el caso de que los departamentos a utilizar para los distintos roles tuviesen direcciones distintas, tenemos que definir un departamento para cada rol: {{ :usu:guia_de_usuario:facturaedeptos2.png?600 |Deptos. factura-e 2}} Luego se tiene que dejar en blanco el campo "Cód. dpto. factura-e" (en la factura, en la obra y en la ficha del cliente). En este caso Smart usa los tres roles como están definidos en la última imagen. **No obstante, en este caso no se puede trabajar con departamentos que varían según obra para este cliente.** ==== Generación de la factura ==== Una vez terminada la configuración, abrimos la ficha de las facturas (//Ctrl+F//), y seleccionamos la factura a exportar. Podemos utilizar uno de los dos formatos implementados mediante: * Factura/Generar fichero facturae 3.1 * Factura/Generar fichero facturae 3.2 {{:usu:guia_de_usuario:facturae.png|}} /* Después de una exportación exitosa confirmamos que queremos firmar la factura. */ Si hemos realizado la configuración del programa //AutoFirma// como indicado más arriba, después de una exportación exitosa de la factura, SmartOffice procede automáticamente a la firma de la misma. La extensión del archivo antes de firmar es siempre **. xml**. Por otro lado, la del archivo con la firma puede ser **.fir** o **.xsig** /* Ahora, si es la primera vez que utilizamos la exportación, SmartOffice nos pregunta, donde en el ordenador se encuentra la librería de Java, ''jvm.dll''. El sitio estándar es C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll Si no se encuentra, puede buscar el archivo con la función de búsqueda de Windows. {{ :usu:guia_de_usuario:facturae3.png |Facturae jvm.dll}} Ahora es el momento de elegir el certificado que queremos usar para firmar el documento. {{ :usu:guia_de_usuario:facturae4.png |Facturae certificado}} Para terminar, SmartOffice comprueba la factura, la firma y valida el documento firmado. Si todo ha ido bien, nos muestra un mensaje de éxito. */ Si todo ha ido bien, SmartOffice nos muestra un mensaje de éxito con los nombres de los dos ficheros creados. Podemos comprobar la factura generada en el siguiente sitio: [[http://sedeaplicaciones2.minetur.gob.es/FacturaE/|Servicio de validación de una facturae]] {{ :usu:guia_de_usuario:facturae5.png |Facturae resultado comprobación}} Otros sitios de validación: - [[https://valide.redsara.es/valide/validarFirma/ejecutar.html]] - [[https://face.gob.es/es/facturas/validar-visualizar-facturas]]