Curso Facturae
-
Upload
miguel-solera -
Category
Documents
-
view
502 -
download
5
description
Transcript of Curso Facturae
Factura Electrónica
Centro deExcelencia
Página: 2 31/03/08 Factura Electrónica
Contenido
Formatos facturae y UBL.Servicios Web.Requerimientos.Normativa aplicable.Firma Electrónica.Demostración.
Página: 3 31/03/08 Factura Electrónica
Facturae y UBL Invoice 2.0
Desde el 16 de octubre de 2007, el formato “AEAT-CCI” ha sido adoptado por la Administración General del Estado, pasando a llamarse “Facturae”. A partir del esquema AEAT-CCI versión 2.0 se ha obtenido el esquema Facturae versión 3.0. La información actualizada sobre los esquemas, y otras, del formato Facturae se encuentra disponible en:
http://www.facturae.es
Actualmente, la última versión de “Facturae” es la 3.1.
Página: 4 31/03/08 Factura Electrónica
Facturae y UBL Invoice 2.0
UBL (Universal Business Language) es el producto de un esfuerzo internacional para definir una librería de documentos de negocio XML estándar, como pedidos y facturas.
http://www.oasis-open.org/specs/index.php#ublv2.0
Ha sido desarrollado por un comité técnico de OASIS (Organization for the Advancement of Structured Information Standards)
Página: 5 31/03/08 Factura Electrónica
Formato Facturae
Elementos de primer nivel:
FileHeader Parties Invoices Extensions Referencia a Signature
Página: 6 31/03/08 Factura Electrónica
Formato Facturae
Elementos de primer nivel: FileHeader:
Versión Modalidad (Individual o Lote), Parte que firma la factura (emisor, receptor, tercera parte) Si es preciso, datos de la tercera parte. Lote: Identificador del lote, número de facturas que lo
componen, totales monetarios de las facturas y moneda en la que se emite la factura.
Datos cesión factoring (cesionario, detalles de pago, cláusulas)
Página: 7 31/03/08 Factura Electrónica
Formato Facturae
Página: 8 31/03/08 Factura Electrónica
Formato Facturae
Parties: Vendedor y Comprador, diferenciando en ambos entre persona física y empresa. En ambos se especifica: Identificación Fiscal: Persona física o jurídica,
Extranjero, Residente o Comunitario, Código de identificación fiscal.
Identificación de la Parte: número de referencia de la entidad del programa de facturación que utilice.
Centros Administrativos.Datos de la persona física o la empresa,
diferenciando entre dirección nacional y extranjera.
Página: 9 31/03/08 Factura Electrónica
Formato Facturae
Página: 10 31/03/08 Factura Electrónica
Formato Facturae
Invoices: Secuencia de UNA ó MÁS facturas.Cabecera: Número de factura, Número de
serie, Tipo de factura (completa, abreviada, autofactura), Clase de factura (Original / Copia / Rectificativa). Datos adicionales caso de ser rectificativa.
Datos de emisión de factura: Fecha, Lugar de expedición, Periodo de facturación ...
Impuestos, tipo de impuesto, porcentaje, base imponible, total impuestos.
Página: 11 31/03/08 Factura Electrónica
Formato Facturae
Invoices: Secuencia de UNA ó MÁS facturas.Totales de la factura, suma de importes
brutos totales, antes de impuestos, impuestos repercutidos, retenidos, total de la factura, total a pagar, total a ejecutar ...
Por línea de la factura (escandallo): Descripción, cantidad, precio unitario, total parcial, cargos y descuentos, total a pagar, impuestos de la línea, ...
Página: 12 31/03/08 Factura Electrónica
Formato Facturae
Página: 13 31/03/08 Factura Electrónica
Formato Facturae
Extensions: Para definiciones a incorporar en un futuro.
Referencia a Signature: La firma.
Página: 14 31/03/08 Factura Electrónica
Formato Facturae
Página: 15 31/03/08 Factura Electrónica
Documento Invoice (UBL 2.0)
Página: 16 31/03/08 Factura Electrónica
Documento Invoice (UBL 2.0)
Página: 17 31/03/08 Factura Electrónica
Documento Invoice (UBL 2.0)
Elementos Obligatorios: ID: Identificador de la factura IssueDate: Fecha de la factura AccountingSupplierParty: Datos del emisor de la factura. AccountingCustomerParty: Datos del receptor de la factura. LegalMonetaryTotal: Cantidad total a pagar. Cantidad en las
líneas de la factura, Cantidad total excluida de impuestos, Cantidad total incluidos impuestos,Cantidad total de cargos, Cantidad pre-pagada, ...
Página: 18 31/03/08 Factura Electrónica
Documento Invoice (UBL 2.0)
Elementos Obligatorios: InvoiceLine (1..n):
Idetificador de la línea. Total de la línea (incluyendo descuentos) sin impuestos. Artículo.
Optativos en InvoiceLine: Precio. Cantidad Facturada.
Página: 19 31/03/08 Factura Electrónica
Servicios Web
Un Servicio Web es una aplicación software identificada por un URI [IETF RFC 2396], cuyas interfases y vínculos pueden ser definidos, descritos y descubiertos por artefactos XML, y soporta interacciones directas con otras aplicaciones software usando mensajes XML, vía protocolos basados en Internet.
Para la descripción de servicios web se utiliza WSDL, lenguaje basado en XML.
Página: 20 31/03/08 Factura Electrónica
Nomenclatura XSLT. Lenguaje para transformar documentos XML en otros
documentos XML (W3C). Aunque esta es la definición dada por W3C, permite transformar documentos XML en otros documentos, incluyendo formatos que no son XML.
Servicio XSLT. Este es el módulo que realizará las transformaciones indicadas. Además, en este módulo está asociado a la descripción del servicio web.● Aplicación compuesta: Este módulo se usa para crear un
ensamblaje de servicios que puedan ser desplegados a un servidor JBI (Java Business Integration).
● Glassfish: Servidor de aplicaciones proyectado por Sun Microsystems que implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguan esta especificación.
● OpenESB: Implementación de la JSR-208 (JBI). Extiende dicha especificación creando un “Enterprise Service Bus” (ESB) para múltiples instacias JBI.
Página: 21 31/03/08 Factura Electrónica
Nomenclatura
● JBI (Java Business Integration) define una parte de un ESB(Enterprise Service Bus), el contenedor de servicios. El contenedor de servicios es el punto donde realmente ocurre la integración, los distintos recursos de tecnología de la información (protocolos, aplicaciones, ficheros de datos etc.) se convierte en proveedores de servicios, consumidores de servicios, o ambos. Los contenedores de servicios tienen que tratar con una gran variedad de tecnologías, y “mapear” a y desde modelos de servicios estándares.
● JBI es una forma perfecta de construir dichos contenedores de servicios. Proporciona una arquitectura estandarizada para llevar la tecnología apropiada a realizar tareas particulares de integración. El modelo de servicio WSDL, integrado en JBI, se alinea perfectamente con los servicios de modelo estándar necesitados para el ESB.
● SOAP (Simple Object Access Protocol): Protocolo ligero pensado para intercambio de información en ambientes descentralizados y distribuídos. Usa tecnologías XML para definir un marco de mensajería extensible. El marco de trabajo se ha diseñado para ser independiente de cualquier modelo de programación y de otras semánticas específicas de la implementación.
Página: 22 31/03/08 Factura Electrónica
Funcionamiento
Página: 23 31/03/08 Factura Electrónica
Funcionamiento
El sistema realizado recibe un mensaje SOAP, realiza una transformación sobre el xml integrado en su “body” y devuelve otro mensaje SOAP con el resultado de dicha transformación
El protocolo de comunicación de los servicios web es SOAP, y el transporte es “http”.
Todas las operaciones son de tipo “request-response”, y tienen un estilo tipo “document”
Página: 24 31/03/08 Factura Electrónica
Requerimientos
Además de los paquetes de conversión, para la instalación se requiere:Servidor de aplicaciones Glassfish
https://glassfish.dev.java.net/public/downloadsindex.html
Componente sun-xslt-enginehttp://download.java.net/jbi/binaries/open-jbi-
components/main/patches/Build070914_2/xsltpatch/xslt.zip
Página: 25 31/03/08 Factura Electrónica
Normativa
Requerimientos legales para el emisor:Tener el consentimiento previo del receptorGarantizar la autenticidad de origen y la integridad
de las facturas (firma electrónica avanzada)Almacenar copia de las facturas. Este requisito no
es necesario si se puede reconstruir una factura a partir de la información guardada en la base de datos de la empresa (matriz)
Las facturas almacenadas deben contener determinados elementos que faciliten su búsqueda, visualización e impresión en caso de inspección (acceso completo a los datos)
Página: 26 31/03/08 Factura Electrónica
Normativa
Requerimientos legales para el receptor:Disponer del software necesario para la
validación de la firma electrónicaAlmacenar las facturas recibidas digitalmente
(factura y firma) en su formato originalLas facturas almacenadas deben contener
determinados elementos que faciliten su visualización, búsqueda selectiva, copia o descarga en línea e impresión en caso de inspección (acceso completo a los datos).
Página: 27 31/03/08 Factura Electrónica
Normativa
Orden PRE/2971/2007 REAL DECRETO 1496/2003LEY 56/2007 y LEY 59/2003Directiva Europea 1999/93/CEEHA/962/2007 RESOLUCIÓN 2/2003HAC/3134/2002ORDEN HAC/1181/2003
Página: 28 31/03/08 Factura Electrónica
Firma Digital
Elemento “Signature” en facturae (Orden PRE/2971/2007):
Aunque se establece como opcional para facilitar la verificación y el tránsito del fichero, debe cumplimentarse este elemento para que se considere una factura electrónica válida legalmente frente a terceros.
Página: 29 31/03/08 Factura Electrónica
Firma Digital
¿Qué es la firma digital?
Un valor calculado con un algoritmo criptográfico y anexado a un objeto de datos de tal forma que cualquier recipiente de los datos pueda usar la firma para verificar el origen y la integridad de los datos (RFC 2828).
Página: 30 31/03/08 Factura Electrónica
Firma Digital
XML Signature: Recomendación del W3C que define una sintasis XML para firmas digitales. También se conoce como XMLDsig, XML-DSig, XML-Sig.
Puede utilizarse para firma datos de cualquier tipo, típicamente documentos XML, pero todo aquello accesible a través de una URI puede ser firmado digitalmente.
Página: 31 31/03/08 Factura Electrónica
Firma Digital
Tipos de firmas: “Detached”: La firma y los datos firmados están en
distintos documentos. “Enveloping”: La firma es sobre datos que están dentro
del elemento “Signature”. “Enveloped”: La firma es sobre datos, que contienen el
elemento “Signature”.
Página: 32 31/03/08 Factura Electrónica
Firma Digital
Una firma XML consiste en un elemento Signature en el espacio de nombres http://www.w3.org/2000/09/xmldsig# Su estructura básica es:SignedInfo: Especifica qué fue firmado, y con
qué algoritmo.SignatureMethod: Este elemento, que se
puede usar junto con CanonicalizationMethod, los usa el elemento SignatureValue para protección contra falsificaciones.
Página: 33 31/03/08 Factura Electrónica
Firma Digital
Reference: Lista de elementos que especifica qué recursos se han firmado, utilizando referencias URI.
SignatureValue: Valor de la firma, codificado en Base64.
KeyInfo: Elemento opcional que permite a los recipientes obtener la clave necesaria para validar la firma (típicamente, certificado X.509). Contiene información sobre la clave usada para firmar y la clave que se debe usar para verificar la firma.
Object: Elemento opcional, utilizado para almacenar los datos firmados.
Página: 34 31/03/08 Factura Electrónica
Formato Facturae
Página: 35 31/03/08 Factura Electrónica
Firma Digital
Orden PRE/2971/2007:La autenticidad del origen e integridad del
contenido de las facturas electrónicas que tengan por destinatario las Administraciones Públicas a las que se aplica la presente orden, en el ámbito de la contratación administrativa, así como la de aquellas que, expedidas entre particulares, se presenten telemáticamente ante tales Administraciones Públicas en el curso de cualquier procedimiento administrativo, se garantizará mediante la exigencia de firma electrónica avanzada, en los términos previstos en el artículo 3.2 de la Ley 59/2003, de 19 de diciembre, de firma electrónica.
Página: 36 31/03/08 Factura Electrónica
Firma Digital
XAdES: XML Advanced Electronic Signature. Se trata de un conjunto de extensiones a la recomendación XML-DSig, que permiten la firma digital avanzada.
Cumple la Directiva Europea 1999/93/EC del Parlamento Europeo.
Página: 37 31/03/08 Factura Electrónica
Firma Digital
Facturae define dos formatos de firma electrónica: XAdES-EPES (ETSI TS 101 903 v1.2.2). Contiene los
elementos mínimos y necesarios para que la firma se considere firma electrónica avanzada acorde con la ley 59/2003.
XAdES-X-L Proporciona evidencias suficientes que garanticen la validez de la firma de la factura ante terceros.
Página: 38 31/03/08 Factura Electrónica
XAdES-EPES
SigningTimeSigningCertificateSignaturePolicyIdentifierCounterSignatureDataObjectFormatCommitmentTypeIdentifica
tion
SignatureProductionPlaceSignerRoleAllDataObjectTimeStamp IndividualDataObjectTime
Stamp
Página: 39 31/03/08 Factura Electrónica
XAdES-EPES
El elemento “ds:Signature”.Al menos uno de los siguientes elementos:
SigningCertificateds:KeyInfo
El elemento “SignaturePolicyIdentifier”: Conjunto de reglas para la creación y validación de firmas electrónicas, bajo las cuales puede determinarse que la firma es válida.
Página: 40 31/03/08 Factura Electrónica
XAdES-EPES
SignedInfo debe contener las referencias especificadas en el documento firmadoFacturaev30.pdf
El elemento “KeyInfo” debe contener el certificado firmante en base64.
El elemento xades:SignaturePolicyIdentifier debe incluir:Referencia explícita al documento de firma
facturae 30Huella digital de dicho documento, y
algoritmo usado en SigPolicyHash.SignerRole queda definido caso de usarse.
Página: 41 31/03/08 Factura Electrónica
Firma DigitalLa firma se considera un campo más, y se debe
aplicar a:Todos los elementos de la factura Los elementos de firma ubicados en
el contenedor “SignedProperties” El certificado digital con el que se ha
firmado incluido en el elemento “KeyInfo”
Página: 42 31/03/08 Factura Electrónica
Opciones de Firma
Página: 43 31/03/08 Factura Electrónica
Opciones de Firma
Página: 44 31/03/08 Factura Electrónica
Opciones de Firma
Página: 45 31/03/08 Factura Electrónica
Demostraciones
Página: 46 31/03/08 Factura Electrónica
Demostraciones
Página: 47 31/03/08 Factura Electrónica
Demostraciones
Página: 48 31/03/08 Factura Electrónica
Demostraciones
Página: 49 31/03/08 Factura Electrónica
Demostraciones
Página: 50 31/03/08 Factura Electrónica
Demostraciones
Página: 51 31/03/08 Factura Electrónica
Demostraciones
Página: 52 31/03/08 Factura Electrónica
Demostraciones
Página: 53 31/03/08 Factura Electrónica
Demostraciones
• javax.jbi.messaging.MessagingException: Failed to normalize input. Could not normalize message did not find any node matching the element name, {http://www.facturae.es/Facturae/2007/v3.0/Facturae}Facturae in the soap message Reported Cause: did not find any node matching the element name, {http://www.facturae.es/Facturae/2007/v3.0/Facturae}Facturae in the soap message
Página: 54 31/03/08 Factura Electrónica
Demostraciones
Página: 55 31/03/08 Factura Electrónica
Demostraciones
Página: 56 31/03/08 Factura Electrónica
Demostraciones
Página: 57 31/03/08 Factura Electrónica
WsDirectorioEmpresa
Página: 58 31/03/08 Factura Electrónica
DUDAS y COMENTARIOS
Página: 59 31/03/08 Factura Electrónica
Próximos Pasos
Facturae v. 3.1
Integración con EDI: Mensaje INVOIC
Generación de Facturas
Página: 60 31/03/08 Factura Electrónica
Contacto
Eduardo A. González Blanco