Veri*Factu Capítulo 2... |
Responder
|
Página 123 4> |
| Autor | |
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Tema: Veri*Factu Capítulo 2...Enviado: 22/Mayo/2024 a las 13:18 |
|
Buenos días a todos, ya tenemos el borrador de como va a ser este servicio OBLIGATORIO para cualquiera de los que emitimos facturas, es decir, cualquier negocio. Por si os vale de algo os adjunto el enlace de la descarga del PDF en el que muestran el borrador. Yo sigo sin saber como se usa un servicio web con certificado digital desde VBA. si alguien sabe como se usa, se agradece la ayuda. https://www.agenciatributaria.es/static_files/AEAT_Desarrolladores/EEDD/IVA/VERI-FACTU/Factu_Descripcion_ServicioWeb_v0.3.0.pdf Gracias a todos.
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 06/Noviembre/2024 a las 18:58 |
|
No he visto que estuviese cerrado y no me gusta revivir conversaciones antiguas, pero como no tenia contestación y estoy buscado esa misma información, os voy a incluir unas funciones para este tema y firmar con autofirma que debe estar instalado. Hay que tener en cuenta, (TipoFactura) lo siguiente: Tipos de Factura Comunes
Tipos de Factura Especiales
Cómo elegir el tipo de factura:
ImporteTotal es el importe total de la factura IVA incluido. La funcion que genera el xml contempla si va a ser Alta, Modificación o Evento (TipoRegistro) Option Compare Database Option Explicit ' Tipo de datos personalizado para almacenar la información del registro Type RegistroAlta IDEmisorFactura As String NumSerieFactura As String FechaExpedicionFactura As String TipoFactura As String CuotaTotal As String ImporteTotal As String Huella As String FechaHoraHusoGenRegistro As String End Type Function CalcularHuella(Registro As RegistroAlta, TipoRegistro As String) As String Dim DataToHash As String Dim oSHA256 As Object Dim HashBytes() As Byte Dim HashString As String Dim i As Integer Select Case LCase(TipoRegistro) Case "alta" DataToHash = "IDEmisorFactura=" & Registro.IDEmisorFactura & _ "&NumSerieFactura=" & Registro.NumSerieFactura & _ "&FechaExpedicionFactura=" & Registro.FechaExpedicionFactura & _ "&TipoFactura=" & Registro.TipoFactura & _ "&CuotaTotal=" & Registro.CuotaTotal & _ "&ImporteTotal=" & Registro.ImporteTotal & _ "&Huella=" & Registro.Huella & _ "&FechaHoraHusoGenRegistro=" & Registro.FechaHoraHusoGenRegistro Case "modificacion" DataToHash = "IDEmisorFactura=" & Registro.IDEmisorFactura & _ "&NumSerieFactura=" & Registro.NumSerieFactura & _ "&FechaExpedicionFactura=" & Registro.FechaExpedicionFactura & _ "&Huella=" & Registro.Huella & _ "&FechaHoraHusoGenRegistro=" & Registro.FechaHoraHusoGenRegistro Case "evento" DataToHash = "NIF=" & Registro.IDEmisorFactura & _ "&IdSistemaInformatico=SYS001&TipoEvento=" & Registro.TipoFactura & _ "&HuellaEvento=" & Registro.Huella & _ "&FechaHoraHusoGenEvento=" & Registro.FechaHoraHusoGenRegistro Case Else MsgBox "Tipo de registro no reconocido para cálculo de huella." Exit Function End Select ' Calcular hash SHA-256 Set oSHA256 = CreateObject("System.Security.Cryptography.SHA256Managed") HashBytes = oSHA256.ComputeHash_2(StrConv(DataToHash, vbFromUnicode)) ' Convertir a hexadecimal For i = LBound(HashBytes) To UBound(HashBytes) HashString = HashString & LCase(Right("00" & Hex(HashBytes(i)), 2)) Next i CalcularHuella = UCase(HashString) End Function Function GenerarXML(Registro As RegistroAlta, TipoRegistro As String) As String Dim XMLString As String Select Case LCase(TipoRegistro) Case "alta" ' XML para Registro de Alta XMLString = "<RegistroAlta>" & vbCrLf & _ " <IDFactura>" & vbCrLf & _ " <IDEmisorFactura>" & Registro.IDEmisorFactura & "</IDEmisorFactura>" & vbCrLf & _ " <NumSerieFactura>" & Registro.NumSerieFactura & "</NumSerieFactura>" & vbCrLf & _ " <FechaExpedicionFactura>" & Registro.FechaExpedicionFactura & "</FechaExpedicionFactura>" & vbCrLf & _ " </IDFactura>" & vbCrLf & _ " <TipoFactura>" & Registro.TipoFactura & "</TipoFactura>" & vbCrLf & _ " <CuotaTotal>" & Registro.CuotaTotal & "</CuotaTotal>" & vbCrLf & _ " <ImporteTotal>" & Registro.ImporteTotal & "</ImporteTotal>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <RegistroAnterior>" & vbCrLf & _ " <Huella>" & Registro.Huella & "</Huella>" & vbCrLf & _ " </RegistroAnterior>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenRegistro>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenRegistro>" & vbCrLf & _ "</RegistroAlta>" Case "modificacion" ' XML para Registro de Modificación XMLString = "<RegistroModificacion>" & vbCrLf & _ " <IDFactura>" & vbCrLf & _ " <IDEmisorFactura>" & Registro.IDEmisorFactura & "</IDEmisorFactura>" & vbCrLf & _ " <NumSerieFactura>" & Registro.NumSerieFactura & "</NumSerieFactura>" & vbCrLf & _ " <FechaExpedicionFactura>" & Registro.FechaExpedicionFactura & "</FechaExpedicionFactura>" & vbCrLf & _ " </IDFactura>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <RegistroAnterior>" & vbCrLf & _ " <Huella>" & Registro.Huella & "</Huella>" & vbCrLf & _ " </RegistroAnterior>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenRegistro>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenRegistro>" & vbCrLf & _ "</RegistroModificacion>" Case "evento" ' XML para Registro de Evento XMLString = "<RegistroEvento>" & vbCrLf & _ " <SistemaInformatico>" & vbCrLf & _ " <NIF>" & Registro.IDEmisorFactura & "</NIF>" & vbCrLf & _ " <NumSerie>" & Registro.NumSerieFactura & "</NumSerie>" & vbCrLf & _ " <Version>1.0</Version>" & vbCrLf & _ " </SistemaInformatico>" & vbCrLf & _ " <TipoEvento>" & Registro.TipoFactura & "</TipoEvento>" & vbCrLf & _ " <Encadenamiento>" & vbCrLf & _ " <HuellaEvento>" & Registro.Huella & "</HuellaEvento>" & vbCrLf & _ " </Encadenamiento>" & vbCrLf & _ " <FechaHoraHusoGenEvento>" & Registro.FechaHoraHusoGenRegistro & "</FechaHoraHusoGenEvento>" & vbCrLf & _ "</RegistroEvento>" Case Else XMLString = "Error: Tipo de Registro no reconocido." End Select GenerarXML = XMLString End Function Sub FirmarXMLConAutoFirma() Dim ShellCommand As String Dim AutoFirmaPath As String Dim InputXML As String Dim OutputXML As String ' Ruta al ejecutable de AutoFirma AutoFirmaPath = "C:\Program Files\AutoFirma\AutoFirma.jar" ' Archivos de entrada y salida InputXML = "C:\Ruta\RegistroAlta.xml" OutputXML = "C:\Ruta\RegistroAltaFirmado.xml" ' Comando para firmar el XML ShellCommand = "java -jar """ & AutoFirmaPath & """ sign -i """ & InputXML & """ -o """ & OutputXML & """ -format XAdES" ' Ejecutar el comando Shell ShellCommand, vbNormalFocus MsgBox "Firma completada. Archivo firmado en: " & OutputXML End Sub |
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 06/Noviembre/2024 a las 19:03 |
|
Se me ha olvidado, FechaHoraHusoGenRegistro es en formato ISO aaaa-mm-dd y FechaExpedicionFactura es en formato dd-mm-aaaa Un Saludo
|
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 06/Noviembre/2024 a las 19:11 |
|
Pues que menos que darte las gracias.
Yo sigo trabajando en ello |
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 06/Noviembre/2024 a las 19:21 |
|
Estoy buscando todos los campos de los registros para poder acabar de crear el xml, si alguien los tiene me los puede pasar. siento escribir tantos mensajes sin respuestas, pero segun ordeno las ideas escribo.
|
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 06/Noviembre/2024 a las 19:25 |
|
Los tengo todos.
Te los paso mañana. Te paso el XLSX con todos los datos solicitados . Si usas Soapui y le pones la dirección del servicio te dará todos los campos necesarios pare el envío y en la Excel ves los datos solicitados |
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 07/Noviembre/2024 a las 09:41 |
|
Buenos días, lo prometido es deuda. Todos los campos necesarios y toda la información para crear la factura con VERI*FACTU, los tienes disponibles en la web https://www.agenciatributaria.es/AEAT.desarrolladores/Desarrolladores/_menu_/Documentacion/Sistemas_Informaticos_de_Facturacion_y_Sistemas_VERI_FACTU/Sistemas_Informaticos_de_Facturacion_y_Sistemas_VERI_FACTU.html Mira el formato exacto de este: |
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 07/Noviembre/2024 a las 11:08 |
|
Gracias por la información. Ahora queda lo del tema de comunicación, que estoy un poco pez. Me instalalare lo del soapui. Un saludo |
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 07/Noviembre/2024 a las 11:42 |
|
Esa es la parte compleja. En la comunicación te devuelve, primer el qr que tienes que poner en la factura y el csv y la validación de la misma. Todo está informado en esa plataforma. Mira bien lo de la huella, tendrás que pasar la huella de la anterior factura en caso de no ser la primera. Por cierto, ese código que has escrito, ¿en qué versión de VBA lo has hecho? Saludos.
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Guiri
Nuevo
Unido: 06/Noviembre/2024 Localización: Mallorca Estado: Sin conexión Puntos: 42 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 07/Noviembre/2024 a las 15:11 |
|
No programo en mi día a día. Pero me gusta estar al día y como hace tiempo me hice un pequeño programa para gestión de servicios enlazandondo con Factusol para el tema de la facturación, tenia curiosidad de como se haría lo del tema de veri*factu y me puse a mirar y probar. Pues uso access 2016 32 bits en un ordenador en otro access 2019 64 bits y los dos con MZTOOLS 8.0.3.3934.
|
|
![]() |
|
pascual14
Colaborador
Unido: 30/Junio/2014 Localización: Soria Estado: Sin conexión Puntos: 570 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 10/Noviembre/2024 a las 19:06 |
|
uff menudo lio ahora...y al final hay que tener todo para el día 1 de julio de 2025?
|
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 10/Noviembre/2024 a las 19:44 |
|
Cualquiera sabe ... han vuelto a retrasarlo, hablan del 26, incluso he leído 1-ene-27
|
|
![]() |
|
pascual14
Colaborador
Unido: 30/Junio/2014 Localización: Soria Estado: Sin conexión Puntos: 570 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 12/Noviembre/2024 a las 18:21 |
|
Madre mía!! nos vuelven locos. Gracias Mihura!
|
|
![]() |
|
Chavalote
Nuevo
Unido: 19/Noviembre/2024 Localización: Málaga Estado: Sin conexión Puntos: 2 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 19/Noviembre/2024 a las 00:38 |
|
Hola que tal, soy nuevo en el foro, aunque llevo ya tiempo diseñando Veri*Factu (con envío inmediato). Desde que sacaron la ley antifraude sospeché que iba a ser casi igual que ticketbai, así que me empape de ticketbai y aproveche las webs de pruebas y para pillar conocimientos sobre esto de formar los xmls, enviarlos, generar el qr, el pdf, los tipos de facturas, etc..
Pero tengo un par de dudas. Aunque, según la orden Ministerial los que envían no tendrán que firmas los xmls, he visto un punto en la OM que no está claro sobre ese tema, ya que las incidencias en los envios hay que guardarlas de alguna forma que aún no han dejado claro, así que no me fio y quiero meterme en las firmas. Quería saber si has calculado cuanto tiempo tarda en ejecutar el jar de autofirma y si lo has probafo en un SO eindows XP, ya que tengo varios clientes aun con ese SO: Comando para firmar el XML ShellCommand = "java -jar """ & AutoFirmaPath & """ sign -i """ & InputXML & """ -o """ & OutputXML & """ -format XAdES" Por cierto las firmas no.llevan también unos parámetros que han dado ellos?, lo miraré. Ya os iré diciendo también como he hecho el resto si tenéis alguna duda y puedo echar una mano, no solo en la parte de programación, ya me he empapado también la parte fiscal, pero claro, solo de la parte que me interesa: facturas simplificadas, sustitutivas, facturas ordinarias, rectificativas y las subsanacioneaz que es otro cantar. Como estaréis viendo el tema es un poco lioso, no solo es hacer el xml y enviarlo, hay que tener en cuenta mil historias. Enfin, no me enorrlo más que os lo voy a contar todo en un solo post. Saludos y adelante que se puede, aunque no dejéis pasar un minuto que esto no se hace en 2 meses, esto tiene muuuucha faena y os la jugáis, aquí equivocarse en el desarrollo te puede traer problemas gordos. Editado por Chavalote - 19/Noviembre/2024 a las 00:41 |
|
![]() |
|
Al_loro
Nuevo
Unido: 16/Mayo/2024 Localización: La Roda Estado: Sin conexión Puntos: 44 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 10/Diciembre/2024 a las 16:54 |
|
Buenas tardes a todos. Las fechas oficiales PUBLICADAS son: 01/01/2026 sujetos pasivos contribuyentes del Impuesto sobre Sociedades), 01/07/2026 para el resto. La publicación se puede ver en el Colegio de Economistas, en esta URL tan larga tenéis el pdf. https://reaf.economistas-desarrollo.es/?mailpoet_router&endpoint=track&action=click&data=WyIxNjQyMCIsIjRjNzAxZDJjZjZjYjQ2YTYzYjdhNjc5ZTJkY2JhMjFiIiwiNDAwIiwiNmUyOTdhZDU5ZGJlIixmYWxzZV0 Saludos.
|
|
|
Gracias a todos los usuarios de este foro
|
|
![]() |
|
Responder
|
Página 123 4> |
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |