Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-07-2022
nuevo1234 nuevo1234 is online now
Miembro
 
Registrado: abr 2017
Posts: 102
Poder: 8
nuevo1234 Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Hola.
os dejo un borrador de los 2 XML para que vayamos practicando/corrigiendo, seguro tengo algún error y ademas me faltan datos de cabecera.
Registro/s de Alta:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<xx:xxxx xmlns:x=xxxxxxxxxxxxxxxxxxx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">

<SistemaFacturacionAltaFact>

    <Cabecera>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon></NombreRazon>
            <NIF></NIF>
            <NombreRazonRepresentante></NombreRazonRepresentante>
            <NIFRepresentante></NIFRepresentante>
        </ObligadoEmision>
    </Cabecera>    
    <RegistroAltaFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio></Ejercicio>
                <Periodo></Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF></NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor></NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>
            </IdFactura>
            <TipoFactura></TipoFactura>
            <TipoRectificativa></TipoRectificativa>
            <FacturasRectificadas>
                <IdFacturaRectificada>
                    <NumSerieFacturaEmisor></NumSerieFacturaEmisor>
                    <FechaExpedicionFacturaEmisor></FechaExpedicionFacturaEmisor>
                </IdFacturaRectificada>
                //...
            </FacturasRectificadas>
            <FacturasSustituidas>
                <IdFacturaSustituida>
                    <NumSerieFacturaEmisor></NumSerieFacturaEmisor>
                    <FechaExpedicionFacturaEmisor></FechaExpedicionFacturaEmisor>
                </IdFacturaSustituida>
                //...
            </FacturasSustituidas>
            <ImporteRectificacion>
                <BaseRectificada>
                <CuotaRectificada>
                <CuotaRecargoRectificado>
            </ImporteRectificacion>
            <FechaOperacion>/<FechaOperacion>
            <NumRegistroAcuerdoFacturacion></NumRegistroAcuerdoFacturacion>
            <NumRegistroAcuerdoSistemaInformatico></NumRegistroAcuerdoFacturacion>
            <DescripcionOperacion></DescripcionOperacion>
            <RefExterna></RefExterna>
            <FacturaSimplificadaArticulos7.2_7.3></FacturaSimplificadaArticulos7.2_7.3>
            <FacturaSinIdentifDestinatarioArticulo6.1.d></FacturaSinIdentifDestinatarioArticulo6.1.d>
            <Macrodato></Macrodato>
            <EmitidaPorTercerosODestinatario></EmitidaPorTercerosODestinatario>
            <Tercero>
                <NombreRazon></NombreRazon>
                <NIF></NIF>
                <IDOtro>
                    <CodigoPais></CodigoPais>
                    <IDType></IDType>
                    <ID></ID>
                </IDOtro>
                <NIFRepresentante></NIFRepresentante>
            </Tercero>
            <Contraparte>
                <NombreRazon></NombreRazon>
                <NIF></NIF>
                <IDOtro>
                    <CodigoPais></CodigoPais>
                    <IDType></IDType>
                    <ID></ID>
                </IDOtro>
                <NIFRepresentante></NIFRepresentante>
            </Contraparte>
            <Desglose>
                <DetalleDesglose>
                    <ClaveRegimen></ClaveRegimen>
                    <CalificacionOperacion></CalificacionOperacion>
                    <OperacionExenta></OperacionExenta>
                    <TipoImpositivo></TipoImpositivo>
                    <BaseImponibleOimporteNoSujeto></BaseImponibleOimporteNoSujeto>
                    <BaseImponibleACoste></BaseImponibleACoste>
                    <CuotaRepercutida></CuotaRepercutida>
                    <TipoRecargoEquivalencia></TipoRecargoEquivalencia>
                    <CuotaRecargoEquivalencia></CuotaRecargoEquivalencia>

                </DetalleDesglose>
                //...
            </Desglose>
            <ImporteTotal></ImporteTotal>
            <EntidadSucedida>
                <NombreRazon></NombreRazon>
                <NIF></NIF>
            </EntidadSucedida>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior></IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior></NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior></FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior></HuellaFacturaAnterior>
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon></NombreRazon>
                <NIF></NIF>
                <IDOtro>
                    <CodigoPais></CodigoPais>
                    <IDType></IDType>
                    <ID></ID>

                </IDOtro>
                <IdSistemaInformatico></IdSistemaInformatico>
                <Version></Version>
                <NumeroInstalacion></NumeroInstalacion>
                <TipoUsoSistema></TipoUsoSistema>
            </SistemaInformatico>
        <RegistroFacturacion>
        
        <DatosControl>
            <Huella></Huella>
            <TipoHash></TipoHash>
            <FechaGenRegistro></FechaGenRegistro>
            <HoraGenRegistro></HoraGenRegistro>
            <HusoHorarioGenRegistro></HusoHorarioGenRegistro>
            <Incidencia></Incidencia>

        </DatosControl>
    </RegistroAltaFacturas>
