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)

txitxarru 22-03-2022 09:07:28

Gracias Sistel pero en la propia pagina de Izenpe en el apartado de Certificados TicketBAI, te pone que los certificados para persona física son: "tarjeta física de Izenpe o Bakq (en la nube)".
Y luego si vas al apartado Tarjeta Virtual en el apartado ciudadania, explica que:
"Tarjeta virtual es un ligero software que se instala en su ordenador con el que podrá identificarse en cualquier sede electrónica u oficina virtual que permita el uso de certificados digitales. De este modo tarjeta virtual funciona igual que cualquier otro certificado permitiendo el uso de certificados en la nube en cualquier trámite y servicio."

El usuario llamo para preguntar y le respondieron que era problema del programa , que debía admitirlo. Así que para mi desgracia me parece que es valido y tengo que lidiar con el.

Aún así también les he enviado yo la consulta y estoy esperando respuesta, pero doy por hecho que es valido.

Sistel 22-03-2022 11:10:33

Cita:

Empezado por txitxarru (Mensaje 546141)
Gracias Sistel pero en la propia pagina de Izenpe en el apartado de Certificados TicketBAI, te pone que los certificados para persona física son: "tarjeta física de Izenpe o Bakq (en la nube)".
Y luego si vas al apartado Tarjeta Virtual en el apartado ciudadania, explica que:
"Tarjeta virtual es un ligero software que se instala en su ordenador con el que podrá identificarse en cualquier sede electrónica u oficina virtual que permita el uso de certificados digitales. De este modo tarjeta virtual funciona igual que cualquier otro certificado permitiendo el uso de certificados en la nube en cualquier trámite y servicio."

El usuario llamo para preguntar y le respondieron que era problema del programa , que debía admitirlo. Así que para mi desgracia me parece que es valido y tengo que lidiar con el.

Aún así también les he enviado yo la consulta y estoy esperando respuesta, pero doy por hecho que es valido.

Hola txitxarru,

Me he limitado a poner la información de los tipos de certificados admitidos por TicketBAI (según su normativa)
Desconocía que Bakq tuviese consideración de certificado digital a efectos de TicketBAI.
Pero si Izenpe te dice que sí ... pues así será.

Saludos

JoseLeeTo 22-03-2022 11:46:56

Facturas Rectificativas
 
Buenos días a tod@s;

Tengo una duda respecto a las Facturas Rectificativas, a ver si me podéis ayudar.

Supongamos que tenemos una Factura con serie "A", que queremos rectificar.
Ahora mismo, lo que hacemos, es realizar un Abono de la factura de la serie A, pero con signo negativo (-A)

Y por último, generamos una factura definitiva, con los datos que debería de haber tenido la factura inicial (Serie R)

Es decir: A ====> -A =====> R

A la hora del envío a Batuz, y cumplimentar el bloque de datos de Rectificativa (FacturaRectificativaType) , ¿dónde se tienen que cumplimentar dichos datos, ¿En la factura con serie "-A"? ¿O en la factura de la serie "R"? ¿O en ambas, haciendo referencia a la original?

Porque a priori, la factura "-A", que también habría que remitir a Batuz, está rectificando lo que había en la de la serie A, pero en definitiva la factura de la serie R, es la factura que rectifica la original.

¿Podéis indicarme cómo lo estáis haciendo?

Muchas gracias.
Un saludo

Sistel 22-03-2022 12:23:35

Cita:

Empezado por JoseLeeTo (Mensaje 546144)
Buenos días a tod@s;

Tengo una duda respecto a las Facturas Rectificativas, a ver si me podéis ayudar.

Supongamos que tenemos una Factura con serie "A", que queremos rectificar.
Ahora mismo, lo que hacemos, es realizar un Abono de la factura de la serie A, pero con signo negativo (-A)

Y por último, generamos una factura definitiva, con los datos que debería de haber tenido la factura inicial (Serie R)

Es decir: A ====> -A =====> R

A la hora del envío a Batuz, y cumplimentar el bloque de datos de Rectificativa (FacturaRectificativaType) , ¿dónde se tienen que cumplimentar dichos datos, ¿En la factura con serie "-A"? ¿O en la factura de la serie "R"? ¿O en ambas, haciendo referencia a la original?

Porque a priori, la factura "-A", que también habría que remitir a Batuz, está rectificando lo que había en la de la serie A, pero en definitiva la factura de la serie R, es la factura que rectifica la original.

¿Podéis indicarme cómo lo estáis haciendo?

Muchas gracias.
Un saludo

Hola JoseLeeTo,

Hay dos formas de registrar una factura rectificativa por sustitución.
Una forma es informando de los datos a rectificar y los datos rectificados (sin emitir ninguna factura negativa)
La otra forma es emitiendo una factura negativa (de la misma serie) y a continuación una rectificativa sin datos a rectificar, sólo con datos rectificados.

Lo tienes explicado en la pregunta 48 de https://www.batuz.eus/es/preguntas-f...egunta_7398227

Saludos

ermendalenda 22-03-2022 12:29:15

Cita:

Empezado por Sistel (Mensaje 546145)
Hola JoseLeeTo,

Hay dos formas de registrar una factura rectificativa por sustitución.
Una forma es informando de los datos a rectificar y los datos rectificados (sin emitir ninguna factura negativa)
La otra forma es emitiendo una factura negativa (de la misma serie) y a continuación una rectificativa sin datos a rectificar, sólo con datos rectificados.

Lo tienes explicado en la pregunta 48 de https://www.batuz.eus/es/preguntas-f...egunta_7398227

Saludos

También puedes crear una factura rectificativa por diferencias. En la cual solo creas una factura con serie propia y los datos con signo contrario rectificados y haciendo referencia a la factura rectificada

JoseLeeTo 22-03-2022 15:15:38

Cita:

Empezado por Sistel (Mensaje 546145)
Hola JoseLeeTo,

Hay dos formas de registrar una factura rectificativa por sustitución.
Una forma es informando de los datos a rectificar y los datos rectificados (sin emitir ninguna factura negativa)
La otra forma es emitiendo una factura negativa (de la misma serie) y a continuación una rectificativa sin datos a rectificar, sólo con datos rectificados.

Lo tienes explicado en la pregunta 48 de https://www.batuz.eus/es/preguntas-f...egunta_7398227

Saludos

Muchas gracias por la explicación. Creo que me ha quedado claro.
Sólamente tendría que poner los datos de la rectificativa en la nueva que se genere, en signo positivo. La que tiene signo negativo, no se considera rectificativa y es una factura normal, sin datos de referencia a la factura original.

JoseLeeTo 22-03-2022 15:16:35

Cita:

Empezado por ermendalenda (Mensaje 546146)
También puedes crear una factura rectificativa por diferencias. En la cual solo creas una factura con serie propia y los datos con signo contrario rectificados y haciendo referencia a la factura rectificada

Muchísimas gracias por tu ayuda.

Saludos.

josevalle 23-03-2022 01:21:02

Curl
 
Cita:

Empezado por josevalle (Mensaje 546087)
Hola!:

Aunque he visto 3 mensajes con ejemplos de uso de curl ninguno me funciona, me da error en el certificado. ¿Puedes publicar ejemplos de como utilizas curl?. Muchas gracias.

Hola, lo estaba probando con la versión de Curl que viene con W10. Ahora he bajado de la web y con los mismos certificados funcionan perfectamente.

edari 23-03-2022 09:25:48

De vuelta por aquí tras un impas :cool:
Me estoy empezando a meter con el tema del Zuzendu (Alava) y tengo algunas dudas
Sabéis si hay por algún sitio ejemplo de los xml (subsansar, modificar y anulación)? Lo de tirar del XSD para "sacar" el fichero nunca se me dió bien...
Los ficheros Zuzendu de Alava y Guipúzcoa son iguales? Tiene pinta de que sí pero quiero estar seguro
Cuando tenga preparar los ficheros para subirlos sería con un "curl" más o menos configurado como lo hacemos para subir las facturas?

¿Qué diferencia hay entre el fichero anular una factura desde el Zuzendu de anulación (-<T:SubsanacionAnulacionTicketBAI xmlns:T="urn:ticketbai:zuzendu-baja">) y anularla desde el xml de anulación que ofrecía el propio Ticket bai (<T:AnulaTicketBai xmlns:T="urn:ticketbai:anulacion">)?



Gracias de nuevo

Neftali [Germán.Estévez] 23-03-2022 12:13:35

Cita:

Empezado por edari (Mensaje 546159)
¿Qué diferencia hay entre el fichero anular una factura desde el Zuzendu de anulación (-<T:SubsanacionAnulacionTicketBAI xmlns:T="urn:ticketbai:zuzendu-baja">) y anularla desde el xml de anulación que ofrecía el propio Ticket bai (<T:AnulaTicketBai xmlns:T="urn:ticketbai:anulacion">)?

Diría que uno es anular un Alta de factura (desde TBAI), y el otro anular una Subsanación (desde Zuzendu).
(Es lo que me dice la lógica, si no es así comentadlo)

edari 23-03-2022 14:52:53

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 546166)
Diría que uno es anular un Alta de factura (desde TBAI), y el otro anular una Subsanación (desde Zuzendu).
(Es lo que me dice la lógica, si no es así comentadlo)


Mersi de primeras

andalusoft 23-03-2022 18:10:44

Errores Envios
 
Hola buenas tardes.

Estoy desarrollando el módulo ticketbai para usarlo en varias aplicaciones, conseguí hacerlo funcionar el sábado, y desde ayer ya no funciona con los archivos firmados desde autofirma, y ya no entiendo por donde viene los tiros, este es el mensaje que les he mandado a batuz y sus respuestas.

---------------------------------------------------

Hola buenas.

Hace unos días atrás las respuestas fueron correctas, pero ahora aparece errores de políticas de firmas, adjunto más abajo el mensaje de respuesta tanto de cabecera como xml:

CABECERA HTTP:

Código:

HTTP/1.1 200 OK
Date: Tue, 22 Mar 2022 12:06:31 GMT
Server: JBoss-EAP/7
Content-Encoding: gzip
eus-bizkaia-n3-identificativo: 14713370
X-Powered-By: Undertow/1
eus-bizkaia-n3-mensaje-respuesta: Todos los registros incluidos en la petición son incorrectos.
eus-bizkaia-n3-codigo-respuesta: B4_1000002
eus-bizkaia-n3-numero-registro:
eus-bizkaia-n3-tipo-respuesta: Incorrecto
Content-Type: application/xml;charset=UTF-8
Content-Length: 769
Connection: close

XML:

Código:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<ns2:LROEPF140IngresosConFacturaConSGAltaRespuesta xmlns:ns2="">
<Cabecera>
<Modelo>140</Modelo>
<Capitulo>1</Capitulo>
<Subcapitulo>1.1</Subcapitulo>
<Operacion>A00</Operacion>
<Version>1.0</Version>
<Ejercicio>2022</Ejercicio>
<ObligadoTributario>
<NIF>99980348S</NIF>
<ApellidosNombreRazonSocial>cjaLjhWQcW xDwGWR3HTv PuGEQj2EYK</ApellidosNombreRazonSocial>
</ObligadoTributario>
</Cabecera>
<Registros>
<Registro>
<Identificador>
<IDFactura>
<SerieFactura>FA</SerieFactura>
<NumFactura>000001</NumFactura>
<FechaExpedicionFactura>22-03-2022</FechaExpedicionFactura>
</IDFactura>
</Identificador>
<SituacionRegistro>
<EstadoRegistro>Incorrecto</EstadoRegistro>
<CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
<DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(EPES: N ALGORITMO: rsa-sha512:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )</DescripcionErrorRegistroES>
<DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(EPES: N ALGORITMO: rsa-sha512:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )</DescripcionErrorRegistroEU>
</SituacionRegistro>
</Registro>
<Registro>
<Identificador>
<IDFactura>
<SerieFactura>FA</SerieFactura>
<NumFactura>000002</NumFactura>
<FechaExpedicionFactura>22-03-2022</FechaExpedicionFactura>
</IDFactura>
</Identificador>
<SituacionRegistro>
<EstadoRegistro>Incorrecto</EstadoRegistro>
<CodigoErrorRegistro>B4_2000070</CodigoErrorRegistro>
<DescripcionErrorRegistroES>La firma no cumple los requisitos de la política de firma TicketBAI.(EPES: N ALGORITMO: rsa-sha512:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )</DescripcionErrorRegistroES>
<DescripcionErrorRegistroEU>Sinadurak ez ditu betetzen TicketBAI sinaduraren politikaren baldintzak.(EPES: N ALGORITMO: rsa-sha512:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )</DescripcionErrorRegistroEU>
</SituacionRegistro>
</Registro>
</Registros>
</ns2:LROEPF140IngresosConFacturaConSGAltaRespuesta>

Saludos y gracias.

-------------------------------------------

Kaixo,

Cuando se devuelve el error "Todos los registros incluidos en la petición son incorrectos", significa que el fichero enviado se ha podido procesar y todos los registros incluidos en el mismo son incorrectos. Para poder saber el estado concreto de cada uno de las anotaciones enviadas, el sistema devuelve un fichero de respuesta. En ese fichero se indica, por cada anotación enviada, su estado (correcto, aceptado con errores o incorrecto), y, en caso de no ser correcto, se devuelve el código y descripción del error que se ha producido para dicha anotación.

Os recordamos que la aplicación cliente debe recuperar la respuesta proporcionada por el servicio, es decir, el fichero de respuesta y realizar un tratamiento de la misma, incluyendo la gestión de los errores.

El detalle sobre cómo recoger el fichero de respuesta está disponible en el capítulo "6.2.2 Cuerpo de la respuesta" del documento "Especificaciones del envío masivo del LROE" que encontrareis en el apartado "Documentación técnica" de la web de Batuz

Hemos revisado la petición que nos habéis indicado. El error que está devolviendo en el fichero de respuesta es: "La firma no cumple los requisitos de la política de firma TicketBAI.(EPES: N ALGORITMO: rsa-sha512:2048 POLITICA: N CERTIFICADO_ADMITIDO: S )"

El error que os está devolviendo indica que la firma no es de tipo Xades-EPES y que la política de firma no ha sido correctamente definida.

Toda la información relativa a la validación de la firma está disponible la web de Batuz, concretamente en el "Capítulo 3. Validación de la firma electrónica" del documento "Especificaciones funcionales y técnicas del sistema TicketBAI" ubicado en el apartado "Documentación técnica".

Agur bat,

-----------------------------------------

Hola buenas.

Los archivos se firman con el Autofirma 1.7.2 con la siguiente sintaxis de líneas de comandos:

Código:

autofirmaCommandLine sign -format xades -xml -i C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XML -o C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XSIG -store pkcs12:"CERTIFICADO.p12" -password "111111" -filter "ALATZ APARICIO DIAZ" -config "format=XAdES Enveloped\npolicyIdentifier=\npolicyIdent ifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=\npolicyIdentifierHashAlgorithm=\npolicyQualifier="
Adjunto el resultado de la firma:

Código:

<?xml version="1.0" encoding="UTF-8"?><T:TicketBai xmlns:T="urn:ticketbai:emision">
  <Cabecera>
    <IDVersionTBAI>1.2</IDVersionTBAI>
  </Cabecera>
  <Sujetos>
    <Emisor>
      <NIF>99980348S</NIF>
      <ApellidosNombreRazonSocial>PuGEQj2EYK cjaLjhWQcW xDwGWR3HTv</ApellidosNombreRazonSocial>
    </Emisor>
    <Destinatarios>
      <IDDestinatario>
        <NIF>00000000T</NIF>
        <ApellidosNombreRazonSocial>CLIENTE DE PRUEBAS</ApellidosNombreRazonSocial>
        <CodigoPostal>11406</CodigoPostal>
        <Direccion>PLAZA DEL CABALLO S/N</Direccion>
      </IDDestinatario>
    </Destinatarios>
    <VariosDestinatarios>S</VariosDestinatarios>
    <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
  </Sujetos>
  <Factura>
    <CabeceraFactura>
      <SerieFactura>FA</SerieFactura>
      <NumFactura>000001</NumFactura>
      <FechaExpedicionFactura>23-03-2022</FechaExpedicionFactura>
      <HoraExpedicionFactura>12:43:27</HoraExpedicionFactura>
      <FacturaSimplificada>N</FacturaSimplificada>
      <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
    </CabeceraFactura>
    <DatosFactura>
      <FechaOperacion>23-03-2022</FechaOperacion>
      <DescripcionFactura>FACTURA FA/000001</DescripcionFactura>
      <DetallesFactura>
        <IDDetalleFactura>
          <DescripcionDetalle>ARTICULO DE PRUEBAS</DescripcionDetalle>
          <Cantidad>2.00</Cantidad>
          <ImporteUnitario>150.00</ImporteUnitario>
          <Descuento>60.00</Descuento>
          <ImporteTotal>290.40</ImporteTotal>
        </IDDetalleFactura>
      </DetallesFactura>
      <ImporteTotalFactura>290.40</ImporteTotalFactura>
      <Claves>
        <IDClave>
          <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
        </IDClave>
      </Claves>
    </DatosFactura>
    <TipoDesglose>
      <DesgloseFactura>
        <Sujeta>
          <NoExenta>
            <DetalleNoExenta>
              <TipoNoExenta>S1</TipoNoExenta>
              <DesgloseIVA>
                <DetalleIVA>
                  <BaseImponible>240.00</BaseImponible>
                  <TipoImpositivo>21.00</TipoImpositivo>
                  <CuotaImpuesto>50.40</CuotaImpuesto>
                  <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                  <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                  <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                </DetalleIVA>
              </DesgloseIVA>
            </DetalleNoExenta>
          </NoExenta>
        </Sujeta>
      </DesgloseFactura>
    </TipoDesglose>
  </Factura>
  <HuellaTBAI>
    <Software>
      <LicenciaTBAI>TBAIBI00000000PRUEBA</LicenciaTBAI>
      <EntidadDesarrolladora>
        <NIF>A99800005</NIF>
      </EntidadDesarrolladora>
      <Nombre>SOFTWARE GARANTE TICKETBAI PRUEBA</Nombre>
      <Version>1.0</Version>
    </Software>
  </HuellaTBAI>
<ds:Signature xmlns:ds="" Id="Signature-04246c4c-66f8-4233-8886-353a5deea0cc-Signature"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm=""/><ds:SignatureMethod Algorithm=""/><ds:Reference Id="Reference-6e1de8b8-dd6e-4287-a38d-4ec2f279f62c" URI=""><ds:Transforms><ds:Transform Algorithm=""/><ds:Transform Algorithm="/><ds:Transform Algorithm=""><ds:XPath xmlns:ds="">not(ancestor-or-self::ds:Signature)</ds:XPath></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm=""/><ds:DigestValue>8dsar9jo2QB2TFtPuOCeazg5ew15HsqsAGWZJdRCbW09mFT6viGcuPgEruG1iBvs+wjEl/ELGIVn0ZT6YxGvhg==</ds:DigestValue></ds:Reference><ds:Reference Type=""#Signature-04246c4c-66f8-4233-8886-353a5deea0cc-SignedProperties"><ds:DigestMethod Algorithm=""/><ds:DigestValue>yPWP754zr30aas2HzlvPos1s2DyebvFi5My0O3k8FmAW32ZqCrSlhAOdCJQN4VVFUpOm/wreJIvRsQlPlV4eRw==</ds:DigestValue></ds:Reference><ds:Reference URI="#Signature-04246c4c-66f8-4233-8886-353a5deea0cc-KeyInfo"><ds:DigestMethod Algorithm=""/><ds:DigestValue>I4pq2NeJ5ZnyJe1kL5ALLTxqChfyvJzLOkFrTUXbh15fDXY5mixheHeaBkkJ+GYNZShzVE4MJpA3zIm/dAAuiA==</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="Signature-04246c4c-66f8-4233-8886-353a5deea0cc-SignatureValue">Fxf6qpsKFN4D2iJ6kzeV4+8yo4bpFVBi13mChfgDKbsMHyGlNJbaR36SJ0fZm9Y2KaLVfh1aNzCxU2Kzz5PXT7tp9KbuvcRiglZaN8JSK+UOvjhFJU8lRTO+8yy+C1mA1d3mP3yPL726O+sqIQWA6CEeOHEwYzpvyIx0cyZk6bLR9c0pAa+aKNHL8GPosmXti6u4IfINzbZE4rXy6IkenjRrZhI6LNW+WYIh4Y6QGMtKqUA/ezHX9/OIditFDuNZndikbOjCfhCJlmvmhHstWgU8nxTUqYHFI4QCBdJew5rtibpFc3SdwXO+BP+Y7T6GXADe2WAJIgfptSAUJkz9dA==</ds:SignatureValue><ds:KeyInfo Id="Signature-04246c4c-66f8-4233-8886-353a5deea0cc-KeyInfo"><ds:X509Data><ds:X509Certificate>MIIH+TCCBeGgAwIBAgICDbAwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAkVTMRQwEgYDVQQKEwtJWkVOUEUgUy5BLjE6MDgGA1UECxMxTlpaIFppdXJ0YWdpcmkgcHVibGlrb2EgLSBDZXJ0aWZpY2FkbyBwdWJsaWNvIFNDSTE2MDQGA1UEAxMtREVTQVJST0xMTyAtIENBIGRlIENpdWRhZGFub3MgeSBFbnRpZGFkZXMgKDMpMB4XDTIxMDcxNjA3MzkyMFoXDTI1MDcxNjA3MzkyMFowgZwxCzAJBgNVBAYTAkVTMTgwNgYDVQQLDC9BdXRvbm9tbyB6aXVydGFnaXJpYSAtIENlcnRpZmljYWRvIGRlIGF1dMOzbm9tbzEcMBoGA1UEAwwTQUxBVFogQVBBUklDSU8gRElBWjEOMAwGA1UEKgwFQUxBVFoxETAPBgNVBAQMCEFQQVJJQ0lPMRIwEAYDVQQFEwkzMjExMzcwM0UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCa2IHOyV90GzXcbPj71Fxc54qpbtKzm3b92ymiV7ja+Bxx3OShN3iibk3Zm/E/1LAJAIoA2mYUJLyE7ALzNnswNGWiOl9KjT7Qz9Q0aorLFhiO6BxVpZczUJKURMdDi0jvTzpyRZUkBxxKl5tn/zpOUiC7p63TjtEArA+twC9YlIUYsySE2/pzmwyjm2FC/b6RmrLNBtM9jiLRT8VI9H58vYuzPfAyGX7qLamikOT71CV/MNoN+0H6HL+Rdbz4yTndud7xj/lsSLMxY8/G6dkFW0CsxJqquxtl6c8P9PnSZpePvbHh1E5DAe422wvJBgJ26pJc47kdkudxm5lyDnhAgMBAAGjggNGMIIDQ
jCBxwYDVR0SBIG/MIG8hhVodHRwOi8vd3d3Lml6ZW5wZS5jb22BD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UEChM+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBBBgNVBAkTOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAxMCBWaXRvcmlhLUdhc3RlaXowDgYDVR0PAQH/BAQDAgXgMB8GA1UdJQQYMBYGCCsGAQUFBwMCBgorBgEEAYI3CgMMMB0GA1UdDgQWBBS6ZEnJC4a9Fko2NUqCzSAbS46AMDAfBgNVHSMEGDAWgBQ9wWI3LsWheZQZDIaQmOAafHWsUDCCASAGA1UdIASCARcwggETMIIBDwYLKwYBBAHzOWkCBwIwgf8wJQYIKwYBBQUHAgEWGWh0dHA6Ly93d3cuaXplbnBlLmNvbS9jcHMwgdUGCCsGAQUFBwICMIHIDIHFQmVybWVlbiBtdWdhayBlemFndXR6ZWtvIHd3dy5pemVucGUuY29tIFppdXJ0YWdpcmlhbiBrb25maWFudHphIGl6YW4gYXVycmV0aWsga29udHJhdHVhIGlyYWt1cnJpLiBMaW1pdGFjaW9uZXMgZGUgZ2FyYW50aWFzIGVuIHd3dy5pemVucGUuY29tIENvbnN1bHRlIGVsIGNvbnRyYXRvIGFudGVzIGRlIGNvbmZpYXIgZW4gZWwgY2VydGlmaWNhZG8wgaMGCCsGAQUFBwEBBIGWMIGTMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcGRlcy5pemVucGUuY29tMGoGCCsGAQUFBzAChl5odHRwOi8vd3d3Lml6ZW5wZS5ldXMvY29udGVuaWRvcy9pbmZvcm1hY2lvbi9jYXNfaXplbnBlL2VzX2Nhcy9hZGp1bnR
vcy9DQ0VFTlJfY2VydF9zaGEyNTYuY3J0MDsGA1UdHwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmxkZXMuaXplbnBlLmNvbS9jZ2ktYmluL2NybHNjaW5yMjANBgkqhkiG9w0BAQsFAAOCAgEAUb9kCJARu8UijEhJODm3oCv0HTmxZOvujgJ6PGd9/uHdCciAQy2RKTBL7EZkUzCF56fYnej+jFHik7n/z1hxvTgg/DwP1DJhHsElYk64ZU2lxs+LRxt9T8MP2yXogorW7Vpp7OCRUYxUOAWVrYTCNoQDPk4RyL0amdxaYp7mzfjtFd1kk/FO2XcM0Oloo66ivh5jLMLEYClbz+WxPQj4y/5C8TCmW5v4UfD+VgA9zgQSf7znaamz28ciWygmxQWYi8eDQf92SI/AaX1ywLpLXJf5TOE6ziHgt8+EcNog3xlWUjQeiuT3P/s61cFtWFxx/mf0C/4ZSvSZoCTcmG5IYkhUvTrEYgptMElufzkCrK1mGFJGYAjSGeCx4IoDG3NZW51IKVmTgJit+dEP1hCFb00dJOlLSeMuLbJproQBgN58sd7LTnJoGt8UD5ORTUFsYjOTQgO27oevmspKNTLbtXGmHbtb/7yvgYT6s6QfUNb/wN13exoLey9Yq5xJVf+KRMAJ0SZg8wTx9bwfcoMZi+H71NuO8B5Hi6xJq/h7UWBfb4uJuF7nBDEY6Bc74W/cJxXxFh6qiwRzhoh87//T+tdaSCtJCz3ljsr3bWULROLKaOvRmS8gbsiDuAgND96EMyQc5Q9EoW58ZjgcRQknJnii6HESqmDdNYwC0QmhU/g=</ds:X509Certificate><ds:X509Certificate>MIIHRDCCBS6gAwIBAgIQNhDQHXTKLYVMvAqmmWARaTALBgkqhkiG9w0BAQswRTELMAkGA1UEBhMCRVMxFDASBgNVBAoMC0laRU5QRSBTLkEuMSAwHgYDVQQDDBdJemVucGUu
Y29tIC0gREVTQVJST0xMTzAeFw0xMDEwMTgwODUxNTBaFw0zNzExMjgyMzAwMDBaMIGXMQswCQYDVQQGEwJFUzEUMBIGA1UEChMLSVpFTlBFIFMuQS4xOjA4BgNVBAsTMU5aWiBaaXVydGFnaXJpIHB1Ymxpa29hIC0gQ2VydGlmaWNhZG8gcHVibGljbyBTQ0kxNjA0BgNVBAMTLURFU0FSUk9MTE8gLSBDQSBkZSBDaXVkYWRhbm9zIHkgRW50aWRhZGVzICgzKTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALm/RkkDNnS5LskKL3q2F4h8WbJrtvEnaCiNX6Z/kGMvKdNW751xFQI15xJz0JinkCFoZCW5DIxUEFDRsd4Ce523B2eq883LzR1VXMqWJT5KkA6e3PJeLbN3DflQXXEujA+6CMWAgT0BVH87L723dd0En1sfTQNfklNyAcCnfWOQWrSFmCch0iwO+Hn0E9oJkW/gPJ4J2AkuDJAz1uH2fezUjHjr4nuoazvKhGr2wuDwWcYegzqNAdVN9CjzG2k7oXuObT4JHVaeKmXGiDj1/MHOkVw+UGSl2bFFgagG6DUZlq/FG95Au+yQm0h19Bmw8DrKpZCOND166xSbSXHS5PQ7/wFLVfMqUedda1unxjyFvuEdU6qxfYLeg9mAEH3DdIzA5a/8r0S8efaXG9heLzanXmADA46AfIt3fgfiRXunQX4cJB/qatm6+R+DDkR0Q+USVue8zaiqLzaFUUKhq4QL5zJ3hvzUc9Qwj8xne+gjcB8S4ezdmqygNBz8wWvUzV5Wj+1380cBV4ZCzYeBwHjA6I5cMy7+8eg/NwwFN44prujtU/S8BgC1+5iaMNmQ0utQ7NjHeiAJtTHOOohWS76LEVwEUvXz/ZXT5jPRdBO/lKrda+Pn8YVJ+VTBMheTt6CPwBZl+jtYFrROtv51u/LX/jMzxrpAoTfZNdPRefclAg
MBAAGjggHfMIIB2zCBxwYDVR0RBIG/MIG8hhVodHRwOi8vd3d3Lml6ZW5wZS5jb22BD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UEChM+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBBBgNVBAkTOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAxMCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFD3BYjcuxaF5lBkMhpCY4Bp8daxQMB8GA1UdIwQYMBaAFLO6Zcf9Q8Xb/IfZ9X/DnjSb+2tNMDoGA1UdIAQzMDEwLwYEVR0gADAnMCUGCCsGAQUFBwIBFhlodHRwOi8vd3d3Lml6ZW5wZS5jb20vY3BzMDoGCCsGAQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3BkZXMuaXplbnBlLmNvbTo4MDk0MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmxkZXMuaXplbnBlLmNvbS9jZ2ktYmluL2FybDIwCwYJKoZIhvcNAQELA4ICAQClCHRCvJVWshZanxAFEjURfgvFlmSlm3XawZB1bKm6gyvZiSSlCRODXySgC/IXSUU0K1rSFS1lEr6iKJ3cs1fMlBdtuYhYAYYKTqpiy7yAUzFZ4T/Y9LsgmnVb7fapzvqfVNDVHIqkkiFih72UqWuEi4wZRYPzA1GFlLmvuq0n8JLGn6Ik3ZU8GdzgqIUoOxFKfouNaIbdmKkZS+9SKcwwVg2UpRt+e4vUd9Ev7ZdTxRTaK07dt/ukTAZDk+P/ssZEaFl+8SZE/7n3iTp9kfmThoNFvQ66e3YWZqoeJxpmuNuFNXB4rR4cAwb/DzUT2hPUySCS
h0l3jLQyR7VzMNzSvO53fYpQtrwpFqdYcrALHLF4JwR2l4Ycu06aWdtHO4mGv96CxnU9hdyfiMulcEfsydnTomEAfPc5pRaD25ysFghESqc0xOstKwNHsL6KAYgzNIsTphADMVWXEXOQsVHShWx3ETAqOKPMUzVOHV84//fgy+Z7RGUqPMjoUp6dszQaseSgxZnpPhqK/kQj4Xfmniy3XKoa/k4bk/PKHAQQMJoFyboJplVjRJlNxnokco+tAn90EcxRq/3lau1Pki6asSzXBSDA+fpyposfG72O9ioNcxGhA3Fhne96KgIXtJM02udQW7nMiDAZqt1W9uq9SgycVeCsHlE6nv+vNjQIdg==</ds:X509Certificate><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>wmtiBzslfdBs13Gz4+9RcXOeKqW7Ss5t2/dspole42vgccdzkoTd4om5N2ZvxP9SwCQCKANpmFCS8hOwC8zZ7MDRlojpfSo0+0M/UNGqKyxYYjugcVaWXM1CSlETHQ4tI7086ckWVJAccSpebZ/86TlIgu6et047RAKwPrcAvWJSFGLMkhNv6c5sMo5thQv2+kZqyzQbTPY4i0U/FSPR+fL2Lsz3wMhl+6i2popDk+9QlfzDaDftB+hy/kXW8+Mk53bne8Y/5bEizMWPPxunZBVtArMSaqrsbZenPD/T50maXj72x4dROQwHuNtsLyQYCduqSXOO5HZLncZuZcg54Q==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object><xades
:QualifyingProperties xmlns:xades="" Id="Signature-04246c4c-66f8-4233-8886-353a5deea0cc-QualifyingProperties" Target="#Signature-04246c4c-66f8-4233-8886-353a5deea0cc-Signature" xmlns:ds=""><xades:SignedProperties Id="Signature-04246c4c-66f8-4233-8886-353a5deea0cc-SignedProperties"><xades:SignedSignatureProperties><xades:SigningTime>2022-03-23T12:43:30+01:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm=""/><ds:DigestValue>9XurYPGMdIbK++9gyr72te/tx/yLzYCgtm7XOmdEcLYGs3v0f5Wndp1bd7EALe7TS4Q856ksPN+DnYEasRkVug==</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=DESARROLLO - CA de Ciudadanos y Entidades (3), OU=NZZ Ziurtagiri publikoa - Certificado publico SCI, O=IZENPE S.A., C=ES</ds:X509IssuerName><ds:X509SerialNumber>3504</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-6e1de8b8-dd6e-4287-a38d-4ec2f279f62c"><xades:Description/><xades:ObjectIdentifier><xades:Identifier Qualifier="OIDAsURN">urn:oid:1.2.840.10003.5.109.10</xades:Identifier><xades:Description/></xades:ObjectIdentifier><xades:MimeType>text/xml</xades:MimeType><xades:Encoding/></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></T:TicketBai>

El fin de semana pasada funcionaba correctamente, no comprendemos lo que haya podido cambiar y dejado de funcionar.

Saludos.

Hasta aquí el intercambio de correos, por lo visto estos es un cachondeo :mad::mad::mad:

Nessie 23-03-2022 18:27:21

Certificado de dispositivo en servidor compartido
 
Hola,


en primer lugar muchas gracias a este foro por la información que se ha publicado en él. Gracias, gracias, gracias.


En segundo lugar, una duda sobre el certificado de dispositivo.



Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?


Muchas gracias.
Un saludo.
Nessie.

ermendalenda 23-03-2022 19:22:35

Cita:

Empezado por Nessie (Mensaje 546187)
Hola,


en primer lugar muchas gracias a este foro por la información que se ha publicado en él. Gracias, gracias, gracias.


En segundo lugar, una duda sobre el certificado de dispositivo.



Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?


Muchas gracias.
Un saludo.
Nessie.

No entiendo bien la pregunta, no puedes acceder al certificado o al número de. Serie.
En todo caso tiene pinta de permisos. Cuando haces un php que te funciona en un lado y en otro no, suele ser eso.

ermendalenda 23-03-2022 20:01:56

Código:

autofirmaCommandLine sign -format xades -xml -i C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XML -o C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XSIG -store pkcs12:"CERTIFICADO.p12" -password "111111" -filter "ALATZ APARICIO DIAZ" -config "format=XAdES Enveloped\npolicyIdentifier=\npolicyIdent ifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=\npolicyIdentifierHashAlgorithm=\npolicyQualifier="
* Después de -XAdES Enveloped- falta un espacio
* En filter es mas seguro poner -filter subject.contains: CIF/NIF/NIE
* Para la ubicacion del certificado te aconsejo el path completo
* No se si es necesario pero yo pongo otros datos que no has puesto:
ejemplo \npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf
etc


Prueba así:
Cita:

autofirmaCommandLine sign -forrmat xades -xml -i C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XML -o C:\TicketBAI\Facturas\Ventas\Factura_Venta_FA_000001.XSIG -store pkcs12:"Path:\....\CERTIFICADO.p12" -password "111111" -filter subject.contains: CIF(Letra y numeros solo) -config "format=XAdES Enveloped \npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf \npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es=
\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf"

Sistel 23-03-2022 21:57:20

Cita:

Empezado por Nessie (Mensaje 546187)
...
En segundo lugar, una duda sobre el certificado de dispositivo.

Tengo desarrollada una aplicación de facturación en PHP. Está alojada en un servidor compartido (en GoDaddy). A la hora de pedir el certificado de dispositivo, no puedo acceder a ningún número de serie del servidor. ¿A alguien le ha sucedido algo parecido? ¿Cómo lo habéis resuelto?
....

Hola Nessie,

Ojo porque me parece que lo que estás empleando es lo que TicketBAI llama "Arquitecturas con firma en servidor".
Y, en esos casos, no es válido emplear certificado de dispositivo.

Saludos

Nessie 24-03-2022 10:25:27

Cita:

Empezado por ermendalenda (Mensaje 546190)
No entiendo bien la pregunta, no puedes acceder al certificado o al número de. Serie.
En todo caso tiene pinta de permisos. Cuando haces un php que te funciona en un lado y en otro no, suele ser eso.


Hola Ermendalenda.
Gracias por la respuesta. No me extraña que no entendieras bien la pregunta: estaba muy mal redactada. La reformulo aquí:


El sistema de facturación que desarrollo es una aplicación web desarrollada en PHP.
Desde el ordenador cliente se genera la factura. Esa factura se envía al servidor. En el servidor se firma, se genera el XML, se guarda y se envía a hacienda.
Por lo tanto, entiendo que el certificado para realizar la firma ha de estar físicamente en el servidor.
Quiero usar un certificado de dispositivo.
Voy a la web Izenpe para obtener un certificado de dispositivo.
En Izenpe me piden el fabricante y el número de serie del dispositivo desde donde se van a emitir/firmar las facturas.
Al estar la aplicación alojada en un servidor compartido (un hosting en GoDaddy), no puedo acceder a esa información.


Leo en el Anexo III (p.7) de la documentación de Diputación de Gipuzkoa:


4.2.2 Arquitecturas con firma en servidor
Se podrá firmar con: certificado de persona física, certificado de representante de
entidad, sello de empresa, certificado de autónomo-autónoma o certificado de
dispositivo.



¿Hay alguien en la misma tesitura? ¿Alguien está usando un certificado de dispositivo en un servidor compartirdo?



Muchas gracias.
Buen día.

Nessie.

Nessie 24-03-2022 10:27:52

Cita:

Empezado por Sistel (Mensaje 546195)
Hola Nessie,

Ojo porque me parece que lo que estás empleando es lo que TicketBAI llama "Arquitecturas con firma en servidor".
Y, en esos casos, no es válido emplear certificado de dispositivo.

Saludos


Hola, Sistel,
gracias por la respuesta.


Leo en el Anexo III (p.7) de la documentación de Diputación de Gipuzkoa:

4.2.2 Arquitecturas con firma en servidor

[...]

Se podrá firmar con: certificado de persona física, certificado de representante de
entidad, sello de empresa, certificado de autónomo-autónoma o certificado de
dispositivo
.


Gracias.
Un saludo.
Nessie.

keys 24-03-2022 13:07:09

Hola a todos.

Tengo una duda sobre los suplidos. En teoria en hacienda dicen que no es objeto de TBAI, es decir no hay que enviarlos. ¿Que estáis haciendo vosotros?, los estáis enviando como operaciones no sujetas o no los estáis enviando.

ermendalenda 24-03-2022 13:40:09

Cita:

Empezado por Nessie (Mensaje 546199)
Hola Ermendalenda.
Gracias por la respuesta. No me extraña que no entendieras bien la pregunta: estaba muy mal redactada. La reformulo aquí:


El sistema de facturación que desarrollo es una aplicación web desarrollada en PHP.
Desde el ordenador cliente se genera la factura. Esa factura se envía al servidor. En el servidor se firma, se genera el XML, se guarda y se envía a hacienda.
Por lo tanto, entiendo que el certificado para realizar la firma ha de estar físicamente en el servidor.
Quiero usar un certificado de dispositivo.
Voy a la web Izenpe para obtener un certificado de dispositivo.
En Izenpe me piden el fabricante y el número de serie del dispositivo desde donde se van a emitir/firmar las facturas.
Al estar la aplicación alojada en un servidor compartido (un hosting en GoDaddy), no puedo acceder a esa información.


Leo en el Anexo III (p.7) de la documentación de Diputación de Gipuzkoa:


4.2.2 Arquitecturas con firma en servidor
Se podrá firmar con: certificado de persona física, certificado de representante de
entidad, sello de empresa, certificado de autónomo-autónoma o certificado de
dispositivo.



¿Hay alguien en la misma tesitura? ¿Alguien está usando un certificado de dispositivo en un servidor compartirdo?



Muchas gracias.
Buen día.

Nessie.

Hola buenas, claro, tienes un problema si quieres usar un servidor externo que además no es tuyo y quieres usar certificado de dispositivo,para ello el propietario del servidor tendria que solicitar dicho certificado, ¿Que haria yo?:
*Pide el certificado de dispositivo del equipo que hace la llamada.
*Aloja un php en el servidor mandale el xml y el certificado de dispostivo de cada equipo local(que puede estar alojado en una carpeta en vez de enviarlo en cada llamada), al enviar la llamada tienes que especificar con que certificado firrmar.

Des esta forrma estas usando un servicio externo pero en realidad estas firmando con tu dispositivo.


Por otro lado si quieres asegurarte un pelín más:

*La llamada al php que te devuelva el xml firmado y desde el equipo local haces el envio y guarda en el que quieras, mientras puedas dar acceso..


Saludos

ermendalenda 24-03-2022 15:27:11

Cita:

Empezado por ermendalenda (Mensaje 546204)
Hola buenas, claro, tienes un problema si quieres usar un servidor externo que además no es tuyo y quieres usar certificado de dispositivo,para ello el propietario del servidor tendria que solicitar dicho certificado, ¿Que haria yo?:
*Pide el certificado de dispositivo del equipo que hace la llamada.
*Aloja un php en el servidor mandale el xml y el certificado de dispostivo de cada equipo local(que puede estar alojado en una carpeta en vez de enviarlo en cada llamada), al enviar la llamada tienes que especificar con que certificado firrmar.

Des esta forrma estas usando un servicio externo pero en realidad estas firmando con tu dispositivo.


Por otro lado si quieres asegurarte un pelín más:

*La llamada al php que te devuelva el xml firmado y desde el equipo local haces el envio y guarda en el que quieras, mientras puedas dar acceso..


Saludos

Para la firma en la nube es habitual usar servidores de nube donde se alojan los certificados para realizar firmas, pero con una seguridad para evitar que se acceda a esos certificados por otras personas, HSM (Hardware Security Module),

Sistel 24-03-2022 15:50:03

Cita:

Empezado por Nessie (Mensaje 546199)
...
Leo en el Anexo III (p.7) de la documentación de Diputación de Gipuzkoa:
4.2.2 Arquitecturas con firma en servidor
Se podrá firmar con: certificado de persona física, certificado de representante de
entidad, sello de empresa, certificado de autónomo-autónoma o certificado de
dispositivo.

...

Hola Nessie,

https://www.gipuzkoa.eus/documents/2.../Anexo+III.pdf
Página 5:
Cita:

4.2.2. Arquitecturas con firma en servidor.
Se considera arquitectura con firma en servidor, cuando el software TicketBAI que
realiza la firma se encuentra ubicado en un dispositivo distinto al dispositivo de
facturación desde el que se accede al mismo. Por tanto, el dispositivo de facturación
cliente accede de forma remota a otro dispositivo para realizar la firma.
De forma complementaria, si la emisión de facturas o justificantes se realiza en
procesos desasistidos (batch) se considera “arquitectura con firma en servidor”.
Se podrá firmar con: certificado de persona física, certificado de representante de
entidad, sello de empresa o certificado de autónomo o autónoma.
En este caso, no se permite la firma con certificado de dispositivo.
Saludos

Sistel 24-03-2022 15:59:58

Hola,

Como ampliación a lo anterior, recibí email de TicketBAI-Gipuzkoa en el que se me indicaba:

Cita:

Cambios en Certificado de dispositivo
En breve se va a publicar la nueva política de firma. Que incluye el cambio de certificado de
dispositivo.
Cambios en el certificado de dispositivo:
 Se podrá solicitar identificando un punto de facturación en lugar del número de serie
del dispositivo.
 Es posible la solicitud de certificados en bloque (hasta 100 certificados). Si desea
solicitar certificados de dispositivo en bloque puede recurrir al buzón de contacto
TicketBAI de IZENPE.
 Se podrá solicitar antes de disponer del dispositivo concreto donde ira instalado
Se podrá usar en arquitecturas en servidor (excepto Tercero/Destinatario)
Pero no he sabido nada más del tema.

Hice la consulta a TicketBAI-Bizkaia (Batuz) sobre si en este territorio también se va a permitir la firma en servidor con certificado de dispositivo.
Estoy a la espera de respuesta.

Saludos

thinkows 24-03-2022 18:10:20

Ejemplos
 
1 Archivos Adjunto(s)
Cita:

Empezado por edari (Mensaje 546159)
De vuelta por aquí tras un impas :cool:
Me estoy empezando a meter con el tema del Zuzendu (Alava) y tengo algunas dudas
Sabéis si hay por algún sitio ejemplo de los xml (subsansar, modificar y anulación)? Lo de tirar del XSD para "sacar" el fichero nunca se me dió bien...
Los ficheros Zuzendu de Alava y Guipúzcoa son iguales? Tiene pinta de que sí pero quiero estar seguro
Cuando tenga preparar los ficheros para subirlos sería con un "curl" más o menos configurado como lo hacemos para subir las facturas?

¿Qué diferencia hay entre el fichero anular una factura desde el Zuzendu de anulación (-<T:SubsanacionAnulacionTicketBAI xmlns:T="urn:ticketbai:zuzendu-baja">) y anularla desde el xml de anulación que ofrecía el propio Ticket bai (<T:AnulaTicketBai xmlns:T="urn:ticketbai:anulacion">)?



Gracias de nuevo

Hola, te adjunto en el zip ejemplos de cada tipo, yo he enviado a Guipuzkoa y Alava sin problemas.
Un Saludo

Nessie 24-03-2022 23:11:58

Cita:

Empezado por Sistel (Mensaje 546206)
Hola Nessie,

Página 5:


Saludos


Hola Sistel,
gracias por la respuesta.


Creo que el documento al que haces referencia es un Anexo III antiguo. En la web de TicketBai lo tienen archivado en Versiones Anteriores.


En la última versión del Anexo III, en el punto 4.2.2. pone que sí se puede usar un certificado de dispositivo en el servidor.


Un saludo y gracias.

Nessie 24-03-2022 23:14:26

Cita:

Empezado por Sistel (Mensaje 546207)
Hola,

Como ampliación a lo anterior, recibí email de TicketBAI-Gipuzkoa en el que se me indicaba:

Pero no he sabido nada más del tema.

Hice la consulta a TicketBAI-Bizkaia (Batuz) sobre si en este territorio también se va a permitir la firma en servidor con certificado de dispositivo.
Estoy a la espera de respuesta.

Saludos


Gracias, Sistel.
Sí, puede ser interesante que, en lugar de con el número de serie, se identifique al dispositivo con un número de punto de facturación.


Un saludo.
Seguimos.

Nessie 24-03-2022 23:17:33

Cita:

Empezado por ermendalenda (Mensaje 546204)
Hola buenas, claro, tienes un problema si quieres usar un servidor externo que además no es tuyo y quieres usar certificado de dispositivo,para ello el propietario del servidor tendria que solicitar dicho certificado, ¿Que haria yo?:
*Pide el certificado de dispositivo del equipo que hace la llamada.
*Aloja un php en el servidor mandale el xml y el certificado de dispostivo de cada equipo local(que puede estar alojado en una carpeta en vez de enviarlo en cada llamada), al enviar la llamada tienes que especificar con que certificado firrmar.

Des esta forrma estas usando un servicio externo pero en realidad estas firmando con tu dispositivo.


Por otro lado si quieres asegurarte un pelín más:

*La llamada al php que te devuelva el xml firmado y desde el equipo local haces el envio y guarda en el que quieras, mientras puedas dar acceso..


Saludos


Hola Ermendalenda,
gracias por la respuesta.



Sí, algo así estaba pensando yo. Lo que no sé es si pondrán pegas al firmar en un servidor con un certificado de dispositivo que corresponde a la máquina cliente. (Técnicamente funciona, ya lo tengo programado)



Veremos.
Un saludo y gracias.

keys 25-03-2022 08:53:27

Hola a todos.

Perdonar pero sigo con mi lucha con los suplidos. He realizado la consulta a cada hacienda y en Gipuzkoa me han contestado una cosa y en Bizkaia otra.

Bizkaia
Cita:

1. En el caso que la factura solo esté constituida por el suplido no habría obligación de expedir factura por lo que no deberá de cumplir con TicketBai.

2. Si en la factura se documenta un suplido y además otras operaciones: esa factura sí que irá con TicketBAI. La parte correspondiente al suplido se identificará como importe no sujeto a IVA. Como causa de no sujeción se marcará la clave “OT”. El suplido sí que forma parte del total de la factura. La factura se mandará al subcapítulo 1.1 del LROE (factura con software garante). En la anotación de dicho registro el usuario puede especificar que el ingreso en IRPF es diferente a la suma de los conceptos de la factura. Es decir, que si el importe sujeto a IVA de la factura es 100 y el suplido es 50 (total factura 150), se debe indicar en la anotación que el ingreso a efectos del IRPF es 100. En cuanto al LROE modelo 140, la parte del suplido se tendrá que informar también en el capítulo de provisiones de fondos y suplidos.

Gipuzkoa

Cita:

Los suplidos no es un campo que haya que informar en el XML. El suplido es un pago por cuenta del cliente a un tercero y por tanto no forma parte del ImporteTotalFactura ni de la Base Imponible.
En el caso en el que, en una factura, por ejemplo, además de los honorarios de un profesional se documentase un suplido, el importe del suplido no formaría parte de la base imponible del IVA pero estas facturas deben cumplir igualmente los requisitos TicketBAI. En este caso, cuando los suplidos vayan encuadrados en una factura por prestación de servicios, se podrá disponer de un campo para los suplidos después del Importe Total Factura, donde deberá informarse de los suplidos que contenga la factura.

En cambio, si únicamente se quisiera documentar un suplido, se trataría de una operación en la que no se documenta ninguna entrega de bienes ni prestación de servicios, ya que en estos casos el empresario actuaría como mero intermediario, satisfaciendo sumas de dinero del cliente a un tercero por mandato expreso. En este último caso, no habría obligación de expedir factura de acuerdo con lo dispuesto en el Reglamento de facturación, pudiéndose documentar la operación en un recibo u otro justificante. Por tanto, un documento en el que solo se informe de un suplido quedaría fuera del ámbito de aplicación de TicketBAI.

Alguien se aclara?

Alkavanyatur 25-03-2022 12:29:51

Hola

Estoy desarrollando un solución para TBAI y me he encontrado con un problemilla que quizás no tiene solución.

Lo comento por si a alguien le ha pasado lo mismo.

Los tiempos de respuesta de la llamada a generar la factura para obtener el QR son de aproximadamente 2 segundos en desarrollo. Por las características del negocio en el que me muevo es posible que se realicen 1000 operaciones por minuto o incluso más.

Las facturas tienen que ser secuenciales. Así que este problema limita totalmente ya que es imposible que funcione a esa velocidad.


¿Ideas? Decir que me he quedado sin conexión a internet cuando se de la casuística? :D

DemonAscun 25-03-2022 14:36:15

Porque tardas 2 segundos en obtener el QR? Nosotros trabajamos también con grandes volúmenes de facturas y el proceso que consume más tiempo es el firmado de la factura al tener que encolar las facturas para conservar el encadenamiento. Una vez firmada ya la factura la generación del QR es instantáneo e independiente del envío.

keys 25-03-2022 14:37:01

Cita:

Empezado por Alkavanyatur (Mensaje 546224)
Hola

Estoy desarrollando un solución para TBAI y me he encontrado con un problemilla que quizás no tiene solución.

Lo comento por si a alguien le ha pasado lo mismo.

Los tiempos de respuesta de la llamada a generar la factura para obtener el QR son de aproximadamente 2 segundos en desarrollo. Por las características del negocio en el que me muevo es posible que se realicen 1000 operaciones por minuto o incluso más.

Las facturas tienen que ser secuenciales. Así que este problema limita totalmente ya que es imposible que funcione a esa velocidad.


¿Ideas? Decir que me he quedado sin conexión a internet cuando se de la casuística? :D

ME imagino que como todos el cuello de botella lo tienes a la hora de firmar el fichero xml. Si es así lo único que puedes hacer es cambiar la forma de firmar los xml, si usas el programa de hacienda este es un poco lento en firmar. Hasta que no se firma uno no se puede hacer el siguiente factura, ya que depende de esta.

Sistel 25-03-2022 16:12:33

Cita:

Empezado por Alkavanyatur (Mensaje 546224)
Hola

Estoy desarrollando un solución para TBAI y me he encontrado con un problemilla que quizás no tiene solución.

Lo comento por si a alguien le ha pasado lo mismo.

Los tiempos de respuesta de la llamada a generar la factura para obtener el QR son de aproximadamente 2 segundos en desarrollo. Por las características del negocio en el que me muevo es posible que se realicen 1000 operaciones por minuto o incluso más.

Las facturas tienen que ser secuenciales. Así que este problema limita totalmente ya que es imposible que funcione a esa velocidad.


¿Ideas? Decir que me he quedado sin conexión a internet cuando se de la casuística? :D

Hola Alkavanyatur,

2 segundos es una barbaridad de tiempo para generar y firmar el XML.
Sólo se me ocurren varios casos en que se pudiese tardar tanto:

1- Que la generación y firma del XML la hagas sobre un servidor en Internet que esté situado en la superficie de la Luna (justo un ping de 2 segundos)
2- Que utilices para la firma el software Autofirma-Tortuga del Ministerio de Hacienda (un auténtico ejemplo de software ultralento)
3- Que para el proceso utilices red con protocolo TCP/Paloma_mensajera_lenta :D

Si quieres un sistema de firma rápida en red, te basta con montar un simple microordenador Raspberry PI de unos 30€ en tu propia red local con el software de firma firmador.php de nuestro colega (y nunca bien alabado) Bilbur.
Con este sistema, lo normal será que no pases de 10 milisegundos en tiempo para obtener la firma.

Con 1.000 facturas por minuto el Raspberry Pi estará aburrido por tan poca carga de trabajo :D

Saludos

ermendalenda 25-03-2022 16:14:04

Cita:

Empezado por Alkavanyatur (Mensaje 546224)
Hola

Estoy desarrollando un solución para TBAI y me he encontrado con un problemilla que quizás no tiene solución.

Lo comento por si a alguien le ha pasado lo mismo.

Los tiempos de respuesta de la llamada a generar la factura para obtener el QR son de aproximadamente 2 segundos en desarrollo. Por las características del negocio en el que me muevo es posible que se realicen 1000 operaciones por minuto o incluso más.

Las facturas tienen que ser secuenciales. Así que este problema limita totalmente ya que es imposible que funcione a esa velocidad.


¿Ideas? Decir que me he quedado sin conexión a internet cuando se de la casuística? :D

Lo más parecido que me ha pasado es al meter un bmp en un pdf de más de 4 megas. Mira si la generación del qr puedes reducir le el tamaño, suelen tener varias opciones de tamaño para cuando el contenido es grabde

joselugrk 25-03-2022 17:45:03

Petición de Consulta a Bizkaia
 
Hola y muchas gracias por vuestra colaboración,

Estoy haciendo pruebas con el envío de XMLs de Consultas a Bizkaia y me da el siguiente error:

Date: Fri, 25 Mar 2022 16:38:49 GMT
Server: JBoss-EAP/7
Content-Encoding: gzip
eus-bizkaia-n3-identificativo: nnnnnnnnnn (ID de la operación)
X-Powered-By: Undertow/1
eus-bizkaia-n3-mensaje-respuesta: =?windows-1252?Q?Operaci=F3n_err=F3nea.?=
eus-bizkaia-n3-codigo-respuesta: B4_1000025
eus-bizkaia-n3-numero-registro:
eus-bizkaia-n3-tipo-respuesta: Incorrecto
Content-Type: application/xml; charset=UTF-8
Content-Length: 0

El XML que envío es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<lrpficfcsgcp:LROEPF140IngresosConFacturaConSGConsultaPeticion xmlns:lrpficfcsgcp="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PF_140_1_1_Ingresos_ConfacturaConSG_ConsultaPeticion_V1_0_0.xsd">
<Cabecera>
<Modelo>140</Modelo>
<Capitulo>1</Capitulo>
<Subcapitulo>1.1</Subcapitulo>
<Operacion>C00</Operacion>
<Version>1.0</Version>
<Ejercicio>2022</Ejercicio>
<ObligadoTributario>
<NIF>-----------</NIF> (NIF y Nombre y apellidos que me han otorgado para pruebas)
<ApellidosNombreRazonSocial>nombre apellido1 apellido2</ApellidosNombreRazonSocial>
</ObligadoTributario>
</Cabecera>
<FiltroConsultaIngresosConSG>
<CabeceraFactura>
<SerieFactura>VT21</SerieFactura>
</CabeceraFactura>
<NumPaginaConsulta>1</NumPaginaConsulta>
</FiltroConsultaIngresosConSG>
</lrpficfcsgcp:LROEPF140IngresosConFacturaConSGConsultaPeticion>

Estoy viendo los ejemplos que tienen ellos y no consigo ver donde se encuentra el fallo. ¿Problemas de ...?

Saludos y buen fin de semana,
Joselu

ermendalenda 25-03-2022 18:18:54

Cita:

Empezado por joselugrk (Mensaje 546230)
Hola y muchas gracias por vuestra colaboración,

Estoy haciendo pruebas con el envío de XMLs de Consultas a Bizkaia y me da el siguiente error:

Date: Fri, 25 Mar 2022 16:38:49 GMT
Server: JBoss-EAP/7
Content-Encoding: gzip
eus-bizkaia-n3-identificativo: nnnnnnnnnn (ID de la operación)
X-Powered-By: Undertow/1
eus-bizkaia-n3-mensaje-respuesta: =?windows-1252?Q?Operaci=F3n_err=F3nea.?=
eus-bizkaia-n3-codigo-respuesta: B4_1000025
eus-bizkaia-n3-numero-registro:
eus-bizkaia-n3-tipo-respuesta: Incorrecto
Content-Type: application/xml; charset=UTF-8
Content-Length: 0

El XML que envío es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<lrpficfcsgcp:LROEPF140IngresosConFacturaConSGConsultaPeticion xmlns:lrpficfcsgcp="https://www.batuz.eus/fitxategiak/batuz/LROE/esquemas/LROE_PF_140_1_1_Ingresos_ConfacturaConSG_ConsultaPeticion_V1_0_0.xsd">
<Cabecera>
<Modelo>140</Modelo>
<Capitulo>1</Capitulo>
<Subcapitulo>1.1</Subcapitulo>
<Operacion>C00</Operacion>
<Version>1.0</Version>
<Ejercicio>2022</Ejercicio>
<ObligadoTributario>
<NIF>-----------</NIF> (NIF y Nombre y apellidos que me han otorgado para pruebas)
<ApellidosNombreRazonSocial>nombre apellido1 apellido2</ApellidosNombreRazonSocial>
</ObligadoTributario>
</Cabecera>
<FiltroConsultaIngresosConSG>
<CabeceraFactura>
<SerieFactura>VT21</SerieFactura>
</CabeceraFactura>
<NumPaginaConsulta>1</NumPaginaConsulta>
</FiltroConsultaIngresosConSG>
</lrpficfcsgcp:LROEPF140IngresosConFacturaConSGConsultaPeticion>

Estoy viendo los ejemplos que tienen ellos y no consigo ver donde se encuentra el fallo. ¿Problemas de ...?

Saludos y buen fin de semana,
Joselu

La verdad que no he llegado ahí, pero parece que no corresponde llo que estas poniendo en <FiltroConsultaIngresosConSG> con lo pone en el xsd de la definición correctamente:
<complexType name="FiltroConsultaIngresosConFacturaType">
<sequence>
<element name="Destinatario" type="tiposcomplejos:DocumentoType" minOccurs="0"/>
<element name="CabeceraFactura" type="tiposconsulta:CabeceraFacturaConsultaType" minOccurs="0"/>
<element name="Epigrafe" type="tiposbasicos:stringMax7Digits" minOccurs="0"/>
<element name="Estado" type="enum:EstadoRegistroConsultaEnum" minOccurs="0"/>
<element name="NumPaginaConsulta" type="tiposbasicos:intPositiveType"/>
</sequence>
</complexType>

chenech 27-03-2022 01:42:51

XML de ejemplo
 
Buenas tardes, alguien tiene un XML de una factura de ejemplo antes de firmar y no le importaria compartir?
Mil gracias...

Al intentar con AutoFirma me da el siguiente mensaje:

[Fatal Error] :15:32: Byte no vßlido 1 de la secuencia UTF-8 de 1 bytes
<afirma><result>false</result><response><msg>Error en la operacion de firma: Las firmas XAdES Enveloped solo pueden realizarse sobre datos XML</msg></response></afirma>

Creo que me falta algo en el pie del XML referente a Signatures.
Ayuda, gracias.

ermendalenda 27-03-2022 11:25:11

Cita:

Empezado por Nessie (Mensaje 546217)
Hola Ermendalenda,
gracias por la respuesta.



Sí, algo así estaba pensando yo. Lo que no sé es si pondrán pegas al firmar en un servidor con un certificado de dispositivo que corresponde a la máquina cliente. (Técnicamente funciona, ya lo tengo programado)



Veremos.
Un saludo y gracias.

No creo que se metan demasiado en detalles tan discutibles.

Neftali [Germán.Estévez] 28-03-2022 08:14:43

1 Archivos Adjunto(s)
Cita:

Empezado por chenech (Mensaje 546257)
Al intentar con AutoFirma me da el siguiente mensaje:

[Fatal Error] :15:32: Byte no vßlido 1 de la secuencia UTF-8 de 1 bytes
<afirma><result>false</result><response><msg>Error en la operacion de firma: Las firmas XAdES Enveloped solo pueden realizarse sobre datos XML</msg></response></afirma>

Revisa que no estés generando el fichero con la codificación incorrecta (UTF8 sin BOM), lo del Byte 1 es sospehoso en ese sentido.
La correcta es UTF8.
De todas formas te adjunto un XML sin firmar.

Sistel 28-03-2022 09:35:14

Signo en descuentos globales
 
Hola,

Como ya habíamos comentado en otras ocasiones, para registrar un descuento global de la factura (por ejemplo un descuento pronto pago), es preciso añadir una línea de detalle para ese descuento.
En esa línea de detalle hay que poner, en Cantidad, -1 y en ImporteUnitario el importe, en positivo, correspondiente al descuento, antes de IVA.
Quedamos en que en ImporteUnitario no se permitían importes negativos.

Leo en https://web.araba.eus/documents/1050...ES+%281%29.pdf
Cita:

Para incluir un descuento total de la factura (por ejemplo: pronto pago) incluya una línea que
recoja en el ImporteTotal el importe del descuento en negativo.
Ejemplo: Si queremos aplicar un descuento pronto pago de un 5% a una venta con <Importeunitario>
de 600 y <Importe total>de 726, añadiríamos una nueva línea de detalle del siguiente modo:
<DescripcionDetalle>Descuento pronto pago</DescripcionDetalle>
<Cantidad>1.00</Cantidad>
<ImporteUnitario>-30.00</ImporteUnitario> (sin IVA. En negativo. Se ha calculado 600* 5% = 30)
<ImporteTotal>-36.30</ImporteTotal> (con IVA 21%)
Extrañado de esta peculiaridad de Álava, les he consultado y me han respondido:
Cita:

Realmente en Araba nos da igual que indiquéis la "Cantidad" negativa e "Importe unitario" positivo o "Cantidad" positiva e "Importe unitario" negativo, lo que importa es que el resultado de la misma sea negativo. Es decir, que el "Importe Total" sea negativo, ya que se está indicando un descuento.
Podéis enviarlo como mejor le venga a vuestro software para que os valga para todas las administraciones.
Así que sí, Álava se desmarca admitiendo ImporteUnitario en negativo.
Curioso que cada una de las tres Haciendas Forales tenga criterios diferentes para TicketBAI.

Saludos

Neftali [Germán.Estévez] 28-03-2022 11:05:14

Cita:

Empezado por Sistel (Mensaje 546261)
Así que sí, Álava se desmarca admitiendo ImporteUnitario en negativo.
Curioso que cada una de las tres Haciendas Forales tenga criterios diferentes para TicketBAI.
Saludos

Me da la impresión de que los más restrictivos y "especilitos" son los de Vizcaya.
La actitud en este caso de Álava me parece bastante correcta y sensata (y pensando un poco en nosotros):
"Podéis enviarlo como mejor le venga a vuestro software para que os valga para todas las administraciones."




La franja horaria es GMT +2. Ahora son las 18:56:55.

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