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)

ermendalenda 08-02-2022 14:15:43

Cita:

Empezado por MikusMikae (Mensaje 545267)
Hola,


Hemos adaptado nuestro software para poder enviar tiquets a TIcketBai y la ayuda del foro a sido impagable para ello.
Pero nos surge una duda en los tiquets con importe cero. Por ejemplo una tienda de ropa, compras una prenda, se genera el correspondiente tiquet, se envia a TicketBai, etc.
Dias mas tarde se realiza un cambio de talla de la prenda, en nuestro sistema se genera un tiquet nuevo pero al tener una linea de tiquet en positivo y otra en negativo, se compensan y el total del tiquet es cero.


Como se enviaria esto en el XML? hay que indicar los totales, ivas, etc. a cero?



Saludos y gracias.

Correcto así de simple, negativo en la cantidad del negativo e importe total del negativo tb con signo negativo, las líneas positivas como siempre, el importe unitario siempre en positivo y el total da igual que sea cero o negativo, según reglamento de facturación se admite por cambio si son del mismo tipo impositivos, si son distintos ivas o no se lleva nada a cambio en el mismo tiquet, rectificativa con su serie y numeración

Neftali [Germán.Estévez] 08-02-2022 16:07:34

Si alguno está interesado en comercializar su solución de TicketBAI, os aconsejo revisar el foro de trabajo (donde se publican ofertas y demandas) ya que hay alguna referentye a TBAI.
https://clubdelphi.com/foros/showthread.php?t=95444

Os lo pongo aquí porque se que hay muchos que accedéis a este hilo directamente, sin pasar por otras secciones del foro.

b4aronDeLaBirr4 09-02-2022 11:29:12

Batuz
 
Buenas! Ecuador de la semana ya, ánimo...

Una pregunta, ¿Cómo habéis gestionado la inmensidad de esquemas que existen en el sistema Batuz de Bizkaia? Es decir, en un entorno ya dinámico, en el cual los datos de la factura no son como cuando probamos con datos "picados a mano". Es que estoy viendo la de tipos que hay y demás y gestionar todas esas paramétricas me está dando vértigo. ¿Me estoy excediendo en mi visión sobre ello o es el infierno que aparenta?

Un saludo!

ermendalenda 09-02-2022 17:48:36

Cita:

Empezado por b4aronDeLaBirr4 (Mensaje 545278)
Buenas! Ecuador de la semana ya, ánimo...

Una pregunta, ¿Cómo habéis gestionado la inmensidad de esquemas que existen en el sistema Batuz de Bizkaia? Es decir, en un entorno ya dinámico, en el cual los datos de la factura no son como cuando probamos con datos "picados a mano". Es que estoy viendo la de tipos que hay y demás y gestionar todas esas paramétricas me está dando vértigo. ¿Me estoy excediendo en mi visión sobre ello o es el infierno que aparenta?

Un saludo!

Hola bienvenido.
Muchas horas e ibuprofeno. Ánimo.

nuevo1234 10-02-2022 11:57:31

¿Se tienen en cuenta las facturas anuladas en el encadenamiento?
 
Según la FAQ sí se tiene en cuenta, es decir,

Factura_F1
Factura_F2 (ENCADENA CON "Factura_F1")
Anulacion Factura_F1 (No lleva encadenamiento, así lo marca el XSD)
Factura F3 (ENCADENA CON LA Anulacion Factura_F1) es decir justo con la anterior, que en este caso, es una anulación

¿Lo veis correcto?

FAQ:
¿Se tienen en cuenta las facturas anuladas para el encadenamiento?
Sí.
La anulación de las facturas se prevé para el supuesto en que por error se emite una
factura sin que se llegue a producir la entrega de bien o prestación de servicio, es decir,
cuando la operación no ha llegado nunca a realizarse y procede su anulación (DGT
V0611/ 11-3-2011).
A efectos del encadenamiento, sin embargo, puede ser que la factura anulada sea la
inmediata anterior puesto que con independencia de que la anulación puede tener lugar
de manera inmediata subsiguiente a la emisión, o en un momento ulterior, el archivo
XML-TicketBAI correspondiente a la factura que devendrá anulada debe ser remitida y
sirve como factura antecedente a efectos del encadenamiento. Además, es posible que
entre la emisión de la factura que luego se anula y la anulación ulterior puede haberse
emitido facturas válidas, por lo que la factura que ulteriormente pueda ser anulada,
puede tener la consideración de factura anterior a efectos del encadenamiento

Sistel 10-02-2022 12:25:50

Cita:

Empezado por nuevo1234 (Mensaje 545291)
Según la FAQ sí se tiene en cuenta, es decir,

Factura_F1
Factura_F2 (ENCADENA CON "Factura_F1")
Anulacion Factura_F1 (No lleva encadenamiento, así lo marca el XSD)
Factura F3 (ENCADENA CON LA Anulacion Factura_F1) es decir justo con la anterior, que en este caso, es una anulación

¿Lo veis correcto?

FAQ:
¿Se tienen en cuenta las facturas anuladas para el encadenamiento?
Sí.
La anulación de las facturas se prevé para el supuesto en que por error se emite una
factura sin que se llegue a producir la entrega de bien o prestación de servicio, es decir,
cuando la operación no ha llegado nunca a realizarse y procede su anulación (DGT
V0611/ 11-3-2011).
A efectos del encadenamiento, sin embargo, puede ser que la factura anulada sea la
inmediata anterior puesto que con independencia de que la anulación puede tener lugar
de manera inmediata subsiguiente a la emisión, o en un momento ulterior, el archivo
XML-TicketBAI correspondiente a la factura que devendrá anulada debe ser remitida y
sirve como factura antecedente a efectos del encadenamiento. Además, es posible que
entre la emisión de la factura que luego se anula y la anulación ulterior puede haberse
emitido facturas válidas, por lo que la factura que ulteriormente pueda ser anulada,
puede tener la consideración de factura anterior a efectos del encadenamiento

Hola nuevo1234,

No hay que encadenar ninguna factura a una anulación.
A lo que hay que encadenar cada factura es la anterior factura, aunque esté anulada (no a su anulación).
Así lo entiendo yo.

Saludos.

unomasmas 10-02-2022 12:46:36

Cita:

Empezado por nuevo1234 (Mensaje 545291)
Según la FAQ sí se tiene en cuenta, es decir,

Factura_F1
Factura_F2 (ENCADENA CON "Factura_F1")
Anulacion Factura_F1 (No lleva encadenamiento, así lo marca el XSD)
Factura F3 (ENCADENA CON LA Anulacion Factura_F1) es decir justo con la anterior, que en este caso, es una anulación

¿Lo veis correcto?

FAQ:
¿Se tienen en cuenta las facturas anuladas para el encadenamiento?
Sí.
La anulación de las facturas se prevé para el supuesto en que por error se emite una
factura sin que se llegue a producir la entrega de bien o prestación de servicio, es decir,
cuando la operación no ha llegado nunca a realizarse y procede su anulación (DGT
V0611/ 11-3-2011).
A efectos del encadenamiento, sin embargo, puede ser que la factura anulada sea la
inmediata anterior puesto que con independencia de que la anulación puede tener lugar
de manera inmediata subsiguiente a la emisión, o en un momento ulterior, el archivo
XML-TicketBAI correspondiente a la factura que devendrá anulada debe ser remitida y
sirve como factura antecedente a efectos del encadenamiento. Además, es posible que
entre la emisión de la factura que luego se anula y la anulación ulterior puede haberse
emitido facturas válidas, por lo que la factura que ulteriormente pueda ser anulada,
puede tener la consideración de factura anterior a efectos del encadenamiento

Factura_F1
Factura_F2 (ENCADENA CON "Factura_F1")
Anulacion Factura_F1 (No lleva encadenamiento, así lo marca el XSD)
Factura F3 (ENCADENA CON Factura_F2)

En verde negrita lo que cambia con respecto a lo que tú piensas

Neftali [Germán.Estévez] 10-02-2022 13:12:26

Cita:

Empezado por nuevo1234 (Mensaje 545291)
Según la FAQ sí se tiene en cuenta, es decir,
Factura_F1
Factura_F2 (ENCADENA CON "Factura_F1")
Anulacion Factura_F1 (No lleva encadenamiento, así lo marca el XSD)
Factura F3 (ENCADENA CON LA Anulacion Factura_F1) es decir justo con la anterior, que en este caso, es una anulación

La anulacuión como tal no es una fatura, por lo tanto las facturas que has emitido son estas:
  • Factura_F1
  • Factura_F2 (ENCADENA CON "Factura_F1")
  • Factura F3

Y el encadenamiento es de esas tres facturas.
  • Factura_F1, Factura_F2, Factura F3

Nadie ha dicho otra cosa.
Lo que en algún mensaje anterior se ha dicho es que la anulación no se tiene en cuenta para el encadenamiento, pero si la factura anulada.

thinkows 10-02-2022 16:53:09

Certificados de Aplicación
 
Buenas tardes, tengo dudas existenciales acerca de los certificados de aplicación para firmar mis ejecutables e instalador para windows


Comodo Code Signing 90€/año
DigiCert EV Code Signing Certificate 533€/año
DigiCert Code Signing 262€/año
Sectigo Code Signing EV 249€/año

Tenéis experiencia con alguno de ellos? :confused:
Contratáis para 1,2,3 años?


Agradecido de antemano.
Un saludo.

ion 10-02-2022 17:04:45

Cancelar facturas Batuz
 
Hola
No tenemos ningún problema para dar de alta una factur aTicketab en Batuz, en el entorno de prueba, pero a la hora de cancelar:
Código:

<SituacionRegistro>
                <EstadoRegistro>Incorrecto</EstadoRegistro>
                <CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
                <DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-signedprops" failed to verify. Reference URI="#KeyInfoId-xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606))</DescripcionErrorRegistroES>
                <DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-signedprops" failed to verify. Reference URI="#KeyInfoId-xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606))</DescripcionErrorRegistroEU>
            </SituacionRegistro>

Realizo los mismo pasos para dar de alta y parar cancelar.


1.-TicketBai xml firmar y guardar.
2.- recuperar el xml

$content = file_get_contents(public_path() . '/storage/app/public/' . $invoicesXml->xml_name);

3.- dentro del LROE añado en xml:

$xml .= "<AnulacionTicketBai>" . base64_encode($content) . "</AnulacionTicketBai>";

Y para finalizar lo envió por CURL, pero como os he dicho uso los mismos métodos para dar de alta y no tengo ningún problema

thinkows 10-02-2022 17:52:41

Entorno de pruebas Araba
 
Hola estoy intentando enviar a Araba en pruebas y devuelve error 006 servicio caído, a alguien le pasa igual?

Gracias

DavidMar 10-02-2022 17:57:04

Unas preguntas, sobre todo para los que ya tienen experiencia con TicketBAI.


1. ¿De que forma se organiza este sistema para tener en cuenta (por ejemplo) la imposibilidad de enviar los datos si te quedas sin internet, fallo de ordenadores, etc.? ¿Hay que comunicarlo, hay que enviarlo después, ....?
2. ¿De que forma se trata a aquellos obligados tributarios que no tienen un ordenador o tpv físico?, por ejemplo gente que trabaja en mercadillo, muchas veces sin acometida de luz.
3. Parecida a la anterior... ¿de qué forma tratan a los que, por ejemplo, tienen una tienda o negocio en un pueblo de montaña con una comunicación por internet casi nula?.


Gracias!

Neftali [Germán.Estévez] 10-02-2022 18:11:24

Cita:

Empezado por thinkows (Mensaje 545309)
Hola estoy intentando enviar a Araba en pruebas y devuelve error 006 servicio caído, a alguien le pasa igual?


Lo mismo.



thinkows 10-02-2022 18:15:10

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 545312)
Lo mismo.





Gracias Germán^\||/^\||/

Neftali [Germán.Estévez] 10-02-2022 18:16:45

Cita:

Empezado por DavidMar (Mensaje 545311)
1. ¿De que forma se organiza este sistema para tener en cuenta (por ejemplo) la imposibilidad de enviar los datos si te quedas sin internet, fallo de ordenadores, etc.? ¿Hay que comunicarlo, hay que enviarlo después, ....?

Generas la factura, la firmas, generas el XML y si es necesario la imprimes.
Enviarla, puedes hacerlo más tarde cuando se restaure la conexión.

Cita:

Empezado por DavidMar (Mensaje 545311)
2. ¿De que forma se trata a aquellos obligados tributarios que no tienen un ordenador o tpv físico?, por ejemplo gente que trabaja en mercadillo, muchas veces sin acometida de luz.

No creo que hayan pensado en esas personas.
Antes o después tendrán que usar algún dispositivo móvil con conexión para enviar los tickets.

Cita:

Empezado por DavidMar (Mensaje 545311)
3. Parecida a la anterior... ¿de qué forma tratan a los que, por ejemplo, tienen una tienda o negocio en un pueblo de montaña con una comunicación por internet casi nula?.

Segun la documentación debes enviar las facturas "lo antes posible", en esos casos, no se si puedes tener algo más de tiempo. Pero al final debes acabar enviándolas.

Sistel 10-02-2022 19:27:18

Cita:

Empezado por ion (Mensaje 545308)
Hola
No tenemos ningún problema para dar de alta una factur aTicketab en Batuz, en el entorno de prueba, pero a la hora de cancelar:
Código:

<SituacionRegistro>
                <EstadoRegistro>Incorrecto</EstadoRegistro>
                <CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
                <DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-signedprops" failed to verify. Reference URI="#KeyInfoId-xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606))</DescripcionErrorRegistroES>
                <DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- SignedInfo failed to verify. Reference URI="#xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-signedprops" failed to verify. Reference URI="#KeyInfoId-xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606))</DescripcionErrorRegistroEU>
            </SituacionRegistro>

Realizo los mismo pasos para dar de alta y parar cancelar.


1.-TicketBai xml firmar y guardar.
2.- recuperar el xml

$content = file_get_contents(public_path() . '/storage/app/public/' . $invoicesXml->xml_name);

3.- dentro del LROE añado en xml:

$xml .= "<AnulacionTicketBai>" . base64_encode($content) . "</AnulacionTicketBai>";

Y para finalizar lo envió por CURL, pero como os he dicho uso los mismos métodos para dar de alta y no tengo ningún problema

Hola ion,

Verifica el xml firmado en https://tools.chilkat.io/xmlDsigVerify

Si te da correcto y te sigue contestando Batuz con ese error, comprueba con qué codificación se te guarda el fichero.

Saludos

unomasmas 10-02-2022 19:33:37

Cita:

Empezado por thinkows (Mensaje 545305)
Buenas tardes, tengo dudas existenciales acerca de los certificados de aplicación para firmar mis ejecutables e instalador para windows

Comodo Code Signing 90€/año
DigiCert EV Code Signing Certificate 533€/año
DigiCert Code Signing 262€/año
Sectigo Code Signing EV 249€/año
Tenéis experiencia con alguno de ellos? :confused:
Contratáis para 1,2,3 años?


Agradecido de antemano.
Un saludo.

Yo registré Comodo Code Signing con https://www.leaderssl.es/?fltr_type=...l-filter-block. Perfecto. No problems.
...Y aquí parece que es todavía más barato: https://www.ssltrust.com/comodo-ssl/...e?currency=EUR

ermendalenda 10-02-2022 19:52:26

Pagos a cta
 
Para los que les interese, al final he preguntado directamente en hacienda. Lo de los pagos a cta hay que hacer factura del dinero recibido a cuenta de un pedido, el desglose de los tipos impositivos será según los tipos impositivos de artículos o servicios del pedido, y si hay varios tipos impositivos te admiten pagar el IVA como mejor te venga, pero respetando los importes máximos de las sumas de las operaciones según el IVA.
Aunque creo que es mejor desglosarlo de forma proporcional.

ion 10-02-2022 21:47:26

LROE error cancelar ticketbai
 
Cita:

Empezado por Sistel (Mensaje 545316)
Hola ion,

Verifica el xml firmado en

Si te da correcto y te sigue contestando Batuz con ese error, comprueba con qué codificación se te guarda el fichero.

Saludos

Gracias, he verificado, y el xml no es correco:

Signature is Invalid
Number of Reference Digests = 3
Reference 1 digest is invalid because the computed digest differs from the digest in the XML.
Reference 2 digest is invalid because the computed digest differs from the digest in the XML.
Reference 3 digest is valid.

Uso la clase firmador de Bilbur, dejo el xml por si alguien podria ver el fallo:

Código PHP:

<?xml version='1.0' encoding='UTF-8'?>
<T:AnulaTicketBai xmlns:T='urn:ticketbai:anulacion'
    xmlns:xsi='....w3.org/2001/XMLSchema-instance' xsi:schemaLocation='....w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd'>
    <Cabecera>
        <IDVersionTBAI>1.2</IDVersionTBAI>
    </Cabecera>
    <IDFactura>
        ...
    </IDFactura>
    <HuellaTBAI>
        ...
        <NumSerieDispositivo>1212</NumSerieDispositivo>
    </HuellaTBAI>
    <ds:Signature Id="xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1"
        xmlns:ds="....w3.org/2000/09/xmldsig#">
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="....w3.org/TR/2001/REC-xml-c14n-20010315"/>
            <ds:SignatureMethod Algorithm="....w3.org/2001/04/xmldsig-more#rsa-sha256"/>
            <ds:Reference URI="#xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-signedprops" Type="...uri.etsi.org/01903#SignedProperties">
                <ds:Transforms>
                    <ds:Transform Algorithm="....w3.org/TR/2001/REC-xml-c14n-20010315"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="....w3.org/2001/04/xmlenc#sha256"/>
                <ds:DigestValue>GGw5r1urLgEdDqZzR9wYfvTAKqTi5vzGHjBCqPsX5u0=</ds:DigestValue>
            </ds:Reference>
            <ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1">
                <ds:Transforms>
                    <ds:Transform Algorithm="....w3.org/TR/2001/REC-xml-c14n-20010315"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="....w3.org/2001/04/xmlenc#sha256" />
                <ds:DigestValue>249d1ODRQL8r2pEjkP9dxvUn5/5cKmBpmp4l8kPg460=</ds:DigestValue>
            </ds:Reference>
            <ds:Reference Id="xmldsig-ca66fa5e-0dad-1d62-e99d-a992496461d1-ref0" URI="" Type="....w3.org/2000/09/xmldsig#Object">
                <ds:Transforms>
                    <ds:Transform Algorithm="....w3.org/2000/09/xmldsig#enveloped-signature"/>
                    <ds:Transform Algorithm="....w3.org/TR/2001/REC-xml-c14n-20010315"/>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="....w3.org/2001/04/xmlenc#sha256"/>
                <ds:DigestValue>leHXcKXIXb2WUnsMXH8/BLNlmg3gHjDHu+L57ESRma8=</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        ...
</T:AnulaTicketBai>


thinkows 11-02-2022 08:06:04

Agradecido
 
Cita:

Empezado por unomasmas (Mensaje 545318)
Yo registré Comodo Code Signing con https://www.leaderssl.es/?fltr_type=...l-filter-block. Perfecto. No problems.
...Y aquí parece que es todavía más barato: https://www.ssltrust.com/comodo-ssl/...e?currency=EUR

Muchas garcias compi. ^\||/^\||/


La franja horaria es GMT +2. Ahora son las 14:41:47.

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