Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

bmfranky 21-10-2024 10:31:32

Cita:

Empezado por ermendalenda (Mensaje 558481)
Aquí está, en preguntas y respuestas tambíen, hay varios comentarios al respecto, la idea es clara un encadecamiento por cada obligado y SIF:Los registros de facturación se deben encadenar dentro de cada SIF, para un mismo obligado tributario, es decir, debe
existir una única cadena por cada par distinto de (obligado tributario ; SIF). La trazabilidad se materializa mediante el
encadenamiento que el SIF realiza de los registros de facturación, es decir, se circunscribe al SIF. Una vez encadenados
debidamente y generados (y firmados / remitidos a la AEAT), el reglamento y la orden no entran en lo que se haga
posteriormente con los registros de facturación generados (como su posible envío a otros sistemas con idea de utilizarlos
para otros fines), más allá de exigir su conservación, legibilidad y accesibilidad a futuro

Ok, de todas formas , es logico, tendreis que crear diferentes registros de encadenamiento, para los diferentes CIFs, igual que lo haceis con la identificacion de las facturas.
Tened en cuenta compartimentar, al entrar en la funcion que os genere la factura, igual que asignais la tabla de X cliente para generar la factura, cojer numeracion, guardar registro etc, guardar en la tabla "HASVERIFACTU-X-2024", para guardar los encadenamientos, la forma menos complicada que veo de no errar, asignando un encadenamiento erroneo.
A la hora de encadenar , solo teneis que consultar el ultimo introducido en la tabla de ese cliente y a jugar...

bmfranky 21-10-2024 10:34:45

Guardado XML
 
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

ermendalenda 21-10-2024 10:40:43

Sabeis si se puede acceder al listado de errores posibles en las respuestas?
Gracias

edari 21-10-2024 10:41:38

Cita:

Empezado por edari (Mensaje 558476)
Eso me olía


Les voy a hacer la consulta a ver si se tiran al rollo...


Gracias


Buenos días:

En las futuras semanas, se creará una sección dentro del "Portal de Pruebas Externas", que incluirá un cliente de servicios web y donde se irá publicando el resto de los servicios y formularios del sistema, entre ellos el servicio de consulta.

Atentamente,
Atención al Usuario
Departamento de Informática Tributaria
Email: [email protected]

edari 21-10-2024 10:43:08

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?


Yo los guardo

ermendalenda 21-10-2024 10:43:55

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

Yo lo guardo un tiempo (1 año), por facilitarme la revisión, pero no es necesario, como dices lo puedes regenerar, pero si ha habido cambios y tengo algún error puedo revisar que se hizo.

ermendalenda 21-10-2024 10:47:01

Cita:

Empezado por edari (Mensaje 558485)
Buenos días:

En las futuras semanas, se creará una sección dentro del "Portal de Pruebas Externas", que incluirá un cliente de servicios web y donde se irá publicando el resto de los servicios y formularios del sistema, entre ellos el servicio de consulta.

Atentamente,
Atención al Usuario
Departamento de Informática Tributaria
Email: [email protected]

Es de lógica. ya que si se te rompe el sistema tienen que dejar la opción de consultar el último hash para poder continuar el encadenamiento, no me parece muy buena idea tener que empezar una serie nueva.

pablog2k 21-10-2024 10:49:24

Cita:

Empezado por bmfranky (Mensaje 558483)
Una cosa , vosotros guardais el XML enviado a Veri*Factu o simplemnete, como ya guardasi el registro de factura, desde el que se puede regenerar el mismo, lo obbiais?

nosotros ya desde el SII, guardamos tanto el xml enviado como el xml de respuesta, luego viene muy bien saber que se ha enviado exactamente y que han contestado exactamente

bmfranky 21-10-2024 10:49:41

Cita:

Empezado por ermendalenda (Mensaje 558484)
Sabeis si se puede acceder al listado de errores posibles en las respuestas?
Gracias

Si en validaciones los tienes https://prewww2.aeat.es/static_files...res.properties Aqui

bmfranky 21-10-2024 10:50:43

Cita:

Empezado por pablog2k (Mensaje 558489)
nosotros ya desde el SII, guardamos tanto el xml enviado como el xml de respuesta, luego viene muy bien saber que se ha enviado exactamente y que han contestado exactamente

Si, el de respuesta ya lo estaba guardando, añadire un campo mas para el enviado, a este paso las copias de seguridad van a ser tremendas...

ermendalenda 21-10-2024 10:59:51

Cita:

Empezado por bmfranky (Mensaje 558490)

Muchas gracias, creí que la lista era más larga Menos mal.

ermendalenda 21-10-2024 11:16:44

Error Certtificado Caducado
 
He probado a hacer el envio con el certificado caducado, otro con un certificado que no se corresponda con el del emisor, otro con la clave incorrecta y el formato devuelto en la respuesta no está dentro del formato lógico de respuestas, pero se puede identificar buscando la frase por ejemplo "Error de identificación" "No autorizado"...
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
    <
div id="body" data-template-id="cc1c55b3cac46710VgnVCM100000dc381e0aRCRD" class="s_Sede p_estandar t_informacion">
        
        <
header id="AEAT_header" class="header_aeat d-print-none d-app-none" >
    <!-- 
CABECERA -->
       <!--
googleoffindex-->
    <
class="focus-only" href="#acc-main">Saltar al contenido principal</a>
    <
div class="header-sup_aeat w-100">
      <
div class="container">              
        <
div class="row">
        <!-- 
CABECERA IZQUIERDA-->
           <
div id="topIzquierda" class="pl-0"><nav class="header-contLogos_aeat"><a href="/Sede/inicio.html" title="P&aacute;gina de inicio" class="header-logosPrincipales_aeat"><span class="logoGobierno Sede">Logotipo Gobierno de España</span><span class="logoAEAT logoSite logoSede ml-2 overflow-hidden">Logotipo Organismo</span></a></nav></div><!-- CABECERA IZQUIERDA FIN -->
</
div>
      </
div>    
    </
div>
    <!--
googleonindex-->
    <!-- 
CABECERA FIN -->
    <!-- 
MENU -->
       <!--
googleoffindex--><div class="w-100 bg-primary p-1"><div class="container"><div class="row justify-content-between align-items-center"><button class="header-btnMovil_aeat text-white d-lg-none col-2 btn btn-link" type="button" id="menuPrincipal"><class="aeat-ico fa-ico-menu ico-size-2 w-100" title="Abrir men&uacute; m&oacute;vil" aria-hidden="true" role="presentation"></i><span class="sr-only">Menú móvil</span></button><nav id="aeat_menuPrincipal" class="navbar-dark navbar navbar-expand-lg p-0 col-12 col-xl-8 col-lg-9 d-none d-lg-flex" aria-label="Menú principal"><!--clase para movilheader-navMovil_aeat--><ul class="navbar-nav"><li class="nav-item"><a href="#" class="py-3 px-4 nav-link dropdown-toggle invisible" role="button"><span>Aqui se cargarán las opciones del menú cuando estén disponibles</span></a></li></ul></nav></div></div></div><!--googleonindex-->
<!-- 
MENU FIN -->
</
header><nav aria-label="Migas navegación" class="js-nav-principal d-print-none d-app-none">
    <
ol class="breadcrumb container bg-transparent px-md-4 px-3">           
<
li class="breadcrumb-item breadcrumb-item__volver"><a data-aeat-id='b3552c121d27c610VgnVCM100000dc381e0aRCRD' href='/Sede/inicio.html'><class="aeat-ico fa-ico-chevron-left ico-size-mini mr-2 d-md-none" aria-hidden="true" role="presentation"></i>Inicio</a></li>
</
ol>
</
nav><div class="container-text js-container">
            <
div class="row my-3 justify-content-center">
                <
main class="col-12 col-lg-7" id="acc-main">
                    <
