Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco (https://www.clubdelphi.com/foros/showthread.php?t=94264)

edari 09-07-2021 09:47:09

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 541681)
¿Te refieres a esto?


Código PHP:

<Cabecera>
        <
IDVersionTBAI>1.2</IDVersionTBAI>
    </
Cabecera>
    <
Sujetos>
        <
Emisor>
            <
NIF>J69552834</NIF>
            <
ApellidosNombreRazonSocial>Empresa de Test</ApellidosNombreRazonSocial>
        </
Emisor>
        <
Destinatarios>
            <
IDDestinatario>
                <
NIF>A86868189</NIF>
                <
ApellidosNombreRazonSocial>C1</ApellidosNombreRazonSocial>
                <
CodigoPostal>22050</CodigoPostal>
                <
Direccion>CLMenor77203040 Mod</Direccion>
            </
IDDestinatario>
        </
Destinatarios>
        <
VariosDestinatarios>N</VariosDestinatarios>
        <
EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
    </
Sujetos>
    <
Factura>
        <
CabeceraFactura>
            <
SerieFactura/>
            <
NumFactura>5</NumFactura>
            <
FechaExpedicionFactura>20-04-2021</FechaExpedicionFactura>
            <
HoraExpedicionFactura>00:00:00</HoraExpedicionFactura>
            <
FacturaSimplificada>N</FacturaSimplificada>
            <
FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
        </
CabeceraFactura>
        <
DatosFactura>
            <
DescripcionFactura>Factura de ejemplos 1</DescripcionFactura>
            <
DetallesFactura>
                <
IDDetalleFactura>
                    <
DescripcionDetalle/>
                    <
Cantidad>1.00</Cantidad>
                    <
ImporteUnitario>55.00000000</ImporteUnitario>
                    <
Descuento>0.00</Descuento>
                    <
ImporteTotal>66.55</ImporteTotal>
                </
IDDetalleFactura>
            </
DetallesFactura>
            <
ImporteTotalFactura>66.55</ImporteTotalFactura>
            <
Claves>
                <
IDClave>
                    <
ClaveRegimenIvaOpTrascendencia>51</ClaveRegimenIvaOpTrascendencia>
                </
IDClave>
            </
Claves>
        </
DatosFactura>
        <
TipoDesglose>
            <
DesgloseFactura>
                <
Sujeta>
                    <
NoExenta>
                        <
DetalleNoExenta>
                            <
TipoNoExenta>S1</TipoNoExenta>
                            <
DesgloseIVA>
                                <
DetalleIVA>
                                    <
BaseImponible>55.00</BaseImponible>
                                    <
TipoImpositivo>21.00</TipoImpositivo>
                                    <
CuotaImpuesto>11.55</CuotaImpuesto>
                                    <
TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                    <
CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                    <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>S</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                                </
DetalleIVA>
                            </
DesgloseIVA>
                        </
DetalleNoExenta>
                    </
NoExenta>
                </
Sujeta>
            </
DesgloseFactura>
        </
TipoDesglose>
    </
Factura



Sí gracias, Neftali. Eso quería.

Pues lo tengo prácticamnente igual. Tengo una duda con la primera línea. Te pongo mi fichero

Código PHP:

<?xml version="1.0" encoding="UTF-8"?><T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>
</Cabecera>
<Sujetos>
<Emisor>
<NIF>nif empresa facturadoara6</NIF>
<ApellidosNombreRazonSocial>EDARI</ApellidosNombreRazonSocial>
</Emisor>
<Destinatarios>
<IDDestinatario>
<NIF>nif cliente</NIF>
<ApellidosNombreRazonSocial>nombre cliente</ApellidosNombreRazonSocial>
</IDDestinatario>
</Destinatarios>
<VariosDestinatarios>N</VariosDestinatarios>
<EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
</Sujetos>
<Factura>
<CabeceraFactura>
<SerieFactura>02</SerieFactura>
<NumFactura>1000035</NumFactura>
<FechaExpedicionFactura>01-07-2021</FechaExpedicionFactura>
<HoraExpedicionFactura>00:06:28</HoraExpedicionFactura>
<FacturaSimplificada>N</FacturaSimplificada>
<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
</CabeceraFactura>
<DatosFactura>
<DescripcionFactura>factura a cliente</DescripcionFactura>
<DetallesFactura>
<IDDetalleFactura>
<DescripcionDetalle>BARRIL DAMM</DescripcionDetalle>
<Cantidad>1.00</Cantidad>
<ImporteUnitario>40.00</ImporteUnitario>
<Descuento>0.00</Descuento>
<ImporteTotal>40.00</ImporteTotal>
</IDDetalleFactura>
</DetallesFactura>
<ImporteTotalFactura>50.48</ImporteTotalFactura>
<Claves>
<IDClave>
<ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
</IDClave>
</Claves>
</DatosFactura>
<TipoDesglose>
<DesgloseFactura>
<Sujeta>
<NoExenta>
<DetalleNoExenta>
<TipoNoExenta>S1</TipoNoExenta>
<DesgloseIVA>
<DetalleIVA>
<BaseImponible>40.00</BaseImponible>
<TipoImpositivo>21.00</TipoImpositivo>
<CuotaImpuesto>8.40</CuotaImpuesto>
<TipoRecargoEquivalencia>05.20</TipoRecargoEquivalencia>
<CuotaRecargoEquivalencia>2.08</CuotaRecargoEquivalencia>
</DetalleIVA>
</DesgloseIVA>
</DetalleNoExenta>
</NoExenta>
</Sujeta>
</DesgloseFactura>
</TipoDesglose>
</Factura>
<HuellaTBAI>
<Software>
<LicenciaTBAI>mi licencia como empresa</LicenciaTBAI>
<EntidadDesarrolladora>
<NIF>nuestro nif</NIF>
</EntidadDesarrolladora>
<Nombre>EDARI</Nombre>
<Version>1.0</Version>
</Software>
<NumSerieDispositivo>el numero de serie de mi dispositivo</NumSerieDispositivo>
</HuellaTBAI>
</T:TicketBai>

Lo firmo desde símbolo de comando con

\autofirma\autofirma\autofirmacommandline.exe sign -i FACTURA.XML -o FACTURA_FIRMADA.XML -store pkcs12:\CERTIFICADO\MI_CERTIFICADO_DE_DISPOSITIVO.p12 -password MI_PASSWD -filter \CERTIFICADO\MI_CERTIFICADO_DE_DISPOSITIVO.p12 -format xades -xml -config "format=XAdES Enveloped \npolicyIdentifier=identificativo \npolicyIdentifierHash=codigo_HASH \npolicyIdentifierHashAlgorithm=h t t p ://w w w .w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=identificativo

El certificado de dispositivo lo bajamos de Izenpe para la máquina donde hago las pruebas

Al lanzarlo me da este mensaje, que aunque da algunos errores al final dice que lo ha generado bien

...
GRAVE: No se ha podido establecer la propiedad de seguridad en la factoria XML
java.lang.IllegalArgumentException: La propiedad "h t t p ://javax.xml.XMLConstants/property/accessExternalStylesheet" no se ha reconocido.
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.setAttribute(Unknown Source)
at es.gob.afirma.signers.xades.XAdESUtil.<clinit>(XAdESUtil.java:97)
at es.gob.afirma.signers.xades.XAdESSigner.sign(XAdESSigner.java:429)
at es.gob.afirma.signers.xades.AOXAdESSigner.sign(AOXAdESSigner.java:405)
at es.gob.afirma.standalone.CommandLineLauncher.sign(CommandLineLauncher.java:797)
at es.gob.afirma.standalone.CommandLineLauncher.signByCommandLine(CommandLineLauncher.java:624)
at es.gob.afirma.standalone.CommandLineLauncher.processCommandLine(CommandLineLauncher.java:152)
at es.gob.afirma.standalone.CommandLineLauncher.main(CommandLineLauncher.java:1006)
at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:573)

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See h t t p://w w w.slf4j.org/codes.html#StaticLoggerBinder for further details.
<afirma><result>true</result><response><msg>La operacion ha terminado correctamente </msg></response></afirma>

y lanzo el curl con

curl.exe --data-binary @FACTURA_FIRMADA.XML --cert-type P12 --cert certificadodispositivo.p12:230175 -H "Content-Type: application/xml;charset=UTF8" -X POST h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta -o RESPUESTA.XML

Y siempre me da este error

<Codigo>002</Codigo>

<Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. Detalle del error: cvc-datatype-valid.1.2.1: 'codigo_HASH' is not a valid value for 'base64Binary'.</Descripcion>


Gracias de nuevo

sEngine 09-07-2021 10:00:01

Estas poniendo los valores correspondientes en codigo_hash y demas al firmarlo? Porque por el error parece que estes poniendo la variable sin mas

Por ejemplo el codigo hash de guipuzkoa es 6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=

JoseLeeTo 09-07-2021 10:03:45

Cita:

Empezado por tejano (Mensaje 541700)
Pensaba que estabais hablando de las facturas recibidas.

No sé si pondrán problemas si 2 CIF diferentes emiten en el LROE el mismo número de factura recibida, CIF EMISOR+SERIE+NUMERO+FECHA EXPEDICION, pero con diferentes CIF RECEPCTORES.

La factura recibida (o de gasto), la recibe el obligado tributario. Es decir, la factura de Gasto que le llega (luz, agua, gas....), tendrá un número de factura del proveedor, pero lo que aparece en la cabecera del XML, es el obligado tributario. La empresa que en este caso va a pagar dicha factura de gasto o factura recibida.
No puede existir varios CIF o NIF receptores de una misma factura. Será el NIF del obligado tributario, al que se supone que se están asignando dichas facturas (por el tema de declaración de IVA o IRPF), y que es quien va a mandar a Batuz dichas facturas de gasto que ha recibido.

Las facturas que emita el obligado tributario, tendrá que enviarlas de igual forma, pero siempre con un solo NIF, el suyo.

Neftali [Germán.Estévez] 09-07-2021 10:11:31

Cita:

Empezado por tejano (Mensaje 541697)
Es decir, que si soy un "cabrón" y emito 50.000 facturas en el LROE de recibidas de Iberdrola, aunque no sean para mí, pero pongo como que sí, con su número y fecha porque quiero fastidiar el sistema. El resto de personas ya no van a poder enviarlas como recibidas??


Bueno, supongo que de eso se trata.
En algun momento alguien validará las facturas que "envía" Iberdrola como emitidas y las que "envían" el resto de empresas como recibidas. Y eso debe "cuadrar".

Si tú envías esas facturas y otra empresa las envía se detectará la duplicidad (que de eso se trata).
Y a tí te caerá un puro por enviar como "recibidas" cosas que no has recibido... :D:D:D:D

Neftali [Germán.Estévez] 09-07-2021 10:12:45

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 541705)
Y a tí te caerá un puro por enviar como "recibidas" cosas que no has recibido... :D:D:D:D


Al final siempre acabamos en los mismo...

Cuando hay un error, le "cae un puro" a alguien y $$$$$$$$$$ :cool:
(multa al canto y a recaudar)

JoseLeeTo 09-07-2021 10:29:17

Alava
 
Hola a tod@s;

He preguntado a Álava acerca de las especificaciones técnicas, y me han respondido que esperan que para Septiembre :D:D:D:D esperan tenerlo todo listo y publicarlas en la Web.

Me dijeron lo mismo hace meses y que esperaban que para Junio estuviese.... Ahora es para Septiembre.

....
Se admiten apuestas.

Sistel 09-07-2021 11:39:00

Cita:

Empezado por JoseLeeTo (Mensaje 541707)
Hola a tod@s;

He preguntado a Álava acerca de las especificaciones técnicas, y me han respondido que esperan que para Septiembre :D:D:D:D esperan tenerlo todo listo y publicarlas en la Web.

Me dijeron lo mismo hace meses y que esperaban que para Junio estuviese.... Ahora es para Septiembre.

....
Se admiten apuestas.

Hola,

Eso de las apuestas, déjaselo al colega Key que tiene unos "pálpitos" muy atinados :D:D:D

https://www.clubdelphi.com/foros/sho...&postcount=862

Saludos

edari 09-07-2021 11:59:57

Cita:

Empezado por sEngine (Mensaje 541703)
Estas poniendo los valores correspondientes en codigo_hash y demas al firmarlo? Porque por el error parece que estes poniendo la variable sin mas

Por ejemplo el codigo hash de guipuzkoa es 6NrKAm60o7u62FUQwzZew24ra2ve9PRQYwC21AM6In0=


Error de novato.



Vi la string entera y no cai en el que el hash era un código


Gracias

Eric Mtz 09-07-2021 12:55:24

¡Muy buenas a todos!, ¿Cómo lo lleváis?, llevo un par de días callado observando desde las sombras. (Insertar risa diabólica)

Bueno, volviendo a nuestro odio común, sigo con lo de usar el DNI a modo de certificado en el envío del 140 a quien no debe de ser nombrado.

Os pongo en situación de manera teatral:

Ubicación: Foro TBAI
Pregunta: #934
Usuario: HerensugeBeltz
Hora: Indefinida (Solo pone "Hace 2 Días")
Música: Alguna de ascensor... nose... de esas que se ponen en bucle y que ralentizan el ascenso de lo repetitivas que son.

Cita:

En mis pruebas yo utilizo el certificado de mi DNI electrónico, que exporté a un .pfx e instalé en el almacén de certificados de Windows.
Vuelvo a retomar mi soliloquio, ¿Cómo has exportado el certificado del DNI a .pfx?, he estado googleando pero no encuentro nah, tengo conectado mi DNI al PC con un cacharro de esos que te lo leen y hasta solicité el certificado de persona física pero no he obtenido buenos resultados con ninguno de mis intentos.

Si alguien puede aportar algo que acuda a la caja de comentarios por favor. (Eso ha sonado muy supermercado).

Bueno, pues esto ha sido todo señores, cómo veis, ahora puedo insertar sonidos en mis mensajes gracias al poder de la imaginación, en fin, gracias por leer una vez mas mis dudas, pasad un buen fin de semana.

tejano 09-07-2021 14:34:53

Cita:

Empezado por tejano (Mensaje 541684)
Hola, habéis enviado facturas recibidas de proveedores en la DFB?
Estoy enviando facturas recibidas y veo 2 problemas, el número de factura de Amazon es de más de 20 caracteres y el LROE de las recibidas solo permite 20 caracteres... como estáis solucionando esto?
Por otra parte, cuando hay una rectificativa de una factura recibida, hay que poner el número de serie de la factura rectificativa, pero solo sabemos el número completo, no se sabe a que parte corresponde a la serie de factura y que parte al número de factura.

No sé si es que todavía no lo tienen totalmente desarrollado, o que puede ser....

Saludos

Solucionado!!!! La serie que piden en el caso de factura rectificativa es la del número de factura. De momento, y espero que lo solucionen, he puesto "_" en la serie y parece que funciona.

No es como me gustaría hacerlo, pero......

tejano 09-07-2021 14:52:26

Cita:

Empezado por Eric Mtz (Mensaje 541710)
¡Muy buenas a todos!, ¿Cómo lo lleváis?, llevo un par de días callado observando desde las sombras. (Insertar risa diabólica)

Bueno, volviendo a nuestro odio común, sigo con lo de usar el DNI a modo de certificado en el envío del 140 a quien no debe de ser nombrado.

Os pongo en situación de manera teatral:

Ubicación: Foro TBAI
Pregunta: #934
Usuario: HerensugeBeltz
Hora: Indefinida (Solo pone "Hace 2 Días")
Música: Alguna de ascensor... nose... de esas que se ponen en bucle y que ralentizan el ascenso de lo repetitivas que son.



Vuelvo a retomar mi soliloquio, ¿Cómo has exportado el certificado del DNI a .pfx?, he estado googleando pero no encuentro nah, tengo conectado mi DNI al PC con un cacharro de esos que te lo leen y hasta solicité el certificado de persona física pero no he obtenido buenos resultados con ninguno de mis intentos.

Si alguien puede aportar algo que acuda a la caja de comentarios por favor. (Eso ha sonado muy supermercado).

Bueno, pues esto ha sido todo señores, cómo veis, ahora puedo insertar sonidos en mis mensajes gracias al poder de la imaginación, en fin, gracias por leer una vez mas mis dudas, pasad un buen fin de semana.

De momento hasta que no tengas el certificado, utiliza el certificado de producción de Izenpe.

Si miras unas páginas arriba, tienes dónde localizarlo.

https://www.izenpe.eus/web_corporati...ificados.shtml

Saludos

b4aronDeLaBirr4 12-07-2021 10:03:57

Buenas!

¿Pero os están funcionando los certificados de Izenpe? Porque a mí me está devolviendo:

"Certificado remitente incorrecto (revocado o no homologado)" tanto por Postman como por cUrl.

Eric Mtz 12-07-2021 10:17:11

Cita:

Empezado por b4aronDeLaBirr4 (Mensaje 541719)
Buenas!

¿Pero os están funcionando los certificados de Izenpe? Porque a mí me está devolviendo:

"Certificado remitente incorrecto (revocado o no homologado)" tanto por Postman como por cUrl.


Me sumo al señor barón de la birra, esos certificados los probé hace dos lunas y no logré nada. (No descarto que esté haciendo algo mal, pero es que solo me la pego con el 140... malditas personas físicas, están destrozando TBAI).

Un saludo a todos, ¿Que tal os va el lunes?

sEngine 12-07-2021 10:30:58

Yo he conseguido que me funcionen con uno de los de desarrollo (es con el que estoy probando). El sello_entidad_act.p12

b4aronDeLaBirr4 12-07-2021 11:15:05

Anda pues voy a probar con el sello_entidad_act.p12 de desarrollo, a ver si hay suerte...

Y respondiendo a Eric:
Cita:

Un saludo a todos, ¿Que tal os va el lunes?
Pues bueno, dando palos de ciego con este gran avance de la civilización que es TicketBAI ya sabes... Que os sea leve el lunes!

b4aronDeLaBirr4 12-07-2021 13:07:55

Pues me ha dado recibido por fin, mi Hello World! de TicketBAI. (Usando el sello_entidad_act.p12 de desarrollo de Izenpe) con la siguiente respuesta:

Código PHP:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
    <Salida>
        <IdentificadorTBAI>TBAI-79732487C-070721-KdxKFNXeNJuBZ-063</IdentificadorTBAI>
        <FechaRecepcion>12-07-2021 12:54:51</FechaRecepcion>
        <Estado>00</Estado>
        <Descripcion>Recibido</Descripcion>
        <Azalpena>Jasota</Azalpena>
        <ResultadosValidacion>
            <Codigo>008</Codigo>
            <Descripcion>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Descripcion>
            <Azalpena>El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)</Azalpena>
        </ResultadosValidacion>
        <ResultadosValidacion>
            <Codigo>010</Codigo>
            <Descripcion>Aviso: Posible error de encadenamiento.</Descripcion>
            <Azalpena>Abisua: Litekeena da kateamendu errorea gertatzea.</Azalpena>
        </ResultadosValidacion>
        <ResultadosValidacion>
            <Codigo>012</Codigo>
            <Descripcion>Aviso: Error en verificación alta-inscripción software TicketBAI: los datos de registro no coinciden.</Descripcion>
            <Azalpena>Abisua: Errorea TicketBAI softwarearen alta-inskripzioa egiaztatzean: erregistroko datuak ez datoz bat</Azalpena>
        </ResultadosValidacion>
        <CSV>TBAI9121b41c-8c0c-4b82-b54c-a734446cb210</CSV>
    </Salida>
</ns2:TicketBaiResponse>


b4aronDeLaBirr4 12-07-2021 17:09:48

Una pregunta sobre la firma del documento xml e independientemente de la tecnología o lenguaje para firmar dicho documento... ¿Qué formato o tipo de firma se tiene que aplicar? Más que nada por ver qué buscar por ahí dedicado a .NET. He leído en el pdf de política de firma algo del formato XaDes... ¿Alguien que me pueda echar una mano con el concepto de qué necesito para firmar el XML con el certificado?

batuzail 12-07-2021 18:14:31

Firmar xml con Chilkat
 
Hola,
Estoy usando los componentes de chilkat, he generado el xml pero a la hora firmarlo estoy usando el ejemplo que hay para factura electronica, pero creo que no es lo mismo, alguien que lo tenga funcionando puede indicarme como hacerlo o algún ejemplo?


Saludos

Sistel 12-07-2021 18:20:24

Cita:

Empezado por b4aronDeLaBirr4 (Mensaje 541729)
Una pregunta sobre la firma del documento xml e independientemente de la tecnología o lenguaje para firmar dicho documento... ¿Qué formato o tipo de firma se tiene que aplicar? Más que nada por ver qué buscar por ahí dedicado a .NET. He leído en el pdf de política de firma algo del formato XaDes... ¿Alguien que me pueda echar una mano con el concepto de qué necesito para firmar el XML con el certificado?

Hola b4aronDeLaBirr4,

Efectivamente, debe ser formato XAdES Enveloped.
Tienes todo sobre la firma requerida en https://www.batuz.eus/fitxategiak/ba...onica_v1_0.pdf

Saludos

Galaxian 12-07-2021 19:26:23

Cita:

Empezado por batuzail (Mensaje 541731)
Hola,
Estoy usando los componentes de chilkat, he generado el xml pero a la hora firmarlo estoy usando el ejemplo que hay para factura electronica, pero creo que no es lo mismo, alguien que lo tenga funcionando puede indicarme como hacerlo o algún ejemplo?


Saludos

Échale un vistazo a esto: https://tools.chilkat.io/xmlDsigGen.cshtml

Solo tienes que coger la firma de uno de los ejemplos de TBAI y pegarla en la ventana. Después de generar la firma digital (la clava) puedes usar el ejemplo de factura-e para enviarlo.


La franja horaria es GMT +2. Ahora son las 15:34:34.

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