</SistemaFacturacionAltaFact>
Registro/s de Anulacion:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<xx:xxxx xmlns:x=xxxxxxxxxxxxxxxxxxx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">

<SistemaFacturacionBajaFact>

    <CabeceraBaja>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon></NombreRazon>
            <NIF></NIF>
            <NombreRazonRepresentante></NombreRazonRepresentante>
            <NIFRepresentante></NIFRepresentante>
        </ObligadoEmision>
    </CabeceraBaja>
    <RegistroAnulacionFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio></Ejercicio>
                <Periodo></Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF></NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor></NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>
            </IdFactura>
            <RefExterna></RefExterna>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior></IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior></NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior></FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior></HuellaFacturaAnterior>
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon></NombreRazon>
                <NIF></NIF>
                <IDOtro>
                    <CodigoPais></CodigoPais>
                    <IDType></IDType>
                    <ID></ID>

                </IDOtro>
                <IdSistemaInformatico></IdSistemaInformatico>
                <Version></Version>
                <NumeroInstalacion></NumeroInstalacion>
                <TipoUsoSistema></TipoUsoSistema>
            </SistemaInformatico>
        <RegistroFacturacion>
        
        <DatosControl>
            <Huella></Huella>
            <TipoHash></TipoHash>
            <FechaGenRegistro></FechaGenRegistro>
            <HoraGenRegistro></HoraGenRegistro>
            <HusoHorarioGenRegistro></HusoHorarioGenRegistro>
            <Incidencia></Incidencia>

        </DatosControl>
    </RegistroAnulacionFacturas>
    //....
</SistemaFacturacionBajaFact>
Creo q con el soapui se pueden generar los xml directamente desde el wsdl. En el pdf hay enlaces a los wsdl y xsd
Responder Con Cita
  #2  
Antiguo 31-07-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por nuevo1234 Ver Mensaje
Creo q con el soapui se pueden generar los xml directamente desde el wsdl. En el pdf hay enlaces a los wsdl y xsd
He intentado generarlo automaticamente con otros conversores desde el xsd y parece que faltan datos. Gracias
Responder Con Cita
  #3  
Antiguo 31-07-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Prueba

Esto es una prueba, aun no hay concreción de los campos/Nodos del XML.

Es importante destacar que la huella(Hash) se calcula en Base al SHA256 del Nodo:
Código:
<RegistroFacturacion>
...
</RegistroFacturacion>
Por otro Lado veo raro que por la longitud del registro de la Huella(64) queda la duda si hay que dejarlo en Hexadecimal o en Base64, lo habitual es Base 64,...pero no sé ¿Que pensais?

