Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Envío de registros y sus respuestas (https://www.clubdelphi.com/foros/forumdisplay.php?f=66)
-   -   Demo con código Verifactu.dll para (delphi 7) (https://www.clubdelphi.com/foros/showthread.php?t=97004)

mqm 05-05-2025 21:45:07

sin comentarios

jguso 06-05-2025 22:11:55

ayuda
 
No encuentro la forma de hacer una factura que tenga un tipo de iva + un importe en exento ?, alguien tiene alguna idea de como hacerlo.

Código:

base exenta      base imponible  % de iva    Cuota de Iva              Total Factura
    115,00          100,00        21,00          21,00                  236.00 euros


Neftali [Germán.Estévez] 07-05-2025 08:34:01

Cita:

Empezado por jguso (Mensaje 564303)
No encuentro la forma de hacer una factura que tenga un tipo de iva + un importe en exento ?, alguien tiene alguna idea de como hacerlo.

Código:

base exenta      base imponible  % de iva    Cuota de Iva              Total Factura
    115,00          100,00        21,00          21,00                  236.00 euros


Sería algo así:

Código:

<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
        <sum:RegistroFactura>
                <sum1:RegistroAlta>
                        <sum1:IDVersion>1.0</sum1:IDVersion>
                        <sum1:IDFactura>
                                <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
                                <sum1:NumSerieFactura>S1-32</sum1:NumSerieFactura>
                                <sum1:FechaExpedicionFactura>07-05-2025</sum1:FechaExpedicionFactura>
                        </sum1:IDFactura>
                        <sum1:NombreRazonEmisor>CERTIFICADO FISICA PRUEBAS</sum1:NombreRazonEmisor>
                        <sum1:TipoFactura>F1</sum1:TipoFactura>
                        <sum1:DescripcionOperacion>Base exenta</sum1:DescripcionOperacion>
                        <sum1:Destinatarios>
                                <sum1:IDDestinatario>
                                        <sum1:NombreRazon>EMPRESA 1</sum1:NombreRazon>
                                        <sum1:NIF>A95758389</sum1:NIF>
                                </sum1:IDDestinatario>
                        </sum1:Destinatarios>
                        <sum1:Desglose>
                                <sum1:DetalleDesglose>
                                        <sum1:Impuesto>01</sum1:Impuesto>
                                        <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                                        <sum1:OperacionExenta>E6</sum1:OperacionExenta>
                                        <sum1:BaseImponibleOimporteNoSujeto>115.00</sum1:BaseImponibleOimporteNoSujeto>
                                </sum1:DetalleDesglose>
                                <sum1:DetalleDesglose>
                                        <sum1:Impuesto>01</sum1:Impuesto>
                                        <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
                                        <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
                                        <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
                                        <sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto>
                                        <sum1:CuotaRepercutida>21.00</sum1:CuotaRepercutida>
                                </sum1:DetalleDesglose>
                        </sum1:Desglose>
                        <sum1:CuotaTotal>21.00</sum1:CuotaTotal>
                        <sum1:ImporteTotal>236.00</sum1:ImporteTotal>
                        <sum1:Encadenamiento>
                                <sum1:RegistroAnterior>
                                        <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
                                        <sum1:NumSerieFactura>2023-13</sum1:NumSerieFactura>
                                        <sum1:FechaExpedicionFactura>25-01-2023</sum1:FechaExpedicionFactura>
                                        <sum1:Huella>26D33155600413201C9D58DE8F23F178A20C5D6A10DCCD67B1FE16AC1A2FD657</sum1:Huella>
                                </sum1:RegistroAnterior>
                        </sum1:Encadenamiento>
                        <sum1:SistemaInformatico>
                                <sum1:NombreRazon>Mi empresa S.L.</sum1:NombreRazon>
                                <sum1:NIF>XXXXXXXXX</sum1:NIF>
                                <sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico>
                                <sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico>
                                <sum1:Version>1.0.0.0</sum1:Version>
                                <sum1:NumeroInstalacion>12345678</sum1:NumeroInstalacion>
                                <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
                                <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
                                <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
                        </sum1:SistemaInformatico>
                        <sum1:FechaHoraHusoGenRegistro>2025-05-07T06:32:19Z</sum1:FechaHoraHusoGenRegistro>
                        <sum1:NumRegistroAcuerdoFacturacion/>
                        <sum1:IdAcuerdoSistemaInformatico/>
                        <sum1:TipoHuella>01</sum1:TipoHuella>
                        <sum1:Huella>826307DC73D5C08A1FCAE5F273A03B49199D4786DAC7197D316485BCD1E78FCF</sum1:Huella>
                        ...
                </sum1:RegistroAlta>
        </sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>


Neftali [Germán.Estévez] 07-05-2025 08:36:24

Ahora veo que tal vez te estás refiriendo a cómo realizarla con el programa, no al resultado.

jguso 07-05-2025 17:00:25

ayuda
 
Supongo que habrá que ampliar las columnas del string grid para abarcar un poco más de información y poder rellenar con los bases+ivas+cuotas correspondientes y asignarlos a verifactuD7.


He probado la demo en delphi tokyo y funciona perfectamente, pero existe un problema, cuando intento integrarlo en mi código, me dá error de stack owerflow, ya he ampliado el stack al máximo pero sigue dando el mismo error, de tal manera, que cuando llamo a algunas funciones de la dll da siempre el error del stack,


por el momento le estoy dando vueltas a ver como puedo solucionarlo. He pensado en crear una dll independiente donde integrar la verifactu.dll y hacer las llamadas correspondientes a la dll que voy a crear, a ver si así me quito lo del stack.


Cuando lo tenga operativo y funcionando, empezaré a probar con empresas reales a ver q tal se comporta y si aguantamos el tirón.

jguso 08-05-2025 23:39:02

ayuda
 
Alguien sabe como hacer una factura tipo F2 con esta dll ? No encuento la forma de decirle que es tipo F1 o F2

jguso 08-05-2025 23:51:18

ayuda
 
me respondo yo mismo, Creo q si no le asignamos NIF entonces toma por defecto TipoFactura = F2 siempr que no haya nada en rectificativa.

ramherfer 14-05-2025 08:07:36

Cita:

Empezado por jguso (Mensaje 564417)
me respondo yo mismo, Creo q si no le asignamos NIF entonces toma por defecto TipoFactura = F2 siempr que no haya nada en rectificativa.

Si te coges la demo e intentas analizar su contenido y funcionamiento que está detallado al cien por cien, magnificamente detallado diria yo, entenderás bien el funcionamiento, tanto de la dll como del componente VerifactuD7.

Apoyate en el fichero ayuda.txt, baja hacia el final y verás la progresión de las distintas versiones por la que ha pasado que está muy bien detallado y entenderás completamente el funcionamiento y toda la automatización que lleva para rellenar los diferentes datos.

Tienes que tener en cuenta que en las primeras versiones el componente precisaba de un servidor de envio (ServidorEnvio.exe) y que gracias al autor y personas que hay siguiendo este hilo, se convirtió ese ejecutable en una DLL y que funciona como la seda.

De esta forma estoy convencido que te resultará mucho más fácil y comprensible su funcionamiento.

Si con esto ves que se te hace cuesta arriba, empieza con las primeras demos analizando su comportamiento y ves evolucionando todo (el servidor y el componente hasta DLL componente) hasta llegar a la última versión. Verás como no te cuesta llegar a la versión actual.

saludos,

jguso 14-05-2025 23:00:39

ayuda
 
Tengo una ultima pregunta.
Yo estoy haciendo las pruebas sobre el servidor de pruebas de la AEAT, todas con su huella, QR ... etc, etc.
Que ocurre cuando cambiemos al servidor en producción. Se comienza como desde el principio primera factura con su huella pero sin huella anterior ???
Se continua enlazando con la ultima factura que se envio al servidor de prueba ???
alguien sabe algo de esto ???

gracias...

Neftali [Germán.Estévez] 15-05-2025 08:23:46

Cita:

Empezado por jguso (Mensaje 564621)
Que ocurre cuando cambiemos al servidor en producción. Se comienza como desde el principio primera factura con su huella pero sin huella anterior ???

Es la primera factura que subes, por lo tanto debe subir sin huella del anterior.

Javierus 19-05-2025 11:53:20

Cita:

Empezado por jguso (Mensaje 564303)
No encuentro la forma de hacer una factura que tenga un tipo de iva + un importe en exento ?, alguien tiene alguna idea de como hacerlo.

Código:

base exenta      base imponible  % de iva    Cuota de Iva              Total Factura
    115,00          100,00        21,00          21,00                  236.00 euros


Solo un recordatorio, que igual sobra: Fianzas y Suplidos no son "exentos de IVA", sino que realmente no forman parte real de la factura, y no deben aparecer, ni sumando a la Base Imponible ni al total de la factura

jguso 29-05-2025 01:38:05

ayuda
 
alguien sabe las url finales para producción y donde hay que cambiar esta información en la dll para ir al servidor de producción


endpoint VF h.t.t.p.s.://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP
endpoint QR h.t.t.p.s.://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR


tenia entendido que solo habia que eliminar el prefijo pre de las url, pero a mi no me funciona

Neftali [Germán.Estévez] 29-05-2025 08:38:49

En el mensaje número #1 (recopilatorio) he actualizado todas las URLs (si me falta alguna comentádmelo y la añado).
En resumen son estas:

PRUEBAS

jguso 04-06-2025 00:05:07

ayuda
 
Alguien sabe algo sobre los registros de eventos, donde se guardan, como se rescatan si hacienda nos lo pide por requerimiento ??

jguso 04-06-2025 01:34:17

ayuda
 
extraido de las faqs de la AEAT


En que el sistema informático de facturación (SIF) detecte y recoja automáticamente, en el momento en que se produzcan, determinadas interacciones con dicho sistema informático, operaciones realizadas con él o sucesos ocurridos durante su uso, guardando los datos correspondientes a cada uno de ellos, que deberán poder ser consultados desde el propio SIF.
Este registro de eventos solo es obligatorio en el caso de los sistemas de emisión de facturas no verificables, no siendo necesario en los casos de SIF «VERI*FACTU».
Normativa/Doctrina:
  • Artículo 8.3 del reglamento que establece los requisitos que deben adoptar los sistemas y programas informáticos o electrónicos que soporten los procesos de facturación de empresarios y profesionales, y la estandarización de formatos de los registros de facturación (RRSIF), aprobado por el Real Decreto 1007/2023, de 5 de diciembre.

ramherfer 06-06-2025 16:35:14

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 564965)
En el mensaje número #1 (recopilatorio) he actualizado todas las URLs (si me falta alguna comentádmelo y la añado).
En resumen son estas:

PRUEBAS

Veo estas dos URL tanto en pre-producción como en producción no se si esto lo tenemos contemplado en la DLL o como darle uso, si alguno me puede responder estaría muy bien.
Un saludo,

mqm 06-06-2025 17:50:24

Yo en las base de datos de cada empresa tengo un campo donde le indico si esta en fase de desarrollo, pruebas o entorno real.
Dependientdo del valor que tiene llamos a uno u otro

Código:

   
const
    URL_PRODUCCION = 'https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP';
    QR_PRODUCCION = 'https://www2.agenciatributaria.gob.es/wlpl/TIKE-CONT/ValidarQR?';
    URL_PREPRODUCCION = 'https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP?';
    QR_PREPRODUCCION = 'https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?';

procedure ConfigurarURLs(modo_verifactu: string);
begin
    case UpperCase(modo_verifactu) of
    'S':    begin                // Entorno real
                    editURL.Text := URL_PRODUCCION;
                    editQR.Text := QR_PRODUCCION;
            end;
    'P':    begin              // Entorno de Pruebas
                    editURL.Text := URL_PREPRODUCCION;
                    editQR.Text := QR_PREPRODUCCION;
            end;
    else
            begin              // Entorno de de Desarrollo - No toco nada de verifactu en esa empresa
                  editURL.Text := '';
                  editQR.Text := '';
            end;
    end;
end;

En la dll no toco nada, solo en el aplicativo demo_D7

ramherfer 07-06-2025 12:21:18

Cita:

Empezado por mqm (Mensaje 565317)
Yo en las base de datos de cada empresa tengo un campo donde le indico si esta en fase de desarrollo, pruebas o entorno real.
Dependientdo del valor que tiene llamos a uno u otro


En la dll no toco nada, solo en el aplicativo demo_D7

Ya, yo lo tengo igual y las url en un archivo.ini de forma que se cargan desde ese archivo en función de lo que esté configurado en la empresa y así me evito tocar código si alguna de ellas cambia.

Peeero, he visto por ahí una URL que no se para que es, y me gustaría saberlo:

Envío Sistema Veri*factu Sello: https://www10.agenciatributaria.gob..../VerifactuSOAP (En entorno real)
Envío Sistema Veri*factu Sello: https://prewww10.aeat.es/wlpl/TIKE-C.../VerifactuSOAP (En entorno pre-producción)


Gracias.
Un saludo.

mqm 07-06-2025 13:02:27

Código:

<!--  Sistemas que emiten facturas verificables. Entorno de PRODUCCION  -->
<wsdl:port name="SistemaVerifactu" binding="sfWdsl:sfVerifactu">
<soap:address location="https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"/>
</wsdl:port>
<!--  Sistemas que emiten facturas verificables. Entorno de PRODUCCION para acceso con certificado de sello  -->
<wsdl:port name="SistemaVerifactuSello" binding="sfWdsl:sfVerifactu">
<soap:address location="https://www10.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"/>

Un certificado de sello (también conocido como sello digital o certificado de sello electrónico) es un tipo de certificado digital que se utiliza para autenticar documentos electrónicos y asegurar su integridad. A diferencia de las firmas digitales, que se asocian a una persona física, un certificado de sello se utiliza para representar la identidad de una entidad (empresa, organización, administración pública, etc.).

Igual esto te ayuda.

JperezIB 10-06-2025 15:55:23

Versión 4.3 de la DLL error cálculo huella BAJA
 
Saludos Gente.

Alguien más tiene problemas al enviar los archivos excel de la demo, primero el de altas, todo ok y posteriormente al procesar la BAJA genera un error de Huella mal calculada al realizar el envío. He revisado a mano el calculo de la huella y a mí me da la que hacienda dice que toca ser, pero por algún motivo se está enviando una incorrecta. Me he descargado la última versión por si acaso y al menos a mi me falla sin tocar nada de nada...

Un saludo.


La franja horaria es GMT +2. Ahora son las 03:11:11.

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