div class="d-flex"><class="aeat-ico fa-ico-error-sm ico-size-4 mr-3 text-danger" aria-hidden="true" role="presentation"></i><h1 id="js-nombre-canal" class="font-weight-bold mb-0 display-4 mb-3 text-danger">401</h1></div><p>No autorizadoSe ha producido un error al verificar el certificado presentadoLas causas m&aacute;s probables de este error son:</p><ul><li>El certificado no ha sido firmado por una autoridad reconocida.</li><li>El tipo de certificado no es v&aacute;lido para el servicio al que se quiere acceder.</li><li>El certificado ha expirado.</li></ul><p>Puede contactar con el servicio de atenci&oacute;n al contribuyente indicando el c&oacute;digo de error 401.</p><a target="_self" title="Comunicar incidencia" href="https://www2.agenciatributaria.gob.es/soporteaeat/Formularios.nsf/soporteOnline.php?OpenForm&codigoError=401" class="d-block">Comunicar incidencia</a></main>
            </
div
        </
div>
        
        <!--
googleoffindex-->
        <!-- 
<
section>
    <
div id="last-update" class="container pb-3">
        <
class="small text-center mb-0">
            
Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time>
        </
p>
    </
div>
</
section>
 -->
<
footer class="bg-primary d-print-none d-app-none" >
<
noscript><div class="container py-3"><div class="row"><class="text-white"   href="https://sede.agenciatributaria.gob.es/Sede/condiciones-uso-sede-electronica/accesibilidad/declaracion-accesibilidad.html">Accesibilidad</a></div></div></noscript><div id="last-update" class="container pb-3"><class="small text-center text-white mb-0">Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time></p></div></footer><!--googleonindex-->

    </
div>
    <
div class="d-none">
   <
span class="js-responsive d-xs-block"></span>
   <
span class="js-responsive d-sm-block"></span>
   <
span class="js-responsive d-md-block"></span>
   <
span class="js-responsive d-lg-block"></span>
   <
span class="js-responsive d-xl-block"></span>
   <
span class="js-responsive d-xxl-block"></span>
   <
span class="js-responsive d-xxxl-block"></span>
 </
div>
<
link href="/static_files/common/css/aeat.07.print.css" rel="stylesheet" type="text/css">
<
script type="text/javascript" src="/static_files/common/script/aeat.07.js"></script>
</body>
</html> 


ermendalenda 21-10-2024 11:38:27

Podeis verificar si os funciona la consulta de los QR?. ayer me funcionaba y no sé si es cosa mia.
Gracias

bmfranky 21-10-2024 11:47:42

Cita:

Empezado por ermendalenda (Mensaje 558494)
Podeis verificar si os funciona la consulta de los QR?. ayer me funcionaba y no sé si es cosa mia.
Gracias

Si funciona, siempre que como te comentaba, no dupliques la factura y uses los datos viejos.
Lo acabo de probar.
una cosa esto que es?
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
    <
div id="body" data-template-id="cc1c55b3cac46710VgnVCM100000dc381e0aRCRD" class="s_Sede p_estandar t_informacion">
        
        <
header id="AEAT_header" class="header_aeat d-print-none d-app-none" >
    <!-- 
CABECERA -->
       <!--
googleoffindex-->
    <
class="focus-only" href="#acc-main">Saltar al contenido principal</a>
    <
div class="header-sup_aeat w-100">
      <
div class="container">              
        <
div class="row">
        <!-- 
CABECERA IZQUIERDA-->
           <
div id="topIzquierda" class="pl-0"><nav class="header-contLogos_aeat"><a href="/Sede/inicio.html" title="P&aacute;gina de inicio" class="header-logosPrincipales_aeat"><span class="logoGobierno Sede">Logotipo Gobierno de España</span><span class="logoAEAT logoSite logoSede ml-2 overflow-hidden">Logotipo Organismo</span></a></nav></div><!-- CABECERA IZQUIERDA FIN -->
</
div>
      </
div>    
    </
div>
    <!--
googleonindex-->
    <!-- 
CABECERA FIN -->
    <!-- 
MENU -->
       <!--
googleoffindex--><div class="w-100 bg-primary p-1"><div class="container"><div class="row justify-content-between align-items-center"><button class="header-btnMovil_aeat text-white d-lg-none col-2 btn btn-link" type="button" id="menuPrincipal"><class="aeat-ico fa-ico-menu ico-size-2 w-100" title="Abrir men&uacute; m&oacute;vil" aria-hidden="true" role="presentation"></i><span class="sr-only">Menú móvil</span></button><nav id="aeat_menuPrincipal" class="navbar-dark navbar navbar-expand-lg p-0 col-12 col-xl-8 col-lg-9 d-none d-lg-flex" aria-label="Menú principal"><!--clase para movilheader-navMovil_aeat--><ul class="navbar-nav"><li class="nav-item"><a href="#" class="py-3 px-4 nav-link dropdown-toggle invisible" role="button"><span>Aqui se cargarán las opciones del menú cuando estén disponibles</span></a></li></ul></nav></div></div></div><!--googleonindex-->
<!-- 
MENU FIN -->
</
header><nav aria-label="Migas navegación" class="js-nav-principal d-print-none d-app-none">
    <
ol class="breadcrumb container bg-transparent px-md-4 px-3">           
<
li class="breadcrumb-item breadcrumb-item__volver"><a data-aeat-id='b3552c121d27c610VgnVCM100000dc381e0aRCRD' href='/Sede/inicio.html'><class="aeat-ico fa-ico-chevron-left ico-size-mini mr-2 d-md-none" aria-hidden="true" role="presentation"></i>Inicio</a></li>
</
ol>
</
nav><div class="container-text js-container">
            <
div class="row my-3 justify-content-center">
                <
main class="col-12 col-lg-7" id="acc-main">
                    <
div class="d-flex"><class="aeat-ico fa-ico-error-sm ico-size-4 mr-3 text-danger" aria-hidden="true" role="presentation"></i><h1 id="js-nombre-canal" class="font-weight-bold mb-0 display-4 mb-3 text-danger">401</h1></div><p>No autorizadoSe ha producido un error al verificar el certificado presentadoLas causas m&aacute;s probables de este error son:</p><ul><li>El certificado no ha sido firmado por una autoridad reconocida.</li><li>El tipo de certificado no es v&aacute;lido para el servicio al que se quiere acceder.</li><li>El certificado ha expirado.</li></ul><p>Puede contactar con el servicio de atenci&oacute;n al contribuyente indicando el c&oacute;digo de error 401.</p><a target="_self" title="Comunicar incidencia" href="https://www2.agenciatributaria.gob.es/soporteaeat/Formularios.nsf/soporteOnline.php?OpenForm&codigoError=401" class="d-block">Comunicar incidencia</a></main>
            </
div
        </
div>
        
        <!--
googleoffindex-->
        <!-- 
<
section>
    <
div id="last-update" class="container pb-3">
        <
class="small text-center mb-0">
            
Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time>
        </
p>
    </
div>
</
section>
 -->
<
footer class="bg-primary d-print-none d-app-none" >
<
noscript><div class="container py-3"><div class="row"><class="text-white"   href="https://sede.agenciatributaria.gob.es/Sede/condiciones-uso-sede-electronica/accesibilidad/declaracion-accesibilidad.html">Accesibilidad</a></div></div></noscript><div id="last-update" class="container pb-3"><class="small text-center text-white mb-0">Página actualizada: <time datetime="2022-09-28">28/septiembre/2022</time></p></div></footer><!--googleonindex-->

    </
div>
    <
div class="d-none">
   <
span class="js-responsive d-xs-block"></span>
   <
span class="js-responsive d-sm-block"></span>
   <
span class="js-responsive d-md-block"></span>
   <
span class="js-responsive d-lg-block"></span>
   <
span class="js-responsive d-xl-block"></span>
   <
