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)

MikusMikae 14-06-2021 12:24:01

Buenas,


Estamos utilizando chilkat para firmar los xml, al firmar tiquets consecutivos, genera la misma firma en cada uno de ellos y al publicar en el servicio web, nos dice ya estan registrados en el sistema.
Pero son tiquets distintos.


¿Que puede ser?


Saludos.

Neftali [Germán.Estévez] 14-06-2021 17:20:55

Cita:

Empezado por MikusMikae (Mensaje 541317)
Estamos utilizando chilkat para firmar los xml, al firmar tiquets consecutivos, genera la misma firma en cada uno de ellos y al publicar en el servicio web, nos dice ya estan registrados en el sistema.
Pero son tiquets distintos.
¿Que puede ser?


Revisar el XML antes de firmarlo.
¿Seguro que el numero de documento no es el mismo en todos ellos?
Facturas con números distintos no deberían dar duplicados en el sistema.
Ojo, que si estáis haciendo pruebas, puede ser que anteriormente ya hayáis subido pruebas con el mismo número.

tejano 14-06-2021 17:55:46

Hola, alguien sabe cuando tardan en decir si el registro del Software Garante es correcto o hay que añadir más documentación?
Desde el día 1 de Junio que lo mande de nuevo la documentación a la DFB , todavía no nos han contestado. Me gustaría tenerlo antes de irme de vacaciones para estar más relajado.
Graciasssss

luismartin 15-06-2021 10:51:47

primera factura
 
Hola a todos. He conseguido que el entorno de pruebas de Gipuzkoa me acepte los envíos de facturas , pero hay un detalle importante que me falta:

Quizás es una tontería :confused:, pero no sé qué es lo que habría que hacer. El envío de la primera factura a enviar por este sistema falla, simplemente, porque, o no hay factura anterior de la cual obtener el identificador TBAI para añadir en la actual, o se iba a comenzar a usar ese sistema a partir de la actual, con lo cual, la anterior no tiene dicho identificador TBAI. Obtengo lo siguiente:
Cita:

Falta dato obligatorio o el dato es erróneo [SignatureValueFirmaFacturaAnterior]
¿Qué firma anterior si no la hay?

¿Sabéis alguien qué hacer en este primer caso? En el resto no tengo problema, porque aunque el envío de la primera factura me falla, al realizar dicho envío, se le genera su identificador TBAI, el cual sirve ya para la siguiente, y así sucesivamente.

luismartin 15-06-2021 10:57:36

Cita:

Empezado por tejano (Mensaje 541322)
Hola, alguien sabe cuando tardan en decir si el registro del Software Garante es correcto o hay que añadir más documentación?
Desde el día 1 de Junio que lo mande de nuevo la documentación a la DFB , todavía no nos han contestado. Me gustaría tenerlo antes de irme de vacaciones para estar más relajado.
Graciasssss

Hola tejano. Si te refieres a registrar vuestra empresa y software en la DFB para la emisión de facturas por el sistema TBAI, yo no hice esa gestión, lo hizo mi jefa, pero te puedo decir que no le costó apenas tiempo en que nos incluyeran. Yo insistiría porque 15 días sin contestación me parece mucho.

yaedev 15-06-2021 12:04:48

Cita:

Empezado por luismartin (Mensaje 541336)
Hola a todos. He conseguido que el entorno de pruebas de Gipuzkoa me acepte los envíos de facturas , pero hay un detalle importante que me falta:

Quizás es una tontería :confused:, pero no sé qué es lo que habría que hacer. El envío de la primera factura a enviar por este sistema falla, simplemente, porque, o no hay factura anterior de la cual obtener el identificador TBAI para añadir en la actual, o se iba a comenzar a usar ese sistema a partir de la actual, con lo cual, la anterior no tiene dicho identificador TBAI. Obtengo lo siguiente: ¿Qué firma anterior si no la hay?

¿Sabéis alguien qué hacer en este primer caso? En el resto no tengo problema, porque aunque el envío de la primera factura me falla, al realizar dicho envío, se le genera su identificador TBAI, el cual sirve ya para la siguiente, y así sucesivamente.

Hola:

Según la documentación el subnodo: Encadenamiento/FacturaAnterior es opcional. Ya que cuando se envíe la 1ª factura será ninguna. Aún no lo he probado, pero entiendo que no debes añadirlo. Ya que si se añade y lo cumplimentas vacío, debe ser cuando da error.

luismartin 15-06-2021 12:46:10

Cita:

Empezado por yaedev (Mensaje 541338)
Hola:

Según la documentación el subnodo: Encadenamiento/FacturaAnterior es opcional. Ya que cuando se envíe la 1ª factura será ninguna. Aún no lo he probado, pero entiendo que no debes añadirlo. Ya que si se añade y lo cumplimentas vacío, debe ser cuando da error.

Gracias yaedev! No me había percatado de ello. Lo pruebo a ver.

tejano 15-06-2021 14:51:33

Cita:

Empezado por luismartin (Mensaje 541337)
Hola tejano. Si te refieres a registrar vuestra empresa y software en la DFB para la emisión de facturas por el sistema TBAI, yo no hice esa gestión, lo hizo mi jefa, pero te puedo decir que no le costó apenas tiempo en que nos incluyeran. Yo insistiría porque 15 días sin contestación me parece mucho.

Gracias Luismartin, a ver si hay suerte y me dicen algo en breve, porque me imagino que andarán con bastante trabajo.

Edgar7 15-06-2021 16:31:36

Buenas tardes,

Una consulta que a lo mejor a estas alturas es un poco rara pero tengo un lio bastante grande con estos temas:

1.- En el TicketBAI, el nodo Emisor en el que se indica el campo NIF y el campo ApellidosNombreRazonSocial, entiendo que estos campos han de ser los del usuario que usa el software, ¿el usuario se tiene que dar de alta en algún sitio para poder enviar los ticketBAI o no es necesario que ello hagan nada?

2.- En el caso de Bizkaia, ¿esos datos deben ser los mismos que se envían en el json de la cabecera, en los campos NIF y NRS?
{"con":"LROE","apa":"1.1","inte":{"nif": " ","nrs": " "},"drs":{"mode":" ","ejer":" "}}

3.- ¿Es necesario dar de alta el programa en todas las haciendas, o con darle de alta en una vale para todas?

4.- ¿Qué pasos se han de seguir para dar de alta un programa adaptado para TicketBAI en las haciendas?

Gracias

Un saludo

Edgar7 15-06-2021 16:34:41

Cita:

Empezado por luismartin (Mensaje 541340)
Gracias yaedev! No me había percatado de ello. Lo pruebo a ver.

Hola,

Si no me equivoco es como dice yaedev (o así lo hice yo), en caso de ser la primera factura no es necesario enviar el nodo y en cambio en la respuesta te vendrá lo siguiente:

<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<ResultadosValidacion>
<Codigo>010</Codigo>
<Descripcion>Aviso: Posible error de encadenamiento</Descripcion>
<Azalpena>Abisua: Posible da Kateamendu errorea gertatu izatea</Azalpena>
</ResultadosValidacion>

Espero que os sirva.

Un saludo.

Neftali [Germán.Estévez] 16-06-2021 08:19:09

Cita:

Empezado por Edgar7 (Mensaje 541345)
1.- En el TicketBAI, el nodo Emisor en el que se indica el campo NIF y el campo ApellidosNombreRazonSocial, entiendo que estos campos han de ser los del usuario que usa el software, ¿el usuario se tiene que dar de alta en algún sitio para poder enviar los ticketBAI o no es necesario que ello hagan nada?

2.- En el caso de Bizkaia, ¿esos datos deben ser los mismos que se envían en el json de la cabecera, en los campos NIF y NRS?
{"con":"LROE","apa":"1.1","inte":{"nif": " ","nrs": " "},"drs":{"mode":" ","ejer":" "}}

3.- ¿Es necesario dar de alta el programa en todas las haciendas, o con darle de alta en una vale para todas?

4.- ¿Qué pasos se han de seguir para dar de alta un programa adaptado para TicketBAI en las haciendas?


1. Los del usuario. Creo que los usuarios no. Esos datos ya los tienen la hacienda Vasca.
2. Si, los mismos datos de arriba (pag. 18 del documento Batuz_LROE_Especificaciones_Envío_Masivo_V1_0_7.pdf).
3. Como empresa desarrolladora de software, debes gestionarlo en ambas.

Band 16-06-2021 10:39:52

Cita:

Empezado por Edgar7 (Mensaje 541346)
Hola,

Si no me equivoco es como dice yaedev (o así lo hice yo), en caso de ser la primera factura no es necesario enviar el nodo y en cambio en la respuesta te vendrá lo siguiente:

<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<ResultadosValidacion>
<Codigo>010</Codigo>
<Descripcion>Aviso: Posible error de encadenamiento</Descripcion>
<Azalpena>Abisua: Posible da Kateamendu errorea gertatu izatea</Azalpena>
</ResultadosValidacion>

Espero que os sirva.

Un saludo.


Buenas,

exacto, para la primera factura no hace falta enviar el nodo y yo leí en la documentación de ticket bai (no recuerdo donde) que era normal que en la primera factura que se envía siempre salte el "warning" del posible error de encadenamiento.
Como en las siguientes ya se añade el nodo con el correspondiente trozo de firma de la factura anterior ya no saldrá el warning y la respuesta será de este tipo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:TicketBaiResponse xmlns:ns2="urn:ticketbai:emision">
<Salida>
<IdentificadorTBAI>TBAI-B12345679-250320-03t/OA9KRVuno-176</IdentificadorTBAI>
<FechaRecepcion>16-06-2021 10:01:58</FechaRecepcion>
<Estado>00</Estado>
<Descripcion>Recibido</Descripcion>
<Azalpena>Jasota</Azalpena>
<CSV>TBAI40ac884e-cd6d-4d6e-98db-19d47fb530d9</CSV>
</Salida>
</ns2:TicketBaiResponse>

Eric Mtz 16-06-2021 13:51:37

Hola a todos, ¿Cómo lo lleváis?, parece que poco a poco vamos avanzando entre todos, ¡Ánimo ostia!
Bueno... me habéis pillado, hasta aquí la parte positiva del mensaje, como ya imaginaréis tengo un problema, aunque ésta vez para variar es de ámbito teórico, en fin, allá va:

Estoy redactando la memoria descriptiva del software para solicitar el certificado y el caso es que exigen una descripción detallada del proceso de firma... Mmm... Entiendo... ¿¡Qué!?

Es decir "tipos de certificados admitidos" es algo que puedo medio concretar, pero ¿Arquitectura de la firma?... ¡No tengo ni idea!.
Sé que utilizo algo llamado Xades, que los certificados se almacenan en variables de tipo X509Certificate2, y que al realizar la firma se ejecutan doscientas funciones distintas pero ya está, no sabría concretar nada más, pero piden y cito textualmente "Una descripción del proceso de firma en función del tipo de certificado utilizado".

Bueno señores, recuperando la cordura, me da la sensación de que es mas sencillo de lo que lo estoy planteando, aunque realmente no estoy seguro ya que todo este tema de los certificados me pilla un poco verde.

Como siempre cualquier ayuda es bien recibida, gracias de antemano a todos los que andáis por aquí resolviendo dudas, esta comunidad es esencial para cualquiera que quiera implementar el TicketBAI y salir con vida del intento.

Un saludo.

Edgar7 16-06-2021 19:06:35

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 541349)
1. Los del usuario. Creo que los usuarios no. Esos datos ya los tienen la hacienda Vasca.
2. Si, los mismos datos de arriba (pag. 18 del documento Batuz_LROE_Especificaciones_Envío_Masivo_V1_0_7.pdf).
3. Como empresa desarrolladora de software, debes gestionarlo en ambas.

Muchas gracias Neftali! A ver si vamos saliendo del túnel poco a poco entre todos.

Sistel 17-06-2021 00:04:28

Cita:

Empezado por Eric Mtz (Mensaje 541351)
...
Estoy redactando la memoria descriptiva del software para solicitar el certificado y el caso es que exigen una descripción detallada del proceso de firma... Mmm... Entiendo... ¿¡Qué!?
Es decir "tipos de certificados admitidos" es algo que puedo medio concretar, pero ¿Arquitectura de la firma?... ¡No tengo ni idea!.
Sé que utilizo algo llamado Xades, que los certificados se almacenan en variables de tipo X509Certificate2, y que al realizar la firma se ejecutan doscientas funciones distintas pero ya está, no sabría concretar nada más, pero piden y cito textualmente "Una descripción del proceso de firma en función del tipo de certificado utilizado".
...

Hola Eric Mtz,

Lo tienes todo en el documento de Especificaciones funcionales y técnicas del sistema TicketBAI en la página 8, punto 5, donde dice:
A la declaración de alta deberá adjuntarse la memoria descriptiva a la que se refiere el número 5.º del apartado anterior, en la que deberán describirse los siguientes extremos:

Fíjate en los puntos:
1) Tipo de software (según las categorías descritas en el artículo 2 de la presente Orden Foral): aplicación de escritorio y/o aplicación con arquitectura distribuida
Debes indicar si tu aplicación es de escritorio (local) o es aplicación con arquitectura distribuida (servidor)

3) Proceso de firma de los ficheros de alta y de anulación de operación con software garante, indicando en particular, los tipos de certificados electrónicos que pueden ser utilizados por el software garante para el proceso de firma
Debes indicar cómo será el proceso de firma y el tipo de certificados que usará la aplicación (de representante, de persona física, de autónomo, de dispositivo o sello de empresa)

Hoy he presentado yo la solicitud de la primera de mis aplicaciones de software garante.
Con un par de folios para la memoria descriptiva (indicando cada uno de los puntos de esa página 8, punto 5) me ha sobrado espacio.
A ver si no me ponen ninguna pega.

Saludos

tejano 17-06-2021 11:09:57

Buenos días,

Me surge una duda, y no sé si os ha pasado a vosotros. En el caso de las autofacturas por parte de nuestros clientes, en el código QR que debemos poner como Serie, lo digo porque el cliente únicamente da un número de factura y no se sabe cual es la serie y dentro del código QR va la serie "&s=&nf=B1159766001"

Gracias

yaedev 17-06-2021 11:43:23

Echando un vistazo también a la parte burocrática y legal sobre los requisitos y obligaciones del software garante, quería hacer un checklist de acciones permitidas o no, que se me pueden colar. Hay que restringir muchas las acciones que hasta ahora se podía "hacer" en un software.... Bueno, en parte a algun@s ya nos va a servir para la futura ley nacional, el que no se pueda mangonear las facturaciones, aunque no sea por un fin ilícito, sino por la costumbre de editar o borrar en vez de anular o rectificar.


Leyendo del boletín oficial, el software garante de cumplir con ciertas condiciones:

Cita:

"Que el software cumple de forma incondicionada sin salvedad ni reserva alguna, todas las condiciones y requisitos establecidos en los artículos 122 bis y 113 bis de las Normas Forales del Impuesto sobre Sociedades y del Impuesto sobre la Renta de las Personas Físicas, respectivamente, relativos al sistema informático garante de la trazabilidad e inviolabilidad de los registros que documenten las entregas de bienes y prestaciones de servicios, y en la presente Orden Foral."
link: https://www.batuz.eus/fitxategiak/ba...fff1ab3ce3c5e5

Cita:

Art. 122 bis. Obligación de utilizar un sistema informático que garantice la integridad, conservación, trazabilidad, inviolabilidad y remisión de los ficheros que documenten las entregas de bienes y prestaciones de servicios.(...)
Link: https://www.iberley.es/legislacion/n...gicas-26852041



Que está permitido y qué no:
  • No se pueden modificar ni eliminar facturas / tickets emitidos. Si la ha fastidiado, obligar al usuario a crear una factura de anulación o de rectificación según proceda el caso.
  • Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?
  • Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?
  • No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....
  • En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Eric Mtz 17-06-2021 15:10:01

Cita:

Empezado por Sistel (Mensaje 541354)
Hola Eric Mtz,

Lo tienes todo en el documento de Especificaciones funcionales y técnicas del sistema TicketBAI en la página 8, punto 5, donde dice:
A la declaración de alta deberá adjuntarse la memoria descriptiva a la que se refiere el número 5.º del apartado anterior, en la que deberán describirse los siguientes extremos:

Fíjate en los puntos:
1) Tipo de software (según las categorías descritas en el artículo 2 de la presente Orden Foral): aplicación de escritorio y/o aplicación con arquitectura distribuida
Debes indicar si tu aplicación es de escritorio (local) o es aplicación con arquitectura distribuida (servidor)

3) Proceso de firma de los ficheros de alta y de anulación de operación con software garante, indicando en particular, los tipos de certificados electrónicos que pueden ser utilizados por el software garante para el proceso de firma
Debes indicar cómo será el proceso de firma y el tipo de certificados que usará la aplicación (de representante, de persona física, de autónomo, de dispositivo o sello de empresa)

Hoy he presentado yo la solicitud de la primera de mis aplicaciones de software garante.
Con un par de folios para la memoria descriptiva (indicando cada uno de los puntos de esa página 8, punto 5) me ha sobrado espacio.
A ver si no me ponen ninguna pega.

Saludos

Gracias por la ayuda Sistel, ya lo he enviado, a ver si los dos tenemos suerte y nos lo aceptan.

Neftali [Germán.Estévez] 17-06-2021 17:18:39

Cita:

Empezado por yaedev (Mensaje 541360)
Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?

Creo que el envío debe ser "lo antes posible", por lo tanto no se a qué te refieres con "que quede almacenado en el PC" cuando no es inminente.
De todas formas, la idea es que cuando generas el ticket debes firmarlo, porque necesitas el TBAI (incluye la firma) y a su vez ese debe ir impreso en el ticket que se lleva el cliente. Quieren asegurar que cuando el cliente sale con el ticket/factura ya la has firmado.
Por lo tanto no puedes volver a generar el TicketBAI, porque no sería el mismo que el original.
Si los has perdido, debeás justificarlo por los cauces adecuados para ello.

Cita:

Empezado por yaedev (Mensaje 541360)
Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?

En teoría debes poder modificar cualquier cosa de la factura/ticket, que no afecte a los campos del TicketBAI. Por poner un ejemplo, si tienes un campo descripción, puedes modificar y guardar, siempre que no sean datos del TBAI.

Cita:

Empezado por yaedev (Mensaje 541360)
No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....

Los cobros/Pagos/vencimientos de la factura son independientes de la propia factura.
Que cobres el total o parte de ella no debería afectar a la factura.
(tal vez no te he entendido)

Cita:

Empezado por yaedev (Mensaje 541360)
En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Los clientes no deberían tener acceso a la Base de Datos y si lo hacen debe quedar claro que es su responsabilidad (por ejemplo, vía un contrato).

Sistel 17-06-2021 17:42:34

Cita:

Empezado por yaedev (Mensaje 541360)
...
Que está permitido y qué no:
  • No se pueden modificar ni eliminar facturas / tickets emitidos. Si la ha fastidiado, obligar al usuario a crear una factura de anulación o de rectificación según proceda el caso.
  • Cuando el envío del fichero TicketBAI no es inminente: por ejemplo, la tienda ha generado un ticket de ventas y por consiguiente el fichero ticket BAI, el cual ha quedado almacenado en el PC. Si el usuario pierde el fichero TicketBAI (fallos disco, virus, etc.) ¿Se puede permitir que vuelva a generar el fichero TicketBAI de un ticket / factura emitida pero que aún no ha sido enviado a Hacienda?
  • Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?
  • No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....
  • En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

Hola yaedev,

Creo que son buenas consultas para que les hagas, por email, a los chicos de TicketBAI (y que nos cuentes después la respuesta)

Te doy mis opiniones de algunas de las cuestiones:

Cuando creas una nueva factura o ticket ¿permites que se pueda editar la fecha-hora de expedición?

Como la firma de la factura debe ser en el mismo momento de creación de la factura, la fecha y hora de la factura debería ser la misma que la de la firma.
No se debe modificar una vez firmada.

No sé si vuestro programa genera cobros y pagos (o vencimientos), pero en caso de que sí, una vez generados ¿entiendo que tampoco se pueden modificar ni eliminar? Salvo el poder actualizar su estado (cobrado / pagado), la fecha en que se ha pagado / cobrado y la forma de pago....

Los temas de cobros, pagos y vencimientos son temas contables que no deben afectar en nada al fichero XML firmado de la factura.
Además esos temas contables a Hacienda no le interesan en absoluto (le da igual que puedas cobrar o no una factura, por ejemplo).

En el caso de los software de escritorio, o aplicaciones alojadas en los propios servidores de los clientes, por lo que tienen acceso a las bases de datos: por mucho que les restringas a nivel de software, si el usuario entra en la base de datos, puede eliminar y modificar datos como le plazca… ¿Cómo controláis eso?

El cliente debe guardar los ficheros XML firmados de las facturas INTACTOS.
Es de vital importancia que no se alteren en ningún caso.
Para que no me salpique, en caso de que el cliente haga alguna de las suyas, yo prefiero que esos ficheros XML firmados estén bajo mi custodia en mis propios servidores.
Al cliente le doy sólo acceso remoto de sólo lectura a esos ficheros.

Son bienvenidos los comentarios sobre estos temas.

Saludos
PD: Veo que el colega Neftali [Germán.Estévez] acababa de contestar también a esas cuestiones


La franja horaria es GMT +2. Ahora son las 18:57:21.

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