Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

nuevo1234 09-01-2024 11:06:25

Cita:

Empezado por ermendalenda (Mensaje 553885)
Gracias por compartir.

Hola estoy un poco espeso, he leido esta respuesta y me he quedado con la misma duda que tenua, a raiz de esta respuesta de la aeat, sabeis si realmente los sistemas SÍ VERIFACTU (O sea que envian directamente) tienen que crear algún evento. el de instalación inicio de envio...? no entiendo muy bien el mensaje

Hola,

Lo que yo creo.

El registro de eventos es obligatorio únicamente en el caso de los sistemas no Veri*factu. Los sistemas Veri*factu pueden contar con él, pero es opcional.
Esto se recoge en la Orden Ministerial que está puesta a información pública y se ha publicado el 3 de enero de 2024.

En el pdf "Texto del proyecto" Artículo 3
"…. en tanto actúen como sistemas VERI*FACTU, no les serán de aplicación los artículos 6.b), 6.c), 6.d), 6.e), 6. f), 7.f), 7.h), 7.i), 7.j), 8 y 9 de esta orden."

El artículo 9 es el Registro de eventos.

ermendalenda 09-01-2024 11:28:19

Cita:

Empezado por antoine0 (Mensaje 553900)
¿Ha salido la Orden Ministerial? ¿Dónde está? :confused:

El proyecto de la OM último que puse, está en consulta:
http://www.hacienda.gob.es/Documenta...-1007-2023.pdf
http://www.hacienda.gob.es/Documenta...-1007-2023.pdf
http://www.hacienda.gob.es/Documenta...-1007-2023.pdf

newtron 09-01-2024 11:33:08

Cita:

Empezado por nincillo (Mensaje 553904)
Prueba a poner:
Código:

var
  alta :  AltaFactuSistemaFacturacion;
....

begin
  alta := AltaFactuSistemaFacturacion.Create;
....
end



Gracias pero no va, me marca error aquí:


Código Delphi [-]
var
  alta :   AltaFactuSistemaFacturacion;


Saludos.

ermendalenda 09-01-2024 11:41:46

Certificados electrónicos para el envio
 
Hay otra cosa, por si alguien quiere consultarlo ya al correo de verifactu, o esperar a la OM.
En el proyecto de la OM, dice que el envío se realizará con el certificado del emisor de la factura???? Y so
I lo quiero enviar a través de un tercero, tal y como lo haremos muchos, nos van a obligar a usar repositorios de certificados?

CarlosMz 09-01-2024 11:46:40

Cita:

Empezado por ermendalenda (Mensaje 553910)
Hay otra cosa, por si alguien quiere consultarlo ya al correo de verifactu, o esperar a la OM.
En el proyecto de la OM, dice que el envío se realizará con el certificado del emisor de la factura???? Y so
I lo quiero enviar a través de un tercero, tal y como lo haremos muchos, nos van a obligar a usar repositorios de certificados?

Interesante cuestión... Si obligan a usar el certificado de cada cliente y lo tenemos que almacenar con su clave tendremos que ser proveedores de confianza (reglamento eIDAS) ?

nincillo 09-01-2024 11:53:10

Cita:

Empezado por newtron (Mensaje 553909)
Gracias pero no va, me marca error aquí:


Código Delphi [-]
var
  alta :   AltaFactuSistemaFacturacion;


Saludos.

¿Qué error te pone?

¿Qué importación del wsdl estás utilizando?. ¿La que publicó @Neftali junto en el mismo post con el código de ejemplo o una importación que has hecho tu directamente?

newtron 09-01-2024 12:09:04

Cita:

Empezado por nincillo (Mensaje 553912)
¿Qué error te pone?

¿Qué importación del wsdl estás utilizando?. ¿La que publicó @Neftali junto en el mismo post con el código de ejemplo o una importación que has hecho tu directamente?


He actualizado el fichero SistemaFacturacion.pas y ahora si me lo coge. Sigo revisando.


Gracias y un saludo.

nincillo 09-01-2024 12:27:16

Cita:

Empezado por newtron (Mensaje 553913)
He actualizado el fichero SistemaFacturacion.pas y ahora si me lo coge. Sigo revisando.


Gracias y un saludo.

Perdona la insistencia, pero es por curiosidad de acuerdo al "misterio" que tengo yo al importar los wsdl, que dependiendo de la versión que escoja a la hora de importar, me lo importa diferente.

La "actualización" a la que te refieres, la hiciste descargando el wsdl mediante la url correspondiente o lo hiciste sustituyendo con el fichero que publicó @Neftali.

a) En el caso de hacerlo mediante la url, ¿puedes decirme en el dialogo de delphi que te sale durante la importación, cual de las 3 opciones escogiste?.
b) En el caso de utilizar el fichero publicado por @Neftali, la versión antigua, ¿también era del fichero publicado por @Neftali días atrás?.

Gracias y un saludo.

newtron 09-01-2024 12:40:15

[quote='Neftali [Germán.Estévez];553902']
En este caso genera un fichero como este:

Código:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
    <SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl" xmlns:NS2="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:NS3="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <NS1:AltaFactuSistemaFacturacion SOAP-ENV:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
            <AltaFactuSistemaFacturacion SOAP-ENC:id="1" xsi:type="NS2:AltaFactuSistemaFacturacion">
                <Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera">
                    <IDVersion xsi:type="NS3:VersionType">1.0</IDVersion>
                    <ObligadoEmision SOAP-ENC:id="3" xsi:type="NS3:PersonaFisicaJuridicaESType">
                        <NombreRazon xsi:type="xsd:string">Empresa pruebas</NombreRazon>
                        <NIF xsi:type="xsd:string">11111111H</NIF>
                    </ObligadoEmision>
                    <TipoRegistroAEAT xsi:type="NS3:TipoRegistroAEATType">T0</TipoRegistroAEAT>
                    <FechaFinVeriFactu xsi:type="xsd:string">01/01/2026</FechaFinVeriFactu>
                </Cabecera>
                <item SOAP-ENC:id="4" xsi:type="NS2:FacturasEmitidasType">
                    <RegistroFacturacion SOAP-ENC:id="5" xsi:type="NS3:RegistroFacturacionType">
                        <IDFactura SOAP-ENC:id="6" xsi:type="NS3:IDFacturaExpedidaType">
                            <IDEmisorFactura SOAP-ENC:id="7" xsi:type="NS3:IDEmisorFactura">
                                <NIF xsi:type="xsd:string">3333333</NIF>
                            </IDEmisorFactura>
                            <NumSerieFacturaEmisor xsi:type="xsd:string">23/123456</NumSerieFacturaEmisor>
                            <FechaExpedicionFacturaEmisor xsi:type="xsd:string">31/12/23</FechaExpedicionFacturaEmisor>
                        </IDFactura>
                        <NombreRazonEmisor xsi:type="xsd:string"/>
                        <TipoRegistroSIF xsi:type="NS3:TipoRegistroSIFType">S0</TipoRegistroSIF>
                        <TipoFactura xsi:type="NS3:ClaveTipoFacturaType">F1</TipoFactura>
                        <DescripcionOperacion xsi:type="xsd:string">venta de mercaderías</DescripcionOperacion>
                        <Desglose xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="NS3:DetalleType" SOAP-ENC:arraySize="1">
                            <item SOAP-ENC:id="8" xsi:type="NS3:DetalleType">
                                <ClaveRegimen xsi:type="NS3:IdOperacionesTrascendenciaTributariaType">01</ClaveRegimen>
                                <TipoImpositivo xsi:type="xsd:string">21</TipoImpositivo>
                                <BaseImponibleOimporteNoSujeto xsi:type="xsd:string"/>
                                <CuotaRepercutida xsi:type="xsd:string">100</CuotaRepercutida>
                            </item>
                        </Desglose>
                        <ImporteTotal xsi:type="xsd:string"/>
                        <EncadenamientoRegistroAnterior xsi:nil="true"/>
                        <SistemaInformatico xsi:nil="true"/>
                        <FechaGenRegistro xsi:type="xsd:string"/>
                        <HoraGenRegistro xsi:type="xsd:string"/>
                        <HusoHorarioGenRegistro xsi:type="NS3:HusoHorarioGenRegistroType">01</HusoHorarioGenRegistro>
                    </RegistroFacturacion>
                    <DatosControl xsi:nil="true"/>
                </item>
            </AltaFactuSistemaFacturacion>
        </NS1:AltaFactuSistemaFacturacion>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>


Germán.



Cómo accedes a ese XML sin hacer el envío porque yo lo saco desde el evento "OnBeforeExecute" del componente HTTPRIO pero claro, si no se hace el envío porque no tenemos todavía las direcciones no llega a ese evento. Todo esto se me ocurre porque hará falta generar la huella de cada factura y no sé cómo aislar el nodo de cada factura para generar la huella.


Gracias y un saludo.

newtron 09-01-2024 12:50:19

Cita:

Empezado por nincillo (Mensaje 553914)
Perdona la insistencia, pero es por curiosidad de acuerdo al "misterio" que tengo yo al importar los wsdl, que dependiendo de la versión que escoja a la hora de importar, me lo importa diferente.

La "actualización" a la que te refieres, la hiciste descargando el wsdl mediante la url correspondiente o lo hiciste sustituyendo con el fichero que publicó @Neftali.

a) En el caso de hacerlo mediante la url, ¿puedes decirme en el dialogo de delphi que te sale durante la importación, cual de las 3 opciones escogiste?.
b) En el caso de utilizar el fichero publicado por @Neftali, la versión antigua, ¿también era del fichero publicado por @Neftali días atrás?.

Gracias y un saludo.


Lo que he hecho ha sido sustituir mi fichero "SistemaFacturacion.pas" por uno de los que ha subido Neftalí. El antiguo era uno que me había descargado desde la importación del fichero wsdl.


Saludos.

ermendalenda 09-01-2024 13:18:45

Duda Rectificativa
 
Hola, creo que esta duda me la podran aclarar alguno de los que hagan ticketbai:

Ejemplo:

Factura Numero 1 con 3 Líneas:

1 CocaCola 1,10 Euros
1 Fanta 1,10 Euros
1 Tonica 1,10 Euros
Total 3,3 Euros

Desglose
Base 3 Euros
Iva 10% 0,30


Hago rectificativa por diferencias y quito 1 Coca Cola
En la rectificativa :
pongo que la base de la rectificada es 3,00Euros y la cuota 0,30Euros


Me doy cuenta que aun tengo que devolver la Fanta
En la nueva rectificativa que pongo:
Opcion 1. base de la rectificada es 3,00 y la cuota 0,30
Opcion 2. base de la rectificada es 2,00 y la cuota 0,20

Gracias de antemano.

keys 09-01-2024 13:31:12

Cita:

Empezado por ermendalenda (Mensaje 553920)
Hola, creo que esta duda me la podran aclarar alguno de los que hagan ticketbai:

Ejemplo:

Factura Numero 1 con 3 Líneas:

1 CocaCola 1,10 Euros
1 Fanta 1,10 Euros
1 Tonica 1,10 Euros
Total 3,3 Euros

Desglose
Base 3 Euros
Iva 10% 0,30


Hago rectificativa por diferencias y quito 1 Coca Cola
En la rectificativa :
pongo que la base de la rectificada es 3,00Euros y la cuota 0,30Euros


Me doy cuenta que aun tengo que devolver la Fanta
En la nueva rectificativa que pongo:
Opcion 1. base de la rectificada es 3,00 y la cuota 0,30
Opcion 2. base de la rectificada es 2,00 y la cuota 0,20

Gracias de antemano.

Si la rectificativa es por diferencias en la primera factura rectificativa tienes que hacer un abono. Base -1 y cuota -0.10 (cocacola)

La segunda rectificativa si es por diferencias también sera un abono Base -1 y cuota -0.10. (fanta)
La factura original tendrá dos rectificativas.

Otra cosa es que sea por sustitución.

newtron 09-01-2024 13:34:45

Cita:

Empezado por ermendalenda (Mensaje 553920)
Hola, creo que esta duda me la podran aclarar alguno de los que hagan ticketbai:

Ejemplo:

Factura Numero 1 con 3 Líneas:

1 CocaCola 1,10 Euros
1 Fanta 1,10 Euros
1 Tonica 1,10 Euros
Total 3,3 Euros

Desglose
Base 3 Euros
Iva 10% 0,30


Hago rectificativa por diferencias y quito 1 Coca Cola
En la rectificativa :
pongo que la base de la rectificada es 3,00Euros y la cuota 0,30Euros


Me doy cuenta que aun tengo que devolver la Fanta
En la nueva rectificativa que pongo:
Opcion 1. base de la rectificada es 3,00 y la cuota 0,30
Opcion 2. base de la rectificada es 2,00 y la cuota 0,20

Gracias de antemano.


Yo no he hecho nada de TicketBAI pero entiendo que en la nueva factura, en los campos de "Base rectificada" y "Cuota rectificada" tendrás que poner los importes de la factura original y luego en el resto de datos los importes de la nueva factura.

EDITO: Nada nada.... no había entendido que había dos rectificativas. Al ver el mensaje de Keys me he dado cuenta.


Saludos.

keys 09-01-2024 13:42:18

Cita:

Empezado por newtron (Mensaje 553922)
Yo no he hecho nada de TicketBAI pero entiendo que en la nueva factura, en los campos de "Base rectificada" y "Cuota rectificada" tendrás que poner los importes de la factura original y luego en el resto de datos los importes de la nueva factura.

EDITO: Nada nada.... no había entendido que había dos rectificativas. Al ver el mensaje de Keys me he dado cuenta.


Saludos.

En ticketbai la base rectificada y la cuota rectificada solo son para las rectificativas por sustitucion. En las de diferencias no hay que poner nada.

Por eso digo que es distinto por sustitución que por diferencias. Por sustitución se sustituye toda la factura y es como si se hiciera una nueva y por diferencias sólo se pone lo que cambia de una a otra.

newtron 09-01-2024 13:44:15

Cita:

Empezado por keys (Mensaje 553923)
En ticketbai la base rectificada y la cuota rectificada solo son para las rectificativas por sustitucion. En las de diferencias no hay que poner nada.


Gracias Keys, es bueno saberlo porque imagino que en esto que nos ocupa ahora será similar.


Saludos.

nincillo 09-01-2024 13:58:07

[quote=newtron;553916]
Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 553902)
En este caso genera un fichero como este:

Código:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
    <SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl" xmlns:NS2="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:NS3="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
        <NS1:AltaFactuSistemaFacturacion SOAP-ENV:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
            <AltaFactuSistemaFacturacion SOAP-ENC:id="1" xsi:type="NS2:AltaFactuSistemaFacturacion">
                <Cabecera SOAP-ENC:id="2" xsi:type="NS3:Cabecera">
                    <IDVersion xsi:type="NS3:VersionType">1.0</IDVersion>
                    <ObligadoEmision SOAP-ENC:id="3" xsi:type="NS3:PersonaFisicaJuridicaESType">
                        <NombreRazon xsi:type="xsd:string">Empresa pruebas</NombreRazon>
                        <NIF xsi:type="xsd:string">11111111H</NIF>
                    </ObligadoEmision>
                    <TipoRegistroAEAT xsi:type="NS3:TipoRegistroAEATType">T0</TipoRegistroAEAT>
                    <FechaFinVeriFactu xsi:type="xsd:string">01/01/2026</FechaFinVeriFactu>
                </Cabecera>
                <item SOAP-ENC:id="4" xsi:type="NS2:FacturasEmitidasType">
                    <RegistroFacturacion SOAP-ENC:id="5" xsi:type="NS3:RegistroFacturacionType">
                        <IDFactura SOAP-ENC:id="6" xsi:type="NS3:IDFacturaExpedidaType">
                            <IDEmisorFactura SOAP-ENC:id="7" xsi:type="NS3:IDEmisorFactura">
                                <NIF xsi:type="xsd:string">3333333</NIF>
                            </IDEmisorFactura>
                            <NumSerieFacturaEmisor xsi:type="xsd:string">23/123456</NumSerieFacturaEmisor>
                            <FechaExpedicionFacturaEmisor xsi:type="xsd:string">31/12/23</FechaExpedicionFacturaEmisor>
                        </IDFactura>
                        <NombreRazonEmisor xsi:type="xsd:string"/>
                        <TipoRegistroSIF xsi:type="NS3:TipoRegistroSIFType">S0</TipoRegistroSIF>
                        <TipoFactura xsi:type="NS3:ClaveTipoFacturaType">F1</TipoFactura>
                        <DescripcionOperacion xsi:type="xsd:string">venta de mercaderías</DescripcionOperacion>
                        <Desglose xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="NS3:DetalleType" SOAP-ENC:arraySize="1">
                            <item SOAP-ENC:id="8" xsi:type="NS3:DetalleType">
                                <ClaveRegimen xsi:type="NS3:IdOperacionesTrascendenciaTributariaType">01</ClaveRegimen>
                                <TipoImpositivo xsi:type="xsd:string">21</TipoImpositivo>
                                <BaseImponibleOimporteNoSujeto xsi:type="xsd:string"/>
                                <CuotaRepercutida xsi:type="xsd:string">100</CuotaRepercutida>
                            </item>
                        </Desglose>
                        <ImporteTotal xsi:type="xsd:string"/>
                        <EncadenamientoRegistroAnterior xsi:nil="true"/>
                        <SistemaInformatico xsi:nil="true"/>
                        <FechaGenRegistro xsi:type="xsd:string"/>
                        <HoraGenRegistro xsi:type="xsd:string"/>
                        <HusoHorarioGenRegistro xsi:type="NS3:HusoHorarioGenRegistroType">01</HusoHorarioGenRegistro>
                    </RegistroFacturacion>
                    <DatosControl xsi:nil="true"/>
                </item>
            </AltaFactuSistemaFacturacion>
        </NS1:AltaFactuSistemaFacturacion>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>


Germán.



Cómo accedes a ese XML sin hacer el envío porque yo lo saco desde el evento "OnBeforeExecute" del componente HTTPRIO pero claro, si no se hace el envío porque no tenemos todavía las direcciones no llega a ese evento. Todo esto se me ocurre porque hará falta generar la huella de cada factura y no sé cómo aislar el nodo de cada factura para generar la huella.


Gracias y un saludo.

Esa pregunta me la hago yo también.

Porque si no lo he entendido mal, deberíamos de generar un fichero individual por factura y luego cuando se vaya a hacer el envío leer esos ficheros y enviarlos todos juntos en una llamada al SOAP.

O sea, sería bueno saber, como generar primero esos ficheros individuales y luego como cargarlos para hacer la llamada SOAP. ¿No?.

ermendalenda 09-01-2024 14:16:18

Cita:

Empezado por keys (Mensaje 553923)
En ticketbai la base rectificada y la cuota rectificada solo son para las rectificativas por sustitucion. En las de diferencias no hay que poner nada.

Por eso digo que es distinto por sustitución que por diferencias. Por sustitución se sustituye toda la factura y es como si se hiciera una nueva y por diferencias sólo se pone lo que cambia de una a otra.


Vale Vale, he estado mirando y es igual, me habia confundido, este nodo no hay que ponerlo en la de diferencias.

Gracias por la aclaración keys.

Neftali [Germán.Estévez] 09-01-2024 16:31:44

Cita:

Empezado por newtron (Mensaje 553903)
Gracias Germán por el ejemplo. El problema es que ese código a mi no me compila en mi Delphi Berlín, se ve que este tipo de instrucciones no le gustan:


Código Delphi [-]
  var alta:AltaFactuSistemaFacturacion := AltaFactuSistemaFacturacion.Create;


¿Hay alguna forma de modificar eso para que compile en Delphi Berlín?
Gracias de nuevo y un saludo.


Si. Perdón por no pensar en las versiones antiguas.
Simplemente hay que desdoblar en 2 líneas la definición y el uso.

Código Delphi [-]
  
var 
  alta:AltaFactuSistemaFacturacion;
  ...
begin
  ...
  AltaFactuSistemaFacturacion:= AltaFactuSistemaFacturacion.Create;

Neftali [Germán.Estévez] 09-01-2024 16:40:20

Cita:

Empezado por newtron (Mensaje 553916)
Germán.
Cómo accedes a ese XML sin hacer el envío porque yo lo saco desde el evento "OnBeforeExecute" del componente HTTPRIO pero claro, si no se hace el envío porque no tenemos todavía las direcciones no llega a ese evento. Todo esto se me ocurre porque hará falta generar la huella de cada factura y no sé cómo aislar el nodo de cada factura para generar la huella.

Si llega al evento si en la URL colocas lo que sea que sea diferente a vacío.
Luego falla por URL, pero al evento llega.

Código modificado a partir de lo que puso un compañero (perdón que no recuerdo quien) mensajes atrás:

Código Delphi [-]
procedure TForm3.HTTPRIO1BeforeExecute(const MethodName: string; SOAPRequest: TStream);
var
  sTmp: TStringList;
  nFile: string;
begin
  sTmp := TStringList.Create;
  try
    SOAPRequest.Position := 0;
    sTmp.LoadFromStream(SOAPRequest);
    nFile := ExtractFilePath(Application.ExeName) + 'VeriFactu_PeticionEnviada.xml';
    sTmp.SaveToFile(nFile);
    Memo1.Lines.LoadFromFile(nFile);
  finally
    FreeAndNil(sTmp);
  end;
end;

Y en el fichero generado por SOAP, modifica esta variable y le asignas cualquier valor( que actualmente está a cadena vacía)...
Código Delphi [-]
  defURL  = 'me_la_he_inventado_';

edari 09-01-2024 17:21:49

Buenas tardes,


Voy a empezar a generar el xml y tengo un par de dudas iniciales


El fichero xml se entiende que es mejor ya generarlo entero sin retornos de carro por el tema del hash que viene después...?


Calculo el hash con los lo que hay entre las etiquetas "RegistroAltaFacturas" sin retornos de carro con todas las etiquetas seguidas


Ese hash tiene ser al 100% como el que genere Hacienda en su comprobación y mi duda es


Cómo se puede comprobar que el hash que he calculado es el correcto, el que espera hacienda?


Graciass ^\||/


La franja horaria es GMT +2. Ahora son las 14:46:48.

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