Ejemplo Factura Simplificada 1.20Euros pan al 4%IVA
Código:
<?xml version="1.0" encoding="UTF-8"?>
<SistemaFacturacionAltaFact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">


    <Cabecera>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon>EMPRESA DE PRUEBA, S.A.</NombreRazon>
            <NIF>00000006Y</NIF>
        </ObligadoEmision>
    </Cabecera>    
    <RegistroAltaFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio>2022</Ejercicio>
                <Periodo>3T</Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF>00000006Y</NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor>84.2.1.2566</NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>31/07/2022</FechaExpedicionFacturaEmisor>
            </IdFactura>
            <TipoFactura>F2</TipoFactura>
            <FechaOperacion>31/07/2022</FechaOperacion>
            <DescripcionOperacion>VENTA MINORISTA</DescripcionOperacion>
            <Desglose>
                <DetalleDesglose>
                    <ClaveRegimen>01</ClaveRegimen>
                    <TipoImpositivo>4.00</TipoImpositivo>
                    <BaseImponibleOimporteNoSujeto>1.00</BaseImponibleOimporteNoSujeto>
                    
                </DetalleDesglose>
                
            </Desglose>
            <ImporteTotal>1.04</ImporteTotal>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior>00000006Y</IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior>84.2.1.2565</NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior>31/07/2022</FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior>C1E5F4DFA142198FC6D2A0CE1D87B409F867F0CE2964DD89C6FC046089ABAD76</HuellaFacturaAnterior>
        
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon>SISTEMAS INFORMATICOS TPV</NombreRazon>
                <NIF>00000006Y</NIF>
                <IdSistemaInformatico>IDENTIFICADOR AEAT XXXX</IdSistemaInformatico>
                <Version>46.243.1</Version>
                <NumeroInstalacion>45</NumeroInstalacion>
                <TipoUsoSistema>01</TipoUsoSistema>
            </SistemaInformatico>
        </RegistroFacturacion>
        
        <DatosControl>
            <Huella>C1E5F4DFA142198FC6D2A0CE1D87B409F867F0CE2964DD89C6FC046089ABAD76</Huella>
            <TipoHash>01</TipoHash>
            <FechaGenRegistro>31/07/2022</FechaGenRegistro>
            <HoraGenRegistro>09:00:07</HoraGenRegistro>
            <HusoHorarioGenRegistro>02</HusoHorarioGenRegistro>

        </DatosControl>
    </RegistroAltaFacturas>
</SistemaFacturacionAltaFact>

Última edición por ermendalenda fecha: 31-07-2022 a las 10:08:46.
Responder Con Cita
  #4  
Antiguo 31-07-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Esto es una prueba, aun no hay concreción de los campos/Nodos del XML.

Es importante destacar que la huella(Hash) se calcula en Base al SHA256 del Nodo:
Código:
<RegistroFacturacion>
...
</RegistroFacturacion>
Por otro Lado veo raro que por la longitud del registro de la Huella(64) queda la duda si hay que dejarlo en Hexadecimal o en Base64, lo habitual es Base 64,...pero no sé ¿Que pensais?

Ejemplo Factura Simplificada 1.20Euros pan al 4%IVA
Código:
<?xml version="1.0" encoding="UTF-8"?>
<SistemaFacturacionAltaFact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">


    <Cabecera>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon>EMPRESA DE PRUEBA, S.A.</NombreRazon>
            <NIF>00000006Y</NIF>
        </ObligadoEmision>
    </Cabecera>    
    <RegistroAltaFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio>2022</Ejercicio>
                <Periodo>3T</Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF>00000006Y</NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor>84.2.1.2566</NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>31/07/2022</FechaExpedicionFacturaEmisor>
            </IdFactura>
            <TipoFactura>F2</TipoFactura>
            <FechaOperacion>31/07/2022</FechaOperacion>
            <DescripcionOperacion>VENTA MINORISTA</DescripcionOperacion>
            <Desglose>
                <DetalleDesglose>
                    <ClaveRegimen>01</ClaveRegimen>
                    <TipoImpositivo>4.00</TipoImpositivo>
                    <BaseImponibleOimporteNoSujeto>1.00</BaseImponibleOimporteNoSujeto>
                    
                </DetalleDesglose>
                
            </Desglose>
            <ImporteTotal>1.04</ImporteTotal>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior>00000006Y</IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior>84.2.1.2565</NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior>31/07/2022</FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior>C1E5F4DFA142198FC6D2A0CE1D87B409F867F0CE2964DD89C6FC046089ABAD76</HuellaFacturaAnterior>
        
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon>SISTEMAS INFORMATICOS TPV</NombreRazon>
                <NIF>00000006Y</NIF>
                <IdSistemaInformatico>IDENTIFICADOR AEAT XXXX</IdSistemaInformatico>
                <Version>46.243.1</Version>
                <NumeroInstalacion>45</NumeroInstalacion>
                <TipoUsoSistema>01</TipoUsoSistema>
            </SistemaInformatico>
        </RegistroFacturacion>
        
        <DatosControl>
            <Huella>C1E5F4DFA142198FC6D2A0CE1D87B409F867F0CE2964DD89C6FC046089ABAD76</Huella>
            <TipoHash>01</TipoHash>
            <FechaGenRegistro>31/07/2022</FechaGenRegistro>
            <HoraGenRegistro>09:00:07</HoraGenRegistro>
            <HusoHorarioGenRegistro>02</HusoHorarioGenRegistro>

        </DatosControl>
    </RegistroAltaFacturas>