span class="js-responsive d-xxl-block"></span>
   <
span class="js-responsive d-xxxl-block"></span>
 </
div>
<
link href="/static_files/common/css/aeat.07.print.css" rel="stylesheet" type="text/css">
<
script type="text/javascript" src="/static_files/common/script/aeat.07.js"></script>
</body>
</html> 


espinete 21-10-2024 11:53:41

Cita:

Empezado por bmfranky (Mensaje 558490)

Estaría bien saber cuales de esos errores requieren "subsanación" (o anulación, o sustitución o como c... se llame), cuales requieren un simple re-envío completo (porque no le ha llegado a Hacienda), etc.
Hace unas semanas un usuario del foro creo que lo comentó, pero ya no encuentro el mensaje.

Esto sin duda ayudaría a saber qué hacer con cada factura antes de liarla y enviar dos veces, subsanar algo que no necesitaba subsanación, mostrar el mensaje adecuado al usuario para que sepa qué debe hacer (o qué NO debe hacer), etc.

[email protected] 21-10-2024 11:55:34

Formato FechaHoraHusoGenRegistro
 
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

bmfranky 21-10-2024 12:08:01

Cita:

Empezado por [email protected] (Mensaje 558498)
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

Depende del leguaje de programacion que uses si, Pero por ejemplo yo lo genero asi en c#.
Código:

var fechora = DateTime.Now;
timeStamp = fechora.ToString("yyyy-MM-dd'T'HH:mm:ssK");

Lo puedes simplificar asi

Código:

timeStamp =DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssK");
Yo uso fechora para sacar el dia de hoy por eso lo separo.

ermendalenda 21-10-2024 12:24:33

Cita:

Empezado por bmfranky (Mensaje 558496)
Si funciona, siempre que como te comentaba, no dupliques la factura y uses los datos viejos.
Lo acabo de probar.
una cosa esto que es?
Código PHP:

<!DOCTYPE html>
<
html lang="es">
<
head>        
    <
meta name="site" content="Sede"/>
    <
link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">
<
meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">
<
title>Agencia Tributaria401</title><meta name="ObjectId" content="a8937bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4011"/>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <
meta name="detalle" content="errores"/>
</
head>
<
body>
  ..... 


Es la respuesta a una petición con certificado erroneo


Los QR funcionan si son facturas simplificadas u ordinarias
Pero no me funcionan con rectificativas ni con sustitutivas.
Lo habeios probado?

ermendalenda 21-10-2024 12:27:25

Cita:

Empezado por [email protected] (Mensaje 558498)
FechaHoraHusoGenRegistro nos dice los datos que hemos de suministrar.

DateTime. Formato: YYYY-MM-DDThh:mm:ssTZD (ej: 2024-01-01T19:20:30+01:00) (ISO 8601), este es el formato de ejemplo.

mi pregunta es si este formato hay que montarlo por partes, primero la fecha + T + time + 01.00 o + 02.00 o ya hay alguna instruccion/comando que nos la muestre ya formateada

Ojo con sacar la fecha por un lado y la hora en otra linea del programa, por que te puede pasaer que ese milisegundo de diferencia te cambie la fecha y la fecha que hayas cogido no corresponda a la hora.

Fecha="23/10/2024"
Hora = "00:00:00"
Volver a comprobar fecha

y viceversa igual pero con la hora

ermendalenda 21-10-2024 12:39:29

Una curiosidad:
Si emitimos una factura y despues hacemos una rectificativa por diferencias eje:
Total 100.00 Euros
Podemos hacer una rectificativa por diferencias de un valor absoluto negativo superior al positivo por ejemplo:
-110.00 Euros

Además deja hacer tantas rectificativas como quieras superando el valor absoluto lo que quieras.

No sé si puede tener alguna lógica que lo admita, en todo caso lo controlaré en el programa


Me respondo a mi mismo, tiene lógica puesto que se puede tener el totall en negativo


La franja horaria es GMT +2. Ahora son las 02:36:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi