![]() |
Cita:
|
Cita:
los datos de huella son ciertos, ocurra el fallo que ocurra: Código:
CadenaTemporalHuella:= 'IDEmisorFactura='+ alta.IDFactura.IDEmisorFactura+'&'+La carga del certificado PFX o P12 no tengo ni idea, hay algun usuario que le funcionó (podeis revisar el hilo). Lamentablemente mas alla de eso no tengo tiempo para comprobar, pero mirare un poco por google. El codigo es copy-paste de uno que supuestamente funcionaba. ( ¿has aplicado la correccion de Quim Herrera ? ) Saludos ! |
El usuario garada tiene un codigo ligeramente distinto en:
https://www.clubdelphi.com/foros/showthread.php?t=95356 dale una mirada al hilo. Este es el codigo, señalo en rojo, lo que puede ser distinto. la carga del pfx la deja libre, sin determinar. Código:
procedure HTTPRIOHTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer); |
Cita:
Saludos |
Cita:
debido a que cambia si lo dejo en va bien pero en la linea internetsetoption recibo el mismo error que al principio, "codigo error 6" |
Cita:
|
Cita:
el codigo que carga el certificado esta correcto pero no se transmite el password a la DLL y en la DLL el array de sesiones se comprueba al llegar a la zona de carga del certificado de forma erronea. creo que corrigiendo esto: en el componente: Código:
function TVerifactu.validNIF(nif, nombre:string; var resultado, nombreRes:string):boolean;y esto en la DLL: Código:
procedure TEventosWebNode.WebNodeBeforePost(const HTTPReqResp: THTTPReqResp;ya deberia funcionar, a mi me funciona. A principios de la semana que viene publicare una nueva version corregida. Pero ya esta solucionado. slds |
Buenas tardes.
Si se le factura a un cliente con recargo de equivalencia no se si está asignando la clave de régimen 01 (Operación de Régimen General). Creo que en este caso debería de asignar la clave de regimen 18 (Recargo de equivalencia). Por favor corregirme si me equivoco. |
Cita:
En uveriFactuFuncs. La variable Condatos en la consulta se quedaba siempre a false, al menos en la version que yo tengo. Si os ocurre esto, cambiar esta funcion asi: Código:
function consultar(sesion:integer; var resultado:TConsultaResultado):boolean; |
Cita:
Lo mismo que ocurriría si es una operación REBU 03 (Régimen de bienes usados), no la puedo calificar con el Régimen General (01). |
Cita:
https://arnaldes.com/expedientes-de-...sos-indebidos/ A ver que conclusiones sacamos Saludos ! |
en la proxima version que publicaremos este fin de semana incluira previsiblemente entre otras tres flags de factura
subsanacion rechazoprevioExiste rechazoPrevioNoExiste Con la intencion de marcar a true la modalidad de rechazoprevio, cuando se envie un registro por un fallo, por ejemplo el de un DNI. (subsanacion, rechazoPrevioNoExiste) Tenemos el siguiente caso: Factura 1 aceptada huella: A Factura 2 error por dni huella B Factura 3 aceptada huella C Factura 2 aceptada huella D Cuando se vuelva a enviar la factura 2, tendra una nueva huella D y habria que marchar esos dos flags. Ahora viene una pregunta: El resto de huellas de la 2 en adelante y hasta el fin de la facturacion estara mal por dos causas: https://www.agenciatributaria.es/sta..._registros.pdf Cita:
¿esto es asi? Saludos ! |
Cita:
Cita:
Abreviando, calculas el hash con datos erroneos , te da bbbb, lo usas en el siguiente aunque sea erroneo, el calculo da ccc, para el siguiente el calculo cccc, es correcto porque en su formula, usaste bbbb que es lo que enviaste. Tenemos un hilo entero aqui, al respecto. Ten en cuenta que corrijes la huella del 2 registro en la aeat, creando un nuevo registro, no sustituyes ese registro en tu SIF, se queda inalterado. |
gracias por la respuesta bmfranky !
entonces tenemos ENVIO 1 --------- F0001-ACEPTADA ENLACE CON NADA, PRIMER REGISTRO F0002-ACEPTADA ENLACE CON F0001 F0003-DNI ERROR ENLACE CON F0002 F0004-ACEPTADA ENLACE CON F0003 ENVIO 2 --------- F0003 ACEPTADA-DNI YA CORRECTO - ENLACE CON F0004 F0005 ACEPTADA ENLACE CON F0004 ¿o con F0003? F0006 ACEPTADA ENLACE CON F0005 ¿seria asi? |
La F0005 iría con la F0003 en ese caso. Ya que la F0003 aceptada, es cronológicamente su predecesora.
|
Encadenamiento Registros , No Facturas
Cita:
Cita:
Hola, el encadenamiento es sobre el registro anterior, has de coger de el sus datos para el siguiente encadenamiento Cita:
Se enlaza con el contenido del registro anterior, sea de alta, baja, modificacion, no con la factura. |
Cita:
|
Cita:
|
Cita:
|
gracias por las respuestas !
¿y si el emisor tiene varias series? (una para tickets, y otra para facturas ) por ejemplo F0003 ACEPTADA ENLAZADO CON F0002 V0002 ACEPTADA ¿ENLAZADO CON F0003? saludos ! |
Cita:
Da igual el contenido del registro, yo lo hago , encadeno 3 series de facturas, F1 de reparacion FR1, F1 de materiales FV1, y F2 de contado FC1, aparte de cuando haga las R que tambien lo hare. Cita:
Al calcular el nuevo hash de encadenamiento usas el contenido del anterior, sea cual sea.(Hojo siempre del mismo NIF/Empresa) |
Siempre se encadena con el ultimo registro enviado, da igual si es correcto, Incorrecto o Aceptada con Errores.
Tambien da igual el tipo de factura y el tipo de registro Alta o Anulacion. Lo mejor es guardar los datos del ultimo registro enviado y con eso construyes el siguiente. |
Cita:
yo creo que no es el último enviado, sino el último registro de facturación generado |
Cita:
Se entiende que ultimo enviado = ultimo generado. |
Cita:
si envio la F3 con error en DNI y es la ultima del envio, y da resultado Incorrecto.... ¿ El siguiente envio de la F3 ira enlazado con la huella de la F3 que dio errores (Incorrecta) ? (¿y en teoria no esta en la AEAT?) hoy me he quedado sorprendido, porque hasta ahora no lo entendia asi. Las que dan errores, No se quedan en la AEAT ¿no?, esto me descoloca un poco, a mi esto de enlazar me cuadraba con las aceptadas, o aceptas con errores, pero con las incorrectas... ahi ya me quede. Saludos y gracias a todos |
Cita:
Para la aeat, el registro anterior con o sin errores , es el que hay que tener en cuenta para encadenar. Osea creas el REgistro, lo almacenas, lo envias, se rechaza, creas otro registro , que soluciona los errores del registro enviado, encadenas con el anterior de la lista, sea o no correcto, enviado o no, rechazado o no, y continuas con la serie. Mira en mi caso, hubo un error en el envio. ![]() |
Cita:
|
Cita:
|
![]() En esta captura se ve , que tube que modificar a huevos por un fallo mio al enviar, si veis es el mismo numero de factura, distinto contenido, la anterior no reza en la AEAT para nada. Me pase de 3.000€, Si lo se la forma correcta es una rectificativa, pero aun no las implemento. |
gracias a todos
ahora si, ya quedo claro. la semana que viene publicare una nueva version con los tres flags nuevos para permitir la correccion del registro, como he indicado. Saludos ! |
Cita:
|
Cita:
Cita:
En Verifactu es posible que generado=enviado, pero en No-Verifactu no se envía nada y tal vez alguien se esté liando con eso. |
Cita:
Y como decia lo he echo sobre la base de ultimo registro generado = ultimo registro enviado en el caso de Verifactu y con el planteamiento que hacian los compañeros. Lo importante aqui es que quede claro el concepto de lo que hay que utilizar. |
Cita:
Gracias. |
Ya tengo el codigo corregido. Pero....
1 He enviado una factura con error: A24033 , adrede. La unica del paquete 2 Me ha sido rechazada. Incorrecto. La archivo en el registro. 3 Corrijo la factura 4 Cuando intento enviarla de nuevo pongo como anterior su misma version fallida: (es decir huella rechazada, numero rechazado: ella misma la A24033 ) y me devuelve esto: 3002 No existe el registro de facturación. ... Saludos ! |
Cita:
Ten encuenta que lo que no existe es el registro, no los datos de la factura, que es lo que usas para hacer el encadenamiento. |
Cita:
Subsanacion=S RechazoPrevio=X Si, por el contrario, el pimer registro te lo acepta y mandas un segundo por subsanacion y te lo rechaza tienes que hacelo para el siguiente: Subsanacion=S RechazoPrevio=S Por lo general, si el registro esta en la AEAT y en caso de Subsanacion=S, RechazoPrevio=S, si no esta en la AEAT y es una subsanacion RechazoPrevio=X |
Cita:
tengo que comprobar los encadenamientos, pero ya esta. Cuando actualice el componente, ya se podra hacer asi. slds ! Me gustaria facilitar estos encadenamientos en el componente, pero todavia no tengo claro si es muy seguro y factible. |
Cita:
|
ahora me doy cuenta que no necesito el registro anterior en el array de facturas
solo necesitaria el registro inicial como huella anterior del primer registro del array (o ninguno si es primer envio) del paquete de envio. el array va ordenado cronologicamente (por orden de llegada) y el registro anterior, esta simplemente en j-1 al termino se guarda la ultima, que sera la inicial del siguiente paquete de envio. Y listo. Teniendo en cuenta su estado por subsanacion y rechazoprevio. |
| La franja horaria es GMT +2. Ahora son las 18:50:30. |
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