Ver Mensaje Individual
  #2522  
Antiguo 01-10-2024
richidemola richidemola is offline
Miembro
 
Registrado: sep 2024
Posts: 19
Reputación: 0
richidemola Va por buen camino
Os paso un ejemplo de XML que funciona, tendréis que cambiar algunas cosas, a saber:

NOMBRE_EMISOR_FACTURA: Es el nombre de la persona o empresa que emite la factura, debe ser el mismo que figura en el certificado electrónico con el que se firma el envío.
NIF_EMISOR_FACTURA: Es el nif de la persona o empresa que emite la factura, debe ser el mismo que figura en el certificado electrónico con el que se firma el envío.

NOMBRE_CLIENTE: Nombre del cliente, debe ser un nombre real.
NIF_CLIENTE: Es el nif del cliente, debe ser el nif real del nombre del cliente.
Ojo porque si te inventas los dos valores anteriores dará error aunque sea un nif válido, no te puedes inventar los dos valores anteriores.

NOMBRE_EMPRESA_SOFTWARE: Nombre de la empresa o persona que ha hecho el software de facturación, debe ser real.
NIF_EMPRESA_SOFTWARE: Nif de la empresa o persona que ha hecho el software de facturación, también debe ser real y el que corresponda con el nombre anterior.
Ojo porque si te inventas los dos valores anteriores dará error aunque sea un nif válido, no te puedes inventar los dos valores anteriores.

Código PHP:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" xmlns:ns2="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
    <
SOAP-ENV:Body>
        <
ns2:RegFactuSistemaFacturacion>
            <
ns1:Cabecera>
                <
ns1:ObligadoEmision>
                    <
ns1:NombreRazon>NOMBRE_EMISOR_FACTURA</ns1:NombreRazon>
                    <
ns1:NIF>NIF_EMISOR_FACTURA</ns1:NIF>
                </
ns1:ObligadoEmision>
            </
ns1:Cabecera>
            <
ns2:RegistroFactura>
                <
ns2:RegistroAlta>
                    <
ns1:IDVersion>1.0</ns1:IDVersion>
                    <
ns1:IDFactura>
                        <
ns1:IDEmisorFactura>NIF_EMISOR_FACTURA</ns1:IDEmisorFactura>
                        <
ns1:NumSerieFactura>A022</ns1:NumSerieFactura>
                        <
ns1:FechaExpedicionFactura>08-09-2024</ns1:FechaExpedicionFactura>
                    </
ns1:IDFactura>
                    <
ns1:NombreRazonEmisor>NOMBRE_EMISOR_FACTURA</ns1:NombreRazonEmisor>
                    <
ns1:TipoFactura>F1</ns1:TipoFactura>
                    <
ns1:DescripcionOperacion>VENTA MERCADERIAS</ns1:DescripcionOperacion>
                    <
ns1:Destinatarios>
                        <
ns1:IDDestinatario>
                            <
ns1:NombreRazon>NOMBRE_CLIENTE</ns1:NombreRazon>
                            <
ns1:NIF>NIF_CLIENTE</ns1:NIF>
                        </
ns1:IDDestinatario>
                    </
ns1:Destinatarios>
                    <
ns1:Desglose>
                        <
ns1:DetalleDesglose>
                            <
ns1:ClaveRegimen>01</ns1:ClaveRegimen>
                            <
ns1:CalificacionOperacion>S1</ns1:CalificacionOperacion>
                            <
ns1:TipoImpositivo>21</ns1:TipoImpositivo>
                            <
ns1:BaseImponibleOimporteNoSujeto>100.00</ns1:BaseImponibleOimporteNoSujeto>
                            <
ns1:CuotaRepercutida>21.00</ns1:CuotaRepercutida>
                        </
ns1:DetalleDesglose>
                    </
ns1:Desglose>
                    <
ns1:CuotaTotal>21.00</ns1:CuotaTotal>
                    <
ns1:ImporteTotal>121.00</ns1:ImporteTotal>
                    <
ns1:Encadenamiento>
                        <
ns1:PrimerRegistro>S</ns1:PrimerRegistro>
                    </
ns1:Encadenamiento>
                    <
ns1:SistemaInformatico>
                        <
ns1:NombreRazon>NOMBRE_EMPRESA_SOFTWARE</ns1:NombreRazon>
                        <
ns1:NIF>NIF_EMPRESA_SOFTWARE</ns1:NIF>
                        <
ns1:NombreSistemaInformatico>SOFTWARE TPV DE PRUEBAS</ns1:NombreSistemaInformatico>
                        <
ns1:IdSistemaInformatico>7</ns1:IdSistemaInformatico>
                        <
ns1:Version>1.0</ns1:Version>
                        <
ns1:NumeroInstalacion>38</ns1:NumeroInstalacion>
                        <
ns1:TipoUsoPosibleSoloVerifactu>S</ns1:TipoUsoPosibleSoloVerifactu>
                        <
ns1:TipoUsoPosibleMultiOT>N</ns1:TipoUsoPosibleMultiOT>
                        <
ns1:IndicadorMultiplesOT>N</ns1:IndicadorMultiplesOT>
                    </
ns1:SistemaInformatico>
                    <
ns1:FechaHoraHusoGenRegistro>2024-10-01T09:05:00+02:00</ns1:FechaHoraHusoGenRegistro>
                    <
ns1:TipoHuella>01</ns1:TipoHuella>
                    <
ns1:Huella>DD127FF3CEE27D933D330BD718FFBD1D13B2876B14C3C3B2E3B329195</ns1:Huella>
                </
ns2:RegistroAlta>
            </
ns2:RegistroFactura>
        </
ns2:RegFactuSistemaFacturacion>
    </
SOAP-ENV:Body>
</
SOAP-ENV:Envelope
Y ya por si a alguien le interesa, este es el código que uso para enviar el fichero xml al web service hecho en php:

Código PHP:
$url 'no_puedo_poner_enlaces prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP'// URL del webservice
$pfxFile 'micertificado.pfx'// Ruta al archivo PFX del certificado electronico
$pfxPassword 'loquesea'// Contraseña del PFX del certificado electronico
$ch curl_init($url);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
curl_setopt($chCURLOPT_TIMEOUT30);
curl_setopt($chCURLOPT_POSTtrue);
curl_setopt($chCURLOPT_POSTFIELDS$xml);
curl_setopt($chCURLOPT_HTTPHEADER, array('Content-Type: application/xml',"SOAPAction: AltaFactuSistemaFacturacion"));
curl_setopt($chCURLOPT_SSLCERTTYPE'P12');
curl_setopt($chCURLOPT_SSLCERT$pfxFile);
curl_setopt($chCURLOPT_SSLCERTPASSWD$pfxPassword);
$response curl_exec($ch);
if (
curl_errno($ch)) {
    echo 
'Error: ' curl_error($ch);
} else {
    
print_r($response);
}
curl_close($ch); 
Espero que os sirva. Saludos.

Última edición por Neftali [Germán.Estévez] fecha: 01-10-2024 a las 09:31:33. Razón: Cambiada etiqueta CODE por PHP para evitar página muy ancha