FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1301
|
|||
|
|||
Y aclararon que si se opta por utilizar Verifactu ya no hay obligación de firma de la factura ni de llevar el registro de eventos.
Por supuesto, sí se obliga en Verifactu a que la factura lleve un hash. |
#1302
|
|||
|
|||
Gracias a todos los por la información
me han comentado varias cosas sobre los que van a hacer Veri*Factu(Envio): *La Huella y el encadenamiento es necesaria, alguien ha comentado que para verifactu no lo es, pero debe estar equivocado, me han enseñado el esquema. *La huella SHA256 en Hexadecimal y MAYÚSCULAS *Se deben subsanar los errores (de los registros que te devuelvan con error) y volver a remitir los registros subsanados(Ya diran como, supongo que como incidencia....) |
#1303
|
|||
|
|||
Resumen del Seminario
Hola a todos, os pongo las ideas que he sacado del seminario de ayer por si pueden ser de interés para alguno. Espero no haber cometido ningún error.
1.- Recomiendan el uso del sistema VeriFactu como opción segura para ofrecer al cliente. La opción del requerimiento tiene implicaciones que son de difícil cumplimiento y te cargan con una responsabilidad, la conservación, que es complicada de asegurar para una instalación desatendida. 2.- La imposibilidad de remitir temporalmente los registros de facturación por problemas técnicos puntuales la entienden y se abren a que utilicemos el campo Incidencia (S) de la cabecera del mensaje para notificar dicha situación. Incluso hablaron de casos en los que sólo hay Internet a ciertas horas del día y que eso es plausible. 3.- Han dejado bien claro que los sistemas VeriFactu están excluidos de la conservación, firma electrónica, accesibilidad y eventos de los registros de facturación. El evento de entrada / salida de Verifactu sólo atañe en el caso de que, NO estando en VeriFactu, (debes tener eventos) quisieras cambiarlo y entrar en Modo Verifactu, entonces deberías generar ambos eventos de salida y entrada. Ya en el nuevo modo, desaparecerían. El modo Verifactu se resume en, envío automático, consecutivo, encadenamiento de registros y generación de huellas para cada registro de facturación. Ya para factura impresa o electrónica, adición de Qr. Hablaron sobre el control de flujo (n,t). En principio lo van a cambiar, ya que, el número máximo de envío de registros en un mismo mensaje agrupado ya está limitado, son 1000. Por lo tanto, el parámetro “n” carece de sentido. Sí, van a utilizar el parámetro “t” en segundos. 4.- Aunque han dicho que van a mantener los servicios diferenciados para la remisión de registros a través de VeriFactu y a través de requerimiento, tiene la idea de que, dichos registros, contengan la misma información, por lo que se avecina otro cambio en la estructura del registro de alta y de anulación 5.- Piensan unificar en el mismo mensaje de envío, registros de alta y de anulación. 6.- La huella hash ya no será del nodo registro de facturación sino que se construirá con ciertos campos del xml que ya indicarán. Y lo más importante es que un error en esta huella no será considerado como motivo de rechazo sino como aceptada con errores. 7.- Dejaron entrever, que la idea final es que sólo exista un método de envío de registros de facturación a la aeat, por lo que al final, tenderemos a un híbrido entre el SII y VeriFactu como sistema de envío. Por ello, la idea de adherirse al SII para no cumplir con VeriFactu deberíamos desecharla. 8.- Los certificados electrónicos de terceros serán admisibles para remitir los registros de facturación de un obligado tributario, idéntico al SII. |
#1304
|
|||
|
|||
gran resumen, de acuerdo con lo dicho, gracias compañero
|
#1305
|
|||
|
|||
Buenos días, gracias por el resumen a todos. Entonces si el sistema es Verifactu tienes que utilizar un certificado para enviar pero no para firmar la factura. El certificado tiene que estar instalado en todos los ordenadores que envíen.
|
#1306
|
|||
|
|||
Sigo pensabdo que van a mezclar verifactu con la factura electronica
|
#1307
|
|||
|
|||
Sigo pensabdo que en el xml van a mezclar verifactu con la factura electronica y Tarde o temprano meterán las líneas de los conceptos facturados.
|
#1308
|
|||
|
|||
Cita:
Si el sistema es SOLO verifactu, no se aplica el registro de eventos en ningún caso ? Ni entrada al sistema, salida,... ? Si el Hash se calculará sobre ciertos campos no tendremos que serializar primero el XML para obtener el nodo, entiendo ? |
#1309
|
||||
|
||||
Algunas de las diapositivas que considero más importantes en la presentación.
Espero que aclaren las cosas junto con la explicaciones que habéis ido comentando... Diferencias entre VERI*FACTU y no VERI*FACTU:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 16-02-2024 a las 11:04:11. |
#1310
|
||||
|
||||
Y aquí adjunto algunas que son más técnicas (y porque en el mensaje anterior ya no me va a dejar añadir más...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 16-02-2024 a las 11:07:23. |
#1311
|
|||
|
|||
Cita:
Como el hash se va a calcular sobre campos concretos, lo podrás obtener antes de crear el xml por lo tanto, no tienes que obtenerlo del xml generado. |
#1312
|
||||
|
||||
Cita:
Añadido el documento al FTP del club y añadido enlace al mensaje #1 (recopilatorio).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#1313
|
|||
|
|||
Se simplifica bastante, muchas gracias
|
#1314
|
||||
|
||||
Una pregunta a ver si alguien me puede aclarar una duda que tengo desde hace tiempo.
¿Se deben generar los xml de cada factura por separado? ¿Luego de generados se genera el soap para enviar? Gracias anticipadas.
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
#1315
|
|||
|
|||
En el supuesto de acogerte a envio inmediato: Comp no tienes que conservarlo puedes hacerlo como quieras, pero debes tener en cuenta que te pueden contestar en el resp del soap al enviar que el próximo envío el número de xmls por ejemplo sea 10 registros encapsulados en el mismo soap o 300segunfos de espera. Entonces lo recomendable es que generes el xml por un lado y encapsules en el soap al enviar.
|
#1316
|
||||
|
||||
Cita:
Vale perfecto tiene lógica, mientras encapsulas calculas la huella desde los datos de factura, no de ningún nodo. mil gracias como siempre @ermendalenda. A ver si se aclara esta gente de una maldita vez.
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
#1317
|
|||
|
|||
Cita:
Supongo que ya cada uno tendrá sus complicaciones. Lo que si tienes que calcular elhash antes de generar el qr de la factura, eso está claro, la explicacion de calcularla mientras encapsulas el soap antes de encapsular no es muy correcta, ya que en el qr, casi seguro va a ir parte del hash calculado, al igual que ticketbai con la firma, es la única forma que tiene para garantizar que no cambies algo entre la emisión y el envío. Última edición por ermendalenda fecha: 16-02-2024 a las 14:04:11. |
#1318
|
||||
|
||||
Cita:
Si que me gustaría ver un ejemplo de como encapsulas uno o varios xml generados con anterioridad. Me sería de mucha ayuda
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos. |
#1319
|
|||
|
|||
Cita:
En Delphi hay otras formas que los compañeros del foro seguro que te pueden guiar. Mira el código para generar el XML (A pelo) es de esta forma: Código:
close #92 Open "C:\xmls\" & nombre_fichero & ".xml" For Output As #92 Print #92, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & "?>" Print #92, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "UTF-8" & Chr(34) & "?>" If es_anulacion Then Print #92, "<sum:BajaFactuSistemaFacturacion xmlns:sum=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" & Chr(34) & " xmlns:sum1=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" & Chr(34) & ">" Else Print #92, "<sum:AltaFactuSistemaFacturacion xmlns:sum=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" & Chr(34) & " xmlns:sum1=" & Chr(34) & "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" & Chr(34) & ">" End If Print #92, "<sum1:Cabecera>" Print #92, "<sum1:IDVersion>" & version_vfactu & "</sum1:IDVersion>" Print #92, "<sum1:ObligadoEmision>" Print #92, "<sum1:NombreRazon>" & TEXT_TO_UTF8(nombre_empresa) & "</sum1:NombreRazon>" Print #92, "<sum1:NIF>" & nif & "</sum1:NIF>" Print #92, "</sum1:ObligadoEmision>" select case tipo "anulacion" Print #92, "<sum1:TipoRegistroAEAT>T3</sum1:TipoRegistroAEAT>" "sustitutiva" Print #92, "<sum1:TipoRegistroAEAT>T1</sum1:TipoRegistroAEAT>" "normal" Print #92, "<sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>" end select ***Y ahora lo que voy a escribir lo voy guardando en la variable datohash para calcular el hash cuando tenga en la variable lo que necesite datoxml = "<sum:RegistroFacturacion>" datohash = datoxml If es_anulacion = False Then Print #92, "<sum:RegistroAltaFacturas>" & datoxml; Else Print #92, "<sum:RegistroAnulacionFacturas>" & datoxml; End If datoxml = "<sum1:IDFactura>" datohash = datohash & datoxml Print #92, datoxml; ....... ****AL FINAL CALCULO EL HASH USANDO LAS API DE WINDOWS**** *** CryptCreateHash, ¿¿¿CryptAcquireContext, etc... de la libreria "advapi32.dll"***** huella = UCase(CreateHashString(datohash, CALG_SHA_256)) *** Inserto el hash en el xml y el resto de nodos Print #92, "<sum1:Huella>" & huella & "</sum1:Huella>" Print #92, "<sum1:TipoHash>01</sum1:TipoHash>" Print #92, "</sum:DatosControl>" If es_anulacion Then Print #92, "</sum:RegistroAnulacionFacturas>" Print #92, "</sum:BajaFactuSistemaFacturacion>" Else Print #92, "</sum:RegistroAltaFacturas>" Print #92, "</sum:AltaFactuSistemaFacturacion>" End If close #92 |
#1320
|
|||
|
|||
codigo ejemplo php encapsulamiento y envio
Aquí te dejo un encapsulamiento y envio, totalmente funcional para face y faceb2b en entornos de prueba y producción, si aprendes como funciona lo puedes modificar para cualquier definición que hagan teniendo en cuenta que yo le paso el path donde tengo el fichero y los datos por curl de esta forma:
Código:
curl --connect-timeout 10 --insecure -A "FacturaePHP/1.7.1" -H "SOAPAction: https://webservice.face.gob.es#enviarFactura" --data "@C:\xml\Facturare_FICTICIO_fichero.xml" --cert-type P12 --cert c:\....\fichero_certificado.pfx:clave -H "Content-Type: text/xml" https://se-face-webservice.redsara.es/facturasspp2 -o C:\respuestas\Respuesta_face_o.html -D C:\respuestas\Respuesta_face_D.html Código PHP:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 12:05:35 |
Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 13:18:32 |
Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 15:58:09 |
Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 15:44:54 |
Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 22:59:09 |
|