Page 4 of 8

Re: Suministro Inmediato de Informacion - SII

PostPosted: Fri Feb 10, 2017 3:22 pm
by thefull
Buenas noticias.

Seguimos trabajando en tener lo antes posible una beta para ponerla a disposición de la gente que pidió acceso a la misma.

1) Hemos conseguido la validación del sistema con certificados contra la AET, era la parte más compleja, todo en puro Harbour.
2) Estamos también desarrollando el sistema de validación de los países comunitarios, que entrará también en vigor.
Tenemos ya tenemos implementados varios países.

Seguimos trabajando en ello.

Saludos Cordiales

Re: Suministro Inmediato de Informacion - SII

PostPosted: Fri Feb 10, 2017 5:11 pm
by AngelSalom
:D :D :D ¡bravo! :D :D :D

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 13, 2017 10:50 am
by Biel EA6DD
thefull wrote:Buenas noticias.

Seguimos trabajando en tener lo antes posible una beta para ponerla a disposición de la gente que pidió acceso a la misma.

1) Hemos conseguido la validación del sistema con certificados contra la AET, era la parte más compleja, todo en puro Harbour.
2) Estamos también desarrollando el sistema de validación de los países comunitarios, que entrará también en vigor.
Tenemos ya tenemos implementados varios países.


Muy bien, seguimos atentos los avances, gracias por el feed-back.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 20, 2017 10:02 am
by Capitan
Hola:

¿Cómo teneis pensado el paso de datos al módulo SII para crear el archivo xml?

Saludos y gracias.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 20, 2017 10:47 am
by fgondi
Fantástico, seguimos atentos y expectantes.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 20, 2017 2:12 pm
by thefull
Capitan wrote:Hola:

¿Cómo teneis pensado el paso de datos al módulo SII para crear el archivo xml?

Saludos y gracias.


Pues rellenando simples clases, que será la representación del XSD, por ejemplo;
Code: Select all  Expand view
oFacturaEmitida := LRfacturasEmitidasType():New()

  with object ( oFacturaEmitida )
    :PeriodoImpositivo:Ejercicio                       := 2017
    :PeriodoImpositivo:Periodo                         := "01"
    :IDFactura:NIF                                     := "AAAAAAAA"
    :IDFactura:NumSerieFacturaEmisor                   := "01"
    :IDFactura:FechaExpedicionFacturaEmisor            := date()
   
    :FacturaExpedida:DescripcionOperacion              := "Compras de materiales"
    :FacturaExpedida:DatosInmueble:SituacionInmueble   := 1
    :FacturaExpedida:DatosInmueble:ReferenciaCatastral := "ASDFGHJKLUYTREWQW"
    :FacturaExpedida:Contraparte:NombreRazon           := "ASDFGHJKL"
    :FacturaExpedida:Contraparte:NIFRepresentante      := "90001376F"
    :FacturaExpedida:Contraparte:NIF                   := "70031376F"

   
    // Datos de identificación de factura agrupada o rectificada. El NIF se cogerá del NIF indicado en el bloque IDFactura
     with object ( oFacturaAgrupada := IDFacturaARType():New( ) )
        :NumSerieFacturaEmisor := "X"
        :FechaExpedicionFacturaEmisor := date()
        oFacturaEmitida:FacturaExpedida:AddFacturaAgrupada( oFacturaAgrupada )  
    end with    

    oFacturaRectificada := IDFacturaARType():New( )
      oFacturaRectificada:NumSerieFacturaEmisor := "X"
      oFacturaRectificada:FechaExpedicionFacturaEmisor := date()
    :FacturaExpedida:AddFacturaRectificada( oFacturaRectificada )  


  end with

  oLibroFacEmitidas := SuministroLRFacturasEmitidas():New()

  with object ( oLibroFacEmitidas )
    //:lDebug  := .T.
    :Cabecera:Titular:NombreRazon      := "RAFA & COMPANY"
    :Cabecera:Titular:NIFRepresentante := "AAAA"
    :Cabecera:Titular:NIF              := "12312312J"
    :add( oFacturaEmitida )
    :WriteXML()
    :WriteXMLFile( hb_dirbase()+"\ssi.xml" )
  end with


Este ejemplo es funcional de las facturas emitidas, nos falta todavía acabarlo según especificaciones de la AET, pero seguimos trabajando en ello.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 20, 2017 4:47 pm
by fgondi
bravo!!!!

Re: Suministro Inmediato de Informacion - SII

PostPosted: Thu Feb 23, 2017 7:16 pm
by Capitan

Re: Suministro Inmediato de Informacion - SII

PostPosted: Mon Feb 27, 2017 10:42 pm
by thefull
Buenas noches.

Seguimos con el FeedBack, para que no sufráis ;-)
A los que nos pedisteis apuntaros a la lista , en la mayor brevedad os llegará un email con más información;

Ya tenemos el 99% del soporte para las facturas emitidas, es decir, tanto;
+ Suministrar facturas a AET
+ Pedir consulta facturas a AET
+ Obtener y procesar la respuesta de la consulta de las facturas a la AET
+ Anulación factura a la AET

Ponemos aquí el ejemplo tan simple para la consulta de facturas, ( he de decir que haremos todavía una clase mucho más abstracta )
En el ejemplo podéis apreciar el trabajo realizado , contemplando el 100% del protocolo del SII.
Una simple llamada a la clase RespuestaConsultaLRFacturasEmitidas, realiza la magia, NO HACE FALTA HACER NADA! solo recoger en oRespuesta los datos procesados

Code: Select all  Expand view

 function main()
  Local oRespuesta

  oRespuesta := RespuestaConsultaLRFacturasEmitidas():New():Load()
 
  viewResponse( oRespuesta )

Return nil

static function viewResponse( oResponse )

  local oFactura

  /* Debug */

  with object ( oResponse )

    ? "IDVersionSii :", :CabeceraConsulta:IDVersionSii
    ? "NombreRazon :", :CabeceraConsulta:Titular:NombreRazon
    ? "NIF :", :CabeceraConsulta:Titular:NIF
    ? "PeriodoImpositivo :", :PeriodoImpositivo
    ? "IndicadorPaginacion :", :IndicadorPaginacion
    ? "ResultadoConsulta :", :ResultadoConsulta
   
    for each oFactura in :RegistroRespuestaConsultaLRFacturasEmitidas
      ? replicate( "=", 80 )
      ? "FACTURA"
      ? replicate( "=", 80 )

      with object ( oFactura:IDFactura )
        ? "NIF :", :NIF                            
        ? "NumSerieFacturaEmisor :", :NumSerieFacturaEmisor            
        ? "FechaExpedicionFacturaEmisor :", :FechaExpedicionFacturaEmisor    
        ? "NumSerieFacturaEmisorResumenFin :", :NumSerieFacturaEmisorResumenFin    
      end with

      with object ( oFactura:DatosFacturaEmitida )
        ? "TipoFactura :", :TipoFactura
        ? "TipoRectificativa :", :TipoRectificativa
        ? "FechaOperacion :", :FechaOperacion
        ? "ClaveRegimenEspecialOTrascendencia :", :ClaveRegimenEspecialOTrascendencia
        ? "ImporteTotal :", :ImporteTotal
        ? "BaseImponibleACoste :", :BaseImponibleACoste
        ? "DescripcionOperacion :", :DescripcionOperacion
        ? "ImporteTransmisionSujetoAIVA :", :ImporteTransmisionSujetoAIVA
        ? "EmitidaPorTerceros :", :EmitidaPorTerceros
        ? "Cobros :", :Cobros

        with object ( :Contraparte )
          ? "NombreRazon :", :NombreRazon                            
          ? "NIF :", :NIF          
          ? "NIFRepresentante :", :NIFRepresentante            
        end with      

        with object ( :TipoDesglose )
          with object ( :DesgloseFactura )
            with object ( :Sujeta )
              ? "BaseImponible :", :BaseImponible
              ? "TipoNoExenta :", :TipoNoExenta
              ? "CausaExencion :", :CausaExencion

              with object ( :DesgloseIVA )
                ? "TipoImpositivo :", :TipoImpositivo          
                ? "BaseImponible :", :BaseImponible            
                ? "CuotaRepercutida :", :CuotaRepercutida        
                ? "TipoRecargoEquivalencia :", :TipoRecargoEquivalencia
                ? "CuotaRecargoEquivalencia :", :CuotaRecargoEquivalencia
              end with  
            end with  
          end with  
        end with  
      end with

      with object ( oFactura:DatosPresentacion )
        ? "NIFPresentador :", :NIFPresentador
        ? "TimestampPresentacion :", :TimestampPresentacion
      end with

      with object ( oFactura:EstadoFactura )
        ? "TimestampUltimaModificacion :", :TimestampUltimaModificacion
        ? "EstadoRegistro :", :EstadoRegistro              
        ? "CodigoErrorRegistro :", :CodigoErrorRegistro
        ? "DescripcionErrorRegistro :", :DescripcionErrorRegistro    
      end with

    next
  end with

Return nil


Esto produce una simple salida;
Code: Select all  Expand view

IDVersionSii : 0.5                  
NombreRazon : QUIM & THEFULL
NIF : A67849XXX                      
PeriodoImpositivo :                  
IndicadorPaginacion : N              
ResultadoConsulta : ConDatos        
================================================================================
FACTURA
================================================================================
NIF : A67849XXX
NumSerieFacturaEmisor : 19
FechaExpedicionFacturaEmisor : 23-02-2017
NumSerieFacturaEmisorResumenFin :
TipoFactura : F1
TipoRectificativa :
FechaOperacion :
ClaveRegimenEspecialOTrascendencia : 01
ImporteTotal : 150
BaseImponibleACoste : 0
DescripcionOperacion : COMPRAS DE MATERIALES
ImporteTransmisionSujetoAIVA : 0
EmitidaPorTerceros : N
Cobros : N
NombreRazon : ASDFGHJKL
NIF : A67849XXX
NIFRepresentante :
BaseImponible :          0.00
TipoNoExenta : S1
CausaExencion :
TipoImpositivo : 21
BaseImponible : 123.97
CuotaRepercutida : 26.03
TipoRecargoEquivalencia :          0
CuotaRecargoEquivalencia :          0.00
NIFPresentador : A67849XXX
TimestampPresentacion : 23-02-2017 15:50:18
TimestampUltimaModificacion : 23-02-2017 15:50:18
EstadoRegistro : Correcta
CodigoErrorRegistro :          0
DescripcionErrorRegistro :
 


Una vez terminados con las emitidas, que generalmente es el usaremos, seguiremos por las recibidas, etc..., pero la base, al estar diseñada muy modular y robusta, los tiempos en
nuevas implementaciones se van a producir muchísimo más rápido.

Hala, a disfrutar ;-)

Re: Suministro Inmediato de Informacion - SII

PostPosted: Tue Feb 28, 2017 7:57 am
by AngelSalom
Fabuloso!

Re: Suministro Inmediato de Informacion - SII

PostPosted: Tue Mar 07, 2017 11:13 am
by AngelSalom
Ayer varias decenas de clientes recibieron la notificación de hacienda comunicándoles que a partir del 1 de Julio tendrán que emplear el sistema SII ... parece que esta vez sí o sí la cosa tira para adelante ... :roll: :roll:

Re: Suministro Inmediato de Informacion - SII

PostPosted: Tue Mar 07, 2017 5:20 pm
by fgondi
Hola,

¿Habéis realizados pruebas transmisión a la AEAT?

Hay muchos foros donde indican que cumplen con todas las condiciones y al enviar datos o al leer el estado de los mismos, no les consigue funcionar.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Fri Mar 10, 2017 3:39 pm
by thefull
Si, estamos haciendo pruebas contra la AET sin problemas. ;-)

Saludos

Re: Suministro Inmediato de Informacion - SII

PostPosted: Fri Apr 07, 2017 3:45 pm
by gmart1
Hola

Estoy interesado en este proyecto, sobre todo en el tema de la conexión con el webservice de hacienda.

Un saludo.

Re: Suministro Inmediato de Informacion - SII

PostPosted: Sun May 07, 2017 10:24 am
by Julio Cepeda
Yo también estoy interesado en este proyecto ya que cuando entre en vigor tengo clientes a los que se lo tengo que implementar en su programa.
Soy clipperiano desde el MSDOS q.e.d. y no estoy muy caído en esto.
Yo hasta ahora los XMLs que he necesitado los he creado "a lo burro" con fwrite() pero creo que esto ya se me va de las manos.
Si hubiea algún ejemplo compilable para poder yo ir probando a ver si me entero un poco del tema.

Agradezco de antemano la ayuda que me podais ofrecer.

¿ Estas clases están incluidas en Harbour o en Fivewin o hay que conseguirla en otro sitio ?

Un saludo