</SistemaFacturacionAltaFact>
Total 1.04euro iva incluido perdon
Responder Con Cita
  #5  
Antiguo 31-07-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Código:
<?xml version="1.0" encoding="UTF-8"?>
<SistemaFacturacionAltaFact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">


    <Cabecera>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon>EMPRESA DE PRUEBA, S.A.</NombreRazon>
            <NIF>00000006Y</NIF>
        </ObligadoEmision>
    </Cabecera>    
    <RegistroAltaFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio>2022</Ejercicio>
                <Periodo>3T</Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF>00000006Y</NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor>84.2.1.2566</NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>31/07/2022</FechaExpedicionFacturaEmisor>
            </IdFactura>
            <TipoFactura>F2</TipoFactura>
            <FechaOperacion>31/07/2022</FechaOperacion>
            <DescripcionOperacion>VENTA MINORISTA</DescripcionOperacion>
            <Desglose>
                <DetalleDesglose>
                    <ClaveRegimen>01</ClaveRegimen>
                    <CalificacionOperacion>S1</CalificacionOperacion>
                    <TipoImpositivo>4.00</TipoImpositivo>
                    <BaseImponibleOimporteNoSujeto>1.00</BaseImponibleOimporteNoSujeto>
                    <CuotaRepercutida>0.04</CuotaRepercutida>
                </DetalleDesglose>
            </Desglose>
            <ImporteTotal>1.04</ImporteTotal>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior>00000006Y</IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior>84.2.1.2565</NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior>31/07/2022</FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior>9yYI6U89U3IUIQE345EUGWEBsd7EKFCBP9trtYUJSD0JFFKJKrtthAuysfadfWPE</HuellaFacturaAnterior>
        
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon>SISTEMAS INFORMATICOS TPV</NombreRazon>
                <NIF>00000006Y</NIF>
                <IdSistemaInformatico>IDENTIFICADOR AEAT XXXX</IdSistemaInformatico>
                <Version>46.243.1</Version>
                <NumeroInstalacion>45</NumeroInstalacion>
                <TipoUsoSistema>01</TipoUsoSistema>
            </SistemaInformatico>
        </RegistroFacturacion>
        
        <DatosControl>
            <Huella>005948F5A441A56ABF584804036409719AB89892608FD708BAB8AE5088C896AD</Huella>
            <TipoHash>01</TipoHash>
            <FechaGenRegistro>31/07/2022</FechaGenRegistro>
            <HoraGenRegistro>09:00:07</HoraGenRegistro>
            <HusoHorarioGenRegistro>02</HusoHorarioGenRegistro>
        </DatosControl>
    </RegistroAltaFacturas>
</SistemaFacturacionAltaFact>
Sigo teniendo la duda de si la hiella va en base64 o en hexadeccimal, ya que elsha256 ocupa 44 caracteres y el hex64 y aunque hayan definido una longitud maxima de 64 en el futuo pueden decidirotro tipo de hash y lo mismo esta preparado para sha512... o lo que venga
Me faltaban un par de campos
Código:
<CalificacionOperacion>S1</CalificacionOperacion> <CuotaRepercutida>0.04</CuotaRepercutida>

Última edición por ermendalenda fecha: 31-07-2022 a las 19:50:48.
Responder Con Cita
  #6  
Antiguo 01-08-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Mínimo registros o mínimo minutos

En los sistemas en los que corran muchos usuarios a la vez, puede crearte un problema de saturación de la cola de envío, eso hay que tenerlo en cuenta y ahora no se como resolverlo, por que si el envio maximo son 1000registros y la AEAT no gestiona bien eso y me pone que el envío lo haga cada hora ya la hemos liado, confiemos en que tengan buenos algoritmos.
En lss aplicaciones de escritorio de 1 usuario, da igual el metodo que elijas pero hay que tener en cuenta que si tienes una avería estaría bien tener un sistema preparado para enviar lo que tengas después de los minutos que te dicen, sobre todo para que no te pille un cambio de periodo impositivo en la que tengas que tener el envío hecho antes del día X.
Esto "va a trae cola"

Última edición por ermendalenda fecha: 01-08-2022 a las 08:14:54.
Responder Con Cita
  #7  
Antiguo 01-08-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
En los sistemas en los que corran muchos usuarios a la vez, puede crearte un problema de saturación de la cola de envío, eso hay que tenerlo en cuenta y ahora no se como resolverlo, por que si el envio maximo son 1000registros y la AEAT no gestiona bien eso y me pone que el envío lo haga cada hora ya la hemos liado, confiemos en que tengan buenos algoritmos.
En lss aplicaciones de escritorio de 1 usuario, da igual el metodo que elijas pero hay que tener en cuenta que si tienes una avería estaría bien tener un sistema preparado para enviar lo que tengas después de los minutos que te dicen, sobre todo para que no te pille un cambio de periodo impositivo en la que tengas que tener el envío hecho antes del día X.
Esto "va a trae cola"
Corrijo, hay que 5ener en cuenta que método elijo de envío según el caso. Si tengo una orden de 1000 registros mínimo y 120minut9a mínimo cuando llegue a los 1000 registros puedo enviar, o sea, aunque solo haya pasado 1 minuto.
Responder Con Cita
  #8  
Antiguo 02-08-2022
nuevo1234 nuevo1234 is online now
Miembro
 
Registrado: abr 2017
Posts: 102
Poder: 8
nuevo1234 Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Código:
<?xml version="1.0" encoding="UTF-8"?>
<SistemaFacturacionAltaFact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd">


    <Cabecera>
        <IDVersion>0.1</IDVersion>
        <ObligadoEmision>        
            <NombreRazon>EMPRESA DE PRUEBA, S.A.</NombreRazon>
            <NIF>00000006Y</NIF>
        </ObligadoEmision>
    </Cabecera>    
    <RegistroAltaFacturas>
        <RegistroFacturacion>
            <PeriodoLiquidacion>
                <Ejercicio>2022</Ejercicio>
                <Periodo>3T</Periodo>
            </PeriodoLiquidacion>
            <IdFactura>
                <IdEmisorFactura>
                    <NIF>00000006Y</NIF>
                </IdEmisorFactura>
                <NumSerieFacturaEmisor>84.2.1.2566</NumSerieFacturaEmisor>
                <FechaExpedicionFacturaEmisor>31/07/2022</FechaExpedicionFacturaEmisor>
            </IdFactura>
            <TipoFactura>F2</TipoFactura>
            <FechaOperacion>31/07/2022</FechaOperacion>
            <DescripcionOperacion>VENTA MINORISTA</DescripcionOperacion>
            <Desglose>
                <DetalleDesglose>
                    <ClaveRegimen>01</ClaveRegimen>
                    <CalificacionOperacion>S1</CalificacionOperacion>
                    <TipoImpositivo>4.00</TipoImpositivo>
                    <BaseImponibleOimporteNoSujeto>1.00</BaseImponibleOimporteNoSujeto>
                    <CuotaRepercutida>0.04</CuotaRepercutida>
                </DetalleDesglose>
            </Desglose>
            <ImporteTotal>1.04</ImporteTotal>
            <EncadenamientoFacturaAnterior>
                <IDEmisorFacturaAnterior>00000006Y</IDEmisorFacturaAnterior>
                <NumSerieFacturaAnterior>84.2.1.2565</NumSerieFacturaAnterior>
                <FechaExpedicionFacturaAnterior>31/07/2022</FechaExpedicionFacturaAnterior>
                <HuellaFacturaAnterior>9yYI6U89U3IUIQE345EUGWEBsd7EKFCBP9trtYUJSD0JFFKJKrtthAuysfadfWPE</HuellaFacturaAnterior>
        
            </EncadenamientoFacturaAnterior>
            
            <SistemaInformatico>
                <NombreRazon>SISTEMAS INFORMATICOS TPV</NombreRazon>
                <NIF>00000006Y</NIF>
                <IdSistemaInformatico>IDENTIFICADOR AEAT XXXX</IdSistemaInformatico>
                <Version>46.243.1</Version>
                <NumeroInstalacion>45</NumeroInstalacion>
                <TipoUsoSistema>01</TipoUsoSistema>
            </SistemaInformatico>
        </RegistroFacturacion>
        
        <DatosControl>
            <Huella>005948F5A441A56ABF584804036409719AB89892608FD708BAB8AE5088C896AD</Huella>
            <TipoHash>01</TipoHash>
            <FechaGenRegistro>31/07/2022</FechaGenRegistro>
            <HoraGenRegistro>09:00:07</HoraGenRegistro>
            <HusoHorarioGenRegistro>02</HusoHorarioGenRegistro>
        </DatosControl>
    </RegistroAltaFacturas>
</SistemaFacturacionAltaFact>
Sigo teniendo la duda de si la hiella va en base64 o en hexadeccimal, ya que elsha256 ocupa 44 caracteres y el hex64 y aunque hayan definido una longitud maxima de 64 en el futuo pueden decidirotro tipo de hash y lo mismo esta preparado para sha512... o lo que venga
Me faltaban un par de campos
Código:
<CalificacionOperacion>S1</CalificacionOperacion> <CuotaRepercutida>0.04</CuotaRepercutida>
SHA-256 es un hash de 64 dígitos hexadecimales (un resumen, por ejemplo bd4526534df7b33772c2f1ee26d97c39ff11379c8848e4e19d74ad849ef66423) casi único de un tamaño fijo de 256 bits (32 bytes). Un hash solo se calcula en una dirección y no se puede decodificar de vuelta.

Por tanto la definición del SHA-256 ya indican que son 64 digitos en hexadecimal. Entiendo que no hay duda
Responder Con Cita
  #9  
Antiguo 02-08-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 872
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por nuevo1234 Ver Mensaje
SHA-256 es un hash de 64 dígitos hexadecimales (un resumen, por ejemplo bd4526534df7b33772c2f1ee26d97c39ff11379c8848e4e19d74ad849ef66423) casi único de un tamaño fijo de 256 bits (32 bytes). Un hash solo se calcula en una dirección y no se puede decodificar de vuelta.

Por tanto la definición del SHA-256 ya indican que son 64 digitos en hexadecimal. Entiendo que no hay duda

Por supuesto el hash es solo en un sentido y es indescifrable(teoricamente ya qur tenemos los futuros quantum que los 256 se los van a comer con patatas y te generarán en un futuro multiples posibles textos descifrados que serviran de referencia para romper el cifrado y dar posibles resultados con tecnología inversa. ya estan trabajando en nuevos protocolos de cifrado)
El sha256=256bits
256bits=64caracteres hexadecimales=32caracteres ascii

Última edición por ermendalenda fecha: 02-08-2022 a las 19:45:08.
Responder Con Cita
  #10  
Antiguo 27-02-2023
usr3010 usr3010 is offline
Miembro
 
Registrado: feb 2017
Posts: 13
Poder: 0
usr3010 Va por buen camino
Cálculo del HASH para el segmento <DatosControl>

Cita:
Empezado por nuevo1234 Ver Mensaje
SHA-256 es un hash de 64 dígitos hexadecimales (un resumen, por ejemplo bd4526534df7b33772c2f1ee26d97c39ff11379c8848e4e19d74ad849ef66423) casi único de un tamaño fijo de 256 bits (32 bytes). Un hash solo se calcula en una dirección y no se puede decodificar de vuelta.

Por tanto la definición del SHA-256 ya indican que son 64 digitos en hexadecimal. Entiendo que no hay duda
Hola, buenas tardes ...

Aunque no desarrollo en Delphi, estuve por estos lares en su día para el tema del SII, y para actualizar mis ERP's con la nueva normativa para Veri*Factu os estoy siguiendo.

He visto el ejemplo, y para probar el hash, he copiado y pegado el Segmento <RegistroFacturacion>/</RegistroFacturacion>:

<RegistroFacturacion>
<PeriodoLiquidacion>
<Ejercicio>2022</Ejercicio>
<Periodo>3T</Periodo>
</PeriodoLiquidacion>
<IdFactura>
<IdEmisorFactura>
<NIF>00000006Y</NIF>
</IdEmisorFactura>
<NumSerieFacturaEmisor>84.2.1.2566</NumSerieFacturaEmisor>
<FechaExpedicionFacturaEmisor>31/07/2022</FechaExpedicionFacturaEmisor>
</IdFactura>
<TipoFactura>F2</TipoFactura>
<FechaOperacion>31/07/2022</FechaOperacion>
<DescripcionOperacion>VENTA MINORISTA</DescripcionOperacion>
<Desglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>4.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>1.00</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>0.04</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<ImporteTotal>1.04</ImporteTotal>
<EncadenamientoFacturaAnterior>
<IDEmisorFacturaAnterior>00000006Y</IDEmisorFacturaAnterior>
<NumSerieFacturaAnterior>84.2.1.2565</NumSerieFacturaAnterior>
<FechaExpedicionFacturaAnterior>31/07/2022</FechaExpedicionFacturaAnterior>
<HuellaFacturaAnterior>9yYI6U89U3IUIQE345EUGWEBsd7EKFCBP9trtYUJSD0JFFKJKrtthAuysfadfWPE</HuellaFacturaAnterior>

</EncadenamientoFacturaAnterior>

<SistemaInformatico>
<NombreRazon>SISTEMAS INFORMATICOS TPV</NombreRazon>
<NIF>00000006Y</NIF>
<IdSistemaInformatico>IDENTIFICADOR AEAT XXXX</IdSistemaInformatico>
<Version>46.243.1</Version>
<NumeroInstalacion>45</NumeroInstalacion>
<TipoUsoSistema>01</TipoUsoSistema>
</SistemaInformatico>
</RegistroFacturacion>

con espacios de identación y sin el \r\n de la etiqueta de cierre final en un archivo y he guardado, y usando sha256 (tengo cygwin64 instalado) he calculado el hash256 del archivo,
y a mi me da el digest: c35917cbb3e483ed07e36db77c5f8c28790623751ced3cc6e67ba6e6c443fa0c
y no: 005948F5A441A56ABF584804036409719AB89892608FD708BAB8AE5088C896AD
como en el ejemplo mostrado en el foro.

He probado también quitando las 2 líneas vacias antes y depués de la etiqueta: </EncadenamientoFacturaAnterior> y tampoco me sale el mismo HASH.
Se ha de computar sin RC's ni LF's o sin los espacios de identación ?

Muchas gracias por vuestra labor de documentación ...
No hay nada en internet mejor que este foro ...

Un Saludo.


Última edición por usr3010 fecha: 27-02-2023 a las 18:47:17.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 21:37:47.


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