¡Esta es una revisión vieja del documento!
Tabla de Contenidos
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 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.
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.
Hay que dar un nombre inequívoco al certificado importado:
Se puede cambiar el Nombre descriptivo en cualquier momento, abriendo las propiedades de un certificado, accesible con el menú del botón derecho. El nombre puesto como nombre descriptivo es el que aparece en los dialogos de Smart y no debería repetirse. Tampoco se debería elegir un nombre que ya aparece dentro de otro nombre descriptivo.
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):
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.
Borrar certificados caducados
Conviene borrar los certificados caducados del almacén de Windows. Normalmente se realiza esta operación con el menú correspondiente:
Hay casos en los que aparece en la selección de SmartOffice, o de cualquier otro de nuestros programas que requieren el uso de un certificado, unos certificados que luego no vemos en el manager de certificados de Windows.
En este caso podemos buscar el certificado por las primeras letras de su clave de identificación, que vemos en los parámetros o la descripción del certificado:
Abrimos el manager de certificados y marcamos en el árbol a la izquierda la raíz, Certificados - Usuario actual. A continuación escogemos el menú Acción/Buscar certificados. En el dialogo que se abre cambiamos Buscar en el campo: al valor Nº de serie y metemos en el campo Contiene: las primeras letras del número de serie del certificado.
Al dar en Buscar ahora aparecerá abajo el certificado encontrado y lo podemos borrar con el botón derecho, menú Eliminar.
Si no fuese así podemos usar el PowerShell. Lo abrimos buscando en Windows por power, no hace falta abrirlo en modo de administrador.
Con el siguiente comando pasamos todos los certificados al fichero cert.txt:
Get-ChildItem -Path Cert:\ -Recurse > cert.txt
Dentro de este fichero buscamos por ejemplo por el nif los certificados que nos interesan. Lo importante de la información es el Thumbprint, que podemos usar para borrar el certificado entcontrado:
Remove-Item -Path "Cert:\CurrentUser\My\ABABABABABABABABABABABABAB"
ABABABABABABABABABABABABAB es el Thumbprint del fichero cert.txt.
Si quisieramos ver solamente los certificados del almacén MY, que son los certificados que muestran los programas de Smart, podemos usar el comando
Get-ChildItem -Path Cert:\CurrentUser\My | Format-List Subject,Thumbprint
Problemas
Si importamos el certificado con el asistente como explicado arriba, en un paso tenemos la posibilidad de marcar las opciones de importación:
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:
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:
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.
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.
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
Se usa especialmente cuando el cliente es una entidad pública o cuando el cliente trabaja para la administración pública y se actua entonces como subcontratista de una entidad pública.
Para las entidades públicas se usan los códigos DIR3, que se pueden averiguar en la página del gobierno, directorio de organismos. Esta página nos muestra las combinaciones de roles dadas de alta para un organismo público. Si buscamos por ejemplo por la entidad UNIVERSIDAD DE OVIEDO y filtramos en los resultados por la unidad tramitadora U01300104, nos muestra el siguiente detalle:
Los roles posibles son los siguientes:
- 01 - Oficina contable
- 02 - Órgano gestor
- 03 - Unidad tramitadora
- 04 - Órgano proponente (normalmente no es necesario ponerlo)
Además de código DIR3, del rol y del nombre de cada departamento se necesita la dirección de cada uno de ellos (que puede ser el mismo). Estos datos no aparecen en la web de face, se lo tenemos que preguntar al cliente.
Cuando trabajamos como subcontratista de un cliente que por su parte trabaja para la administración pública, este cliente tiene que darse de alta en el directorio de entidades (DIRE), que podemos consultar en la página del gobierno DIRE.
Cada empresa dada de alta en DIRE tiene un código principal para la entidad y además puede tener números DIRe para diferentes unidades dentro de la entidad. El DIRe se compone del código de país, el CIF de la empresa y un número de 4 dígitos, donde el 0000 está reservado para la entidad misma.
El código DIRe del cliente lo podemos poner en el campo DIR3/DIRe de su ficha en Smart.
La configuración de los códigos administrativos y de los códigos de unidades se realiza desde la ficha del cliente, menú Cliente/Departamentos.
Lo primero que tenemos que hacer es definir los distintos departamentos o unidades del cliente con los que tenemos que tratar. Se hace con el menú Grupo dpto./Departamentos F10, que nos abre una rejilla donde metemos los siguientes datos:
| Campo | Descripción | Obligatorio |
|---|---|---|
| Cód. depto. | El código DIR3 del departamento. | Si |
| Nombre | El nombre del departamento. | No |
| Dirección | La dirección. | Si |
| Cód. postal | El código postal. | Si |
| Población | La población. | Si |
| Provincia | La provincia. | Si |
| Cód. país | El código del país (se puede escoger con F6). | Si |
| El resto de campos no es necesario. |
Después de definir los departamentos, podemos crear grupos de estos departamentos, que definen el rol que cada departamento toma en un contrato. Para la administración pública estos roles son los que ya hemos visto arriba (01-04), mientra que para clientes privados los roles pueden variar y se lo tenemos que preguntar al cliente.
Cerramos la rejilla de los departamentos y creamos o modificamos el grupo. Siguiendo el ejemplo de arriba, el grupo sería este:
Los grupos definidos de esta manera se pueden usar entonces en el campo correspondiente del cliente, de la obra y de la factura. Cuando se crea una nueva obra, el grupo se copia del cliente y cuando se crea una factura, el grupo se copia de la obra o del 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
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 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: Servicio de validación de una facturae
Otros sitios de validación:



