Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Facturas electrónicas [España] (https://www.clubdelphi.com/foros/showthread.php?t=89295)

ermendalenda 30-03-2025 12:10:39

Se supone que las UBL son aceptadas en Face, pero me pregunto si acepta el envío también por web

ermendalenda 30-03-2025 20:13:24

Herramientas importantes
 
DESCARGAOS QUBA: Visor de Facturas Ubl desde aquí:
https://quba-viewer.org/

Extensión puf:
Esta extensión es necesaria para poder compatibilizar con face, o sea, para que la incluyais en cada xml los DIR3

Agregar Namespace en la definición del nodo Invoice:
Código:

xmlns:puf="urn:pagero:ExtensionComponent:1.0"
y ya podeis agregar los dir3 como extension en un formato especifico dentro de un nodo
<cac:AccountingCustomerParty>

Sigo en marcha y os voy contando

ermendalenda 01-04-2025 12:14:59

Cita:

Empezado por ermendalenda (Mensaje 563260)
DESCARGAOS QUBA: Visor de Facturas Ubl desde aquí:
https://quba-viewer.org/

Extensión puf:
Esta extensión es necesaria para poder compatibilizar con face, o sea, para que la incluyais en cada xml los DIR3

Agregar Namespace en la definición del nodo Invoice:
Código:

xmlns:puf="urn:pagero:ExtensionComponent:1.0"
y ya podeis agregar los dir3 como extension en un formato especifico dentro de un nodo
<cac:AccountingCustomerParty>

Sigo en marcha y os voy contando

Creo que ya lo tengo todo "claro"
Ya he estado generando algunos xmls, me falta hacer alguno más avanzado con los dstos registrales etc.
Me encuentro con alguas discrepancias con la normativa de facturacion, por ejemplo, para hacer una factura rectificativa no la veo muy clara, si pregunto a la IA me ofrece hacer una nota de crédito (InvoiceTypeCode=381).asi que habrá que esperar a que salga el boe y que nos digan donde poner las dudas y como tendría que hacer las correspondencias de las rectificativas, como se anula, si sigue Facturae para los organismos oficiales, etc. De momento avanzaré en lo demás y aparco lo que no vea claro.
Madre mía si ya hay discrepancias con Facturae, éramos pocos y parió la abuela.

newtron 01-04-2025 12:30:25

^\||/ Gracias por la info compañero.

ermendalenda 02-04-2025 12:43:35

Ubl 2.4 vamos ya, recomiendo que os pongáis con esa última.
Para ponerlos los dir3 ya he visto que no hacen falta extensiones, se puede hacer directamente
Incluso chatgtp te da ejemplos.

ermendalenda 07-04-2025 07:42:35

Hola
Es curioso la forma de anulaciones, rectificativas y rectificativas por sustitución en las UBL.
Todo vale.en el mismo tipo de factura= 384.
Anulación = factura tipo 384 con el signo contrario.
Rectificativa por diferencias = una 384 con los productos que se quieran rectificar
Por sustitución 2 pasos, una 384 signo contrario y la 380 corregida.
En un paso, una 384 con los datos correctos y listo.
Esto, si nos mandan una factura tipo 384 y lo queremos importar automáticamente va a tener que ser tenido en cuenta.

_Io 12-04-2025 18:33:04

Problemas al impostar WSDll
 
Buenas tardes.

Me gustaría empezar a mandar las facturas a face desde una aplicación.
La única experiencia que tengo con soap, es con verifactu.
Creo que con face, será más o menos parecido.
Pero los problemas comienzan temprano, al intentar importar https://webservice.face.gob.es/facturasrcf?wsdl, al parecer la dirección no es correcta.

¿Qué enlace utilizáis para el wdsl?

Muchas Gracias.

j0n9alvez 15-04-2025 09:49:23

Buenas,

Nosotros tambien nos estamos "peleando" con este tema.
Te apunto dos cosas, FACe esta en proceso de sacar una nueva versión de sus servicios web, en su entorno de desarrollo ya esta esta nueva versión mientras que en producción aun tienen el anterior.

Todas las URL de la nueva versión de FACe son:

Portales:
https://se-proveedores-face.redsara.es/inicio
https://se-organismos-face.redsara.es/inicio
https://se-integradores-face.redsara.es/inicio

Servicios web REST:
https://se-api-face.redsara.es/integrators/doc
https://se-api-face.redsara.es/providers/doc
https://se-api-face.redsara.es/organisms/doc

Servicios web SOAP nuevos:
https://se-ws-face.redsara.es/provee...1/factura?wsdl
https://se-ws-face.redsara.es/organi...1/factura?wsdl
https://se-ws-face.redsara.es/organi...irectorio?wsdl

Servicios web SOAP retro compatibles:
https://se-face-webservice.redsara.es/facturasrcf?wsdl
https://se-face-webservice.redsara.e...toriosrcf?wsdl
https://se-face-webservice.redsara.es/facturasspp?wsdl
https://se-face-webservice.redsara.e...tificador?wsdl

Toda la documentación está publicada en el PAe: https://administracionelectronica.go...face/descargas
En cuanto a la dirección que has puesto (https://webservice.face.gob.es/facturasrcf?wsdl), es la correcta y deberías poder entrar, si lo pones en un navegador, debería mostrarte el wsdl y ahí lo puedes descargar.

¿desde donde lo intentas importar?, ¿Cuál es el error que te ocurre?
Si por ejemplo en con Java puede que sea porque esta bajo una URl protegida por SSL y tengas que tener el certificado (*.face.gob.es) en el almacén de confianza de Java (archivo \jre\lib\security\cacert)


Un saludo.

_Io 15-04-2025 17:03:58

Buenas tardes.

Muchas gracias por y respuestas.

Cita:

Te apunto dos cosas, FACe esta en proceso de sacar una nueva versión de sus servicios web, en su entorno de desarrollo ya esta esta nueva versión mientras que en producción aun tienen el anterior.
Ya me he dado cuenta, en un principio intento salir del paso con la versión anterior y a ver la nueva venir. :)

Cita:

Todas las URL de la nueva versión de FACe son:

Portales:
https://se-proveedores-face.redsara.es/inicio
https://se-organismos-face.redsara.es/inicio
https://se-integradores-face.redsara.es/inicio

Servicios web REST:
https://se-api-face.redsara.es/integrators/doc
https://se-api-face.redsara.es/providers/doc
https://se-api-face.redsara.es/organisms/doc

Servicios web SOAP nuevos:
https://se-ws-face.redsara.es/provee...1/factura?wsdl
https://se-ws-face.redsara.es/organi...1/factura?wsdl
https://se-ws-face.redsara.es/organi...irectorio?wsdl

Servicios web SOAP retro compatibles:
https://se-face-webservice.redsara.es/facturasrcf?wsdl
https://se-face-webservice.redsara.e...toriosrcf?wsdl
https://se-face-webservice.redsara.es/facturasspp?wsdl
https://se-face-webservice.redsara.e...tificador?wsdl

Toda la documentación está publicada en el PAe: https://administracionelectronica.go...face/descargas
Thanks !!!!

Cita:

En cuanto a la dirección que has puesto (https://webservice.face.gob.es/facturasrcf?wsdl), es la correcta y deberías poder entrar, si lo pones en un navegador, debería mostrarte el wsdl y ahí lo puedes descargar.
Mis inicios con esto del SOAP, wdsl, etc. ha sido reciente, me he estrenado con Verifactu (Menos mal que está este foro), el caso es que al descargarme la wdsl en verifactu y al importarlo, no quedaba bien, la única forma que se importara bien era hacer la importación desde una url, eso más una modificaciones que había que hacer me quedó la cosa bien.
Vuelvo a facturae, creía que la forma correcta de importar el wsdl era a través de url(como en verifactu), pero me daba error, es por ello de la consulta.
Como me has propuesto, lo he descargado e importado, me queda hacer las pruebas de comunicación, pero aún me tengo que dar de alta como integrador, ahora estoy en eso.

Muchas Gracias otra vez.

Un Fuerte abrazo.

RUBEN_SP 15-04-2025 17:39:20

Ubl 2.4
 
Cita:

Empezado por ermendalenda (Mensaje 563333)
Ubl 2.4 vamos ya, recomiendo que os pongáis con esa última.
Para ponerlos los dir3 ya he visto que no hacen falta extensiones, se puede hacer directamente
Incluso chatgtp te da ejemplos.

Pero no son aceptadas por FACE

_Io 16-04-2025 21:58:28

Alta como integrador
 
Buenas Noches,

Quiero darme de alta como integrador.
Tengo toda la información que me piden, pero no tengo claro a dónde debo ir.

Cuando pincho en el enlace que viene en el procedimiento, entro en un formulario muy amplio y no veo dónde puedo hacer la
incidencia al soporte técnico. Al pinchar en contacto, me sale un formulario de incidencia, pero tengo la sensación que no es, parece como si fuera
para realizar incidencias internas.

Si alguien que la haya hecho, me puede ayudar lo agradecería.

Muchas Gracias.

_Io 19-04-2025 00:59:16

Cita:

Empezado por _Io (Mensaje 563861)
Buenas Noches,

Quiero darme de alta como integrador.
Tengo toda la información que me piden, pero no tengo claro a dónde debo ir.

Cuando pincho en el enlace que viene en el procedimiento, entro en un formulario muy amplio y no veo dónde puedo hacer la
incidencia al soporte técnico. Al pinchar en contacto, me sale un formulario de incidencia, pero tengo la sensación que no es, parece como si fuera
para realizar incidencias internas.

Si alguien que la haya hecho, me puede ayudar lo agradecería.

Muchas Gracias.

Buenas noches.

Me respondo yo mismo.

De las dos opciones que hay, entraba en la equivocada. Hay que entrar en la opció :Empresas PDP Punto de Presencia en la redSARA
Dentro, pinchar en Nuevo Ticket, si pinchas en Elementos Populares saldrá Alta como Proveedoren FACe

Este sería el enlace al ticket https://servicios.administraciondigital.gob.es/HEAT/Modules/SelfService/?AnonymousRequest=yes#serviceCatalog/request/FC042E607CEF40D9BB5B280FFAB26B37

Saludos.

_Io 30-04-2025 15:03:35

Soap envío
 
Buenas tardes.

¿Podría poner alguien la cabecera firmada de en envío a Face que funcione bien?

Es para tener una referencia buena, me estoy peleando con las ssb y quiere tener claro lo que tengo que buscar.

Muchas Gracias.

_Io 04-05-2025 08:10:42

Buenos días.

Código:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="CertID-33FA35B0F99306C865A96AD2E72ED81E">MIIHozCCBougAwIBAgIQeJ9MrQ87SXVlqQbhybS7zTANBgkqhkiG9w0BAQsFADBLMQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRkwFwYDVQQDDBBBQyBGTk1UIFVzdWFyaW9zMB4XDTI0MDExODExMDkyMVoXDTI4MDExODExMDkyMVowgYcxCzAJBgNVBAYTAkVTMRgwFgYDVQQFEw9JRENFUy03NTc4MjE0MVExDzANBgNVBCoMBlJBRkFFTDEcMBoGA1UEBAwTTUFSVElOIE5Jw5FPIE1FRElOQTEvMC0GA1UEAwwmTUFSVElOIE5Jw5FPIE1FRElOQSBSQUZBRUwgLSA3NTc4MjE0MVEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7fGrEVpaFhksE2QA/iVRP0z8bkSPQnunUGHq7ztbN5a1QmTGwzoAP6sk/XHU50SdSTKdrx1Jzg2GVTIXOarMhiWAIJTqKBhUM2V+nv+jLcpqUVRbviyKI5Bf1MeTQjC/g5a1lW/3kJSrfqxmM2TBTIhHPb28mbOINJFXB+4cRWdlFObImpvRqpieOtPOEnHaZt/lE1A5G5H8pv7lKUIQy7KDNDmOg1ftT9p0vzgAkki+hWoqBTcsi2ulbyz6GqEkUrODA1y2+GeyHF8Rz1+Izgkog55LQeUHXLAQ3gF1m/WJBOrzn/tYpCzQq95dj1szbrAWA7yqzr727cSIIjR2LAgMBAAGjggREMIIEQDByBgNVHREEazBppGcwZTEYMBYGCSsGAQQBrGYBBAwJNzU3ODIxNDFRMRUwEwYJKwYBBAGsZgEDDAZNRURJTkExGzAZBgkrBgEEAaxmAQIMDE1BUlRJTiBOScORTzEVMBMGCSsGAQQBrGYBAQwGUkFGQUVMMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMCoGA1UdJQQjMCEGCCsGAQUFBwMCBgorBgEEAYI3CgMMBgkqhkiG9y8BAQUwHQYDVR0OBBYEFEkibha90cfz+eOAImtbRdjTqWacMB8GA1UdIwQYMBaAFLHUT8QjefpEBQnG6znP6DWwuCBkMIGCBggrBgEFBQcBAQR2MHQwPQYIKwYBBQUHMAGGMWh0dHA6Ly9vY3NwdXN1LmNlcnQuZm5tdC5lcy9vY3NwdXN1L09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cuY2VydC5mbm10LmVzL2NlcnRzL0FDVVNVLmNydDCCARUGA1UdIASCAQwwggEIMIH6BgorBgEEAaxmAwoBMIHrMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBvQYIKwYBBQUHAgIwgbAMga1DZXJ0aWZpY2FkbyBjdWFsaWZpY2FkbyBkZSBmaXJtYSBlbGVjdHLDs25pY2EuIFN1amV0byBhIGxhcyBjb25kaWNpb25lcyBkZSB1c28gZXhwdWVzdGFzIGVuIGxhIERQQyBkZSBsYSBGTk1ULVJDTSBjb24gTklGOiBRMjgyNjAwNC1KIChDL0pvcmdlIEp1YW4gMTA2LTI4MDA5LU1hZHJpZC1Fc3Bhw7FhKTAJBgcEAIvsQAEAMIG6BggrBgEFBQcBAwSBrTCBqjAIBgYEAI5GAQEwCwYGBACORgEDAgEPMBMGBgQAjkYBBjAJBgcEAI5GAQYBMHwGBgQAjkYBBTByMDcWMWh0dHBzOi8vd3d3LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lcy5wZGYTAmVzMDcWMWh0dHBzOi8vd3d3LmNlcnQuZm5tdC5lcy9wZHMvUERTQUNVc3Vhcmlvc19lbi5wZGYTAmVuMIHkBgNVHR8EgdwwgdkwgdaggdOggdCGgZ5sZGFwOi8vbGRhcHVzdS5jZXJ0LmZubXQuZXMvY249Q1JMVTY2MCxjbj1BQyUyMEZOTVQlMjBVc3VhcmlvcyxvdT1DRVJFUyxvPUZOTVQtUkNNLGM9RVM/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYtaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY3Jsc2FjdXN1L0NSTFU2NjAuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA5+WD+8DswpLDEfcXO8aZX+t8t/LY/NrILXviYSsvMQAWgzTdOq7hrWTAuk1F+XuP1Gx5oYahS3cAYpnUuE9MX2iHV/p1lc1asaFHvyrwc0K9KteNITJgVMrboY/N/5GvRmOjuvlNAHXPlG+HK8Yf3HDii0YA+a7amqktWL4TJuMue2vwjClKMqEeQXrRIgHGmqxBWwZBZhREinhA2irwHAOAs8VCjZRCbtZS7oBeFqJ+7lAA34FW1V4zj/VgzFFC84t7DmBI7PNEWS8QoCn6L86OhUl7XKV44/mZ+j9luhRex6AcbtF5uanht3oU+iKO6jUx/nXfcOeCBqJMh5HTR</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-33FA35B0F99306C865A96AD2E72ED81E">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-33FA35B0F99306C865A96AD2E72ED81E">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>99nZX9+HmQyLzch7yCfQ+UYFLXs=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue> bPg9G02CtrNgoOYMfgUNv/X0WFVnSKJFQ3eOWgcEgMC9ZoZQBiHuQQ1+ipdrbSNm l8EtmKgTyEkpLL5kTSn7jQdd2Q7F64ApfeNmIoDyPn+rD8llhIllDHzs0rbYgVyv amj58nNn0ADB02pVGaddPdL3AzwamyphnAYWvWF7QcC3/AfigUXUHhBPd8siAa96 JKX7gS/6SirANkgxKeiwnKX0li0TAWcYh9znX3XMg/IqPawGyRCPrZX7Mk+tTplp kZI0d/OatmmbFeJ+pxA5zDtW9ZUip16cSMp6LxuDExDL07LQ14TUtKbNGiRgFAyQ Icv3yhGBJqysdpNiHPyY0Q== </ds:SignatureValue>
<ds:KeyInfo Id="KeyId-33FA35B0F99306C865A96AD2E72ED81E">
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-33FA35B0F99306C865A96AD2E72ED81E">
<wsse:Reference URI="#CertID-33FA35B0F99306C865A96AD2E72ED81E" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>
<soapenv:Body xmlns:NS1="https://webservice.face.gob.es" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" wsu:Id="id-33FA35B0F99306C865A96AD2E72ED81E">
<NS1:consultarUnidades/>
</soapenv:Body>
</soapenv:Envelope>

Me sale como firma inválida, pero no me da más información.

Sabe alguien dónde está el error ?

Muchas Gracias.

ermendalenda 04-05-2025 11:19:51

Cita:

Empezado por _Io (Mensaje 564207)
Buenos días.


Sabe alguien dónde está el error ?

Muchas Gracias.

Hola
Es dificil de saber, ya que muchos campos son calculos desde el backend o programa que los genere, pero te pongo algunas cosas para que revises:
Yo en vez de usar
Código:

<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
Pongo:
Código:

<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315/>
No inserto este nodo:
Código:

<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>

Por otro lado, no se como insertas datos como este:
Código:

Id="Signature-33FA35B0F99306C865A96AD2E72ED81E">
Ya que el id-.... debe ser distinto para cada factura no se si lo haces bien


El digestmethod yo uso el de sha512 no se si vale igual el que tu usas sha1
uso:
Código:

<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512"></ds:DigestMethod>
si es asi tendrias que cambiar tambien el digestvalue(calculandolo para sha512)


Tambien tendria que ver si usas correctamente la politica de firma:
Código:

"name" => "Politica de Firma FacturaE v3.1",
    "url" => "http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf",
    "digest" => "Ohixl6upD6av8N7pEvDABhEL6hM="

Y si lees correctamente las claves privadas y publicas

_Io 04-05-2025 14:16:23

Muchas Gracias, por tu ayuda.

He tomado como referencia estas publicaciones de face:

Manual Soap -notificación de facturas

Ejemplo de este Manual:


Código:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelop
e/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w
3.org/2001/XMLSchema-instance">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" mlns:wsse="http://docs.oasisopen.
org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:BinarySecurityToken EncodingType="http://docs.oasisopen.
org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-tokenprofile-
1.0#X509v3" wsu:Id="CertId-DD1EB7392FADB1EE3713600719200334"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
wss-wssecurity-utility-1.0.xsd">MIIEpDC...</wsse:BinarySecurityToken>
<ds:Signature Id="Signature-3"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-4">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xmlexc-
c14n#"/>
</ds:Transforms>

<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>wttpKeqdo7ltsD2MDitjZ7RWWaM=</ds:DigestValue
>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>n34z9gC...</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-DD1EB7392FADB1EE3713600719200345">
<wsse:SecurityTokenReference wsu:Id="STRId-
DD1EB7392FADB1EE3713600719200346"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Reference URI="#CertId-
DD1EB7392FADB1EE3713600719200334" ValueType="http://docs.oasisopen.
org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>
<soapenv:Body wsu:Id="id-4"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-
utility-1.0.xsd">
<cambiarEstadoFactura
xmlns="http://ssweb.preapp.seap.minhap.es/facturae/web_services.php/ssgg">
<organoGestor xsi:type="xsd:string"
xmlns="">E00127403</organoGestor>
<unidadTramitadora xsi:type="xsd:string"
xmlns="">E03062503</unidadTramitadora>
<numeroRegistro xsi:type="xsd:string"
xmlns="">O00001301_13_00000142</numeroRegistro>
<codigoEstado xsi:type="xsd:string"
xmlns="">1200</codigoEstado>
<comentarios xsi:nil="true" xsi:type="xsd:string"
xmlns=""/>
</cambiarEstadoFactura>
</soapenv:Body>
</soapenv:Envelope>

Otro documento de referencia:
Servicios para sistemas automatizados de proveedores
(Equipo de desarrollo de FACe)


Código:

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:BinarySecurityToken
EncodingType="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-soap-message-security-1.0#Base64Binary"ValueType="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId-5A5C126069B253F2B0135998798458616"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">MIIEpDCCBA2gAwIBAgIEPLPTKTANBgkqhkiG9w0BAQUFADA2MQswCQYDVQQGEwJFUzENMAsGA1UEChMERk5NVDEYMBYGA1UECxMPRk5NVCBDbGFzZSAyIENBMB4XDTALS6PmAJWFoOUT3Xvp8UxYptb9/
YK93ykPj5NYLcsXeh8L9SRWbFSnozoiATZoECDnrcMd054DdPrNVYLTZNhZ9Y2U9JqJpnIWR+a64Mo3iiMk/
KBkI2jo3QIuaCjvPK+k6LQCwTIaRvnHGRxwIDAQABo4IB1DCCAdAwgdgGA1UdEQSB0DCBzaSByjCBxzEYMBYGCSsGAQQBrGYBDxMJUzI4MjYwMTVGMUMwQQYJKwYBBAGsZgEOEzRJTlRFUlZFVc9fS1I6qgUkmwCZKHiwgJ4tS1Mv3gKMZ+8ulc8JErYo661ql3GVmLsfdH5g3eWyC5rBEcCjkHSKO0qDhzg==</wsse:BinarySecurityToken>
<ds:Signature Id="Signature-11" xmlns:ds="http://www.w3.org/
2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-12">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/
2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/
2000/09/xmldsig#sha1"/>
<ds:DigestValue>vfoQe7yobzrB5LzQZ/
HD4B2F1BY=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
HOZFzxAsMAH8BDbuXOHekl+yyLXfodmPka5727t3LDFSkbxICkL92wy6dSbWyU07zK/dhfLl2a4c
33FcvOxAtYAEvQVRLcQM3VU9+L2SX9NReQaGTPPmtBb8UAWeH5m56nM9uxT7yIwfO424+lNEYEeo
1pYC+0DBI6WcN4LRgV4=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-5A5C126069B253F2B0135998798458717">
<wsse:SecurityTokenReference
wsu:Id="STRId-5A5C126069B253F2B0135998798458718"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:Reference
URI="#CertId-5A5C126069B253F2B0135998798458616"
ValueType="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsu:Timestamp wsu:Id="Timestamp-10"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Created>2013-02-04T14:26:24.586Z</wsu:Created>
<wsu:Expires>2013-02-04T14:31:24.586Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soapenv:Header>
<soapenv:Body wsu:Id="id-12" xmlns:wsu="http://docs.oasis-open.org/
wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<!-- BODY -->
</soapenv:Body>
</soapenv:Envelope>

El resto de datos que he puesto es el número de serie del certificado, que mirando ejemplos lo he ido colocando.

Utilizo los componentes sbb, pero la salida es bastante diferente:

Código:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="CertID-33FA35B0F99306C865A96AD2E72ED81E">MIIHozCCB.......HTR</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-33FA35B0F99306C865A96AD2E72ED81E">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference Id="Reference-1760189673" URI="#id-33FA35B0F99306C865A96AD2E72ED81E">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>99nZX9+HmQyLzch7yCfQ+UYFLXs=</ds:DigestValue>
</ds:Reference>
<ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-1094786911">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>/DFyjNVzV/KgYYJ8Bv6E7AvY04E=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue> RI45lUcr0eS........= </ds:SignatureValue>
<ds:KeyInfo Id="KeyId-33FA35B0F99306C865A96AD2E72ED81E">
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-33FA35B0F99306C865A96AD2E72ED81E">
<wsse:Reference URI="#CertID-33FA35B0F99306C865A96AD2E72ED81E" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
<ds:Object>
<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xadesv141="http://uri.etsi.org/01903/v1.4.1#" Target="#Signature-33FA35B0F99306C865A96AD2E72ED81E">
<xades:SignedProperties Id="SignedProperties-1094786911">
<xades:SignedSignatureProperties>
<xades:SigningTime>2025-05-04T12:00:59.095Z</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>i2PGjaWJKJm6VjN3FhUXFJZj3Ag=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>CN=AC FNMT Usuarios, OU=Ceres, O=FNMT-RCM, C=ES</ds:X509IssuerName>
<ds:X509SerialNumber>160334489869012883505100958920202304461</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
<xades:SignaturePolicyIdentifier>
<xades:SignaturePolicyImplied/>
</xades:SignaturePolicyIdentifier>
</xades:SignedSignatureProperties>
<xades:SignedDataObjectProperties>
<xades:DataObjectFormat ObjectReference="#Reference-1760189673">
<xades:MimeType>text/xml</xades:MimeType>
</xades:DataObjectFormat>
</xades:SignedDataObjectProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:NS1="https://webservice.face.gob.es" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" wsu:Id="id-33FA35B0F99306C865A96AD2E72ED81E">
<NS1:consultarUnidades/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

En fin, perdido.

Muchas Gracias.

_Io 04-05-2025 14:22:28

Cita:

Empezado por ermendalenda (Mensaje 564210)
Hola
Tambien tendria que ver si usas correctamente la politica de firma:
Código:

"name" => "Politica de Firma FacturaE v3.1",
    "url" => "http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf",
    "digest" => "Ohixl6upD6av8N7pEvDABhEL6hM="


Esto sería la firma del XMl, de la Factura, no?
Nada que ver con la firma del la petición soap de la petición, es así?

Volver a darte las gracias.

j0n9alvez 06-05-2025 09:30:00

Emitida por tercero en UBL
 
Buenas,

Me estoy volviendo loco intentando encontrar como hacer esto en UBL.

En FacturaE esta contemplado de forma muy sencilla:
<FileHeader>
<InvoiceIssuerType>TE</InvoiceIssuerType>
<ThirdParty>... datos del tercero...</ThirdParty>
</FileHeader>
<Parties>
<SellerParty>... datos del emisor real ...</SellerParty>
</Parties>

En UBL (estoy usando la estructura Invoice, que esa es otra que investigando no se muy bien si es correcto o para facturar hay que usar esta o CreditNote) no encuentro una explicación fiable de donde poner los datos. Todo apunta aunque no de forma segura que hay que usar los nodos:
cac:AccountingSupplierParty
cac:SellerSupplierParty

Pero he encontrado diferentes opiniones a cual es cual, incluso usando las IAs Gemini y chatGPT, discrepan.

¿alguien me podria ayudar?
¿lo correcto es usar cac:AccountingSupplierParty para los datos del tercero y cac:SellerSupplierParty para el emisor real (vendedor, proveedor) o al reves?

Tambien las IAs me ponen ejemplos en los que solo se usa AccountingSupplierParty y para poner los datos del tercero usar <Party><AgentParty> o <Party><PowerOfAttorney>, así que no se muy bien como hacerlo.

Un saludo.

ermendalenda 06-05-2025 09:34:29

Cita:

Empezado por j0n9alvez (Mensaje 564269)
Buenas,

Me estoy volviendo loco intentando encontrar como hacer esto en UBL.

En FacturaE esta contemplado de forma muy sencilla:
<FileHeader>
<InvoiceIssuerType>TE</InvoiceIssuerType>
<ThirdParty>... datos del tercero...</ThirdParty>
</FileHeader>
<Parties>
<SellerParty>... datos del emisor real ...</SellerParty>
</Parties>

En UBL (estoy usando la estructura Invoice, que esa es otra que investigando no se muy bien si es correcto o para facturar hay que usar esta o CreditNote) no encuentro una explicación fiable de donde poner los datos. Todo apunta aunque no de forma segura que hay que usar los nodos:
cac:AccountingSupplierParty
cac:SellerSupplierParty

Pero he encontrado diferentes opiniones a cual es cual, incluso usando las IAs Gemini y chatGPT, discrepan.

¿alguien me podria ayudar?
¿lo correcto es usar cac:AccountingSupplierParty para los datos del tercero y cac:SellerSupplierParty para el emisor real (vendedor, proveedor) o al reves?

Un saludo.

No te fies demasiado del chatgpt para los UBL. El UBL es demasiado abierto y tiene escenarios para distintas regiones/países.
Pondré varios ejemplos próximamente, ya lo tenía claro y cuando he empezado a programarlo me han colado la nueva nornativa de control de fichajes y lo he tenido que aparcar.
Pero ya tengo claro varios modelos de ubl
Facturas ordinarias
Rectificativas(nota de credito)
Y meterle los dir para que sirva para facez esto es lo que más me ha costado por que hay varias formas.

j0n9alvez 06-05-2025 16:09:25

Pues la verdad es que me vendría muy bien esos ejemplos sobre todo el de Rectificativas

Muchas gracias por tu ayuda.


La franja horaria es GMT +2. Ahora son las 19:08:40.

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