martes, 22 de julio de 2014

Importar datos al programa Sociedades 2013

Buenas, en este post voy a tratar un tema relacionado con el impuesto sobre sociedades 2013, cuyo plazo de presentación para las empresas que cierran ejercicio a 31/12 es bastante corto, y finaliza el día 25/07/2014. El programa de Ayuda del Impuesto sobre Sociedades está disponible desde el 01 de julio en este enlace.
Como diferencias con las versiones anteriores tenemos que la presentación de declaraciones se hace más ágil, ya que se copia la manera de presentar las declaraciones que se ha llevado a cabo con el programa Padre de la Renta 2013. De esta manera no hace falta subir manualmente el fichero generado por el programa a la página de la AEAT. Sólo basta elegir el certificado digital de la empresa y seleccionar entre alguna de las opciones disponibles. Eso sí, para presentar documentación complementaria ya sí que seria necesario hacerlo desde la página de la AEAT. 

Pues el proceso de rellenar las declaraciones es igual al de años anteriores. Como comentario fiscal que quiero hacer es que en las declaraciones del 2012 y 2013 está la Tabla de Limitación en la Deducibilidad de Gastos Financieros y la Tabla de Pendiente de Adición por Límite de Beneficio Operativo No aplicado. Pero en las Pymes por lo general es raro que haya más de 1M de € de gastos financieros, por lo que está información que se facilita es un poco redundante. Lógicamente hay que tenerla en cuenta en el proceso de importación y por eso la menciono.
 
Vamos a las dos formas de importar datos. Una vez creada una nueva declaración para importar datos podemos usar la opción de Importar Datos Contables, que no es más que una ventana que nos pedirá un fichero xml con una estructura definida o podemos recuperar algunos datos identificativos de la declaración del año anterior con el botón Importar Datos. El botón Importar Datos, que aparece en algunas de las hojas de la declaración, permite recuperar información de los socios, CNAE y participaciones, pero únicamente de una declaración ya creada el año anterior (siempre que no hayamos borrado el programa de Sociedades del 2012 y manualmente la base de datos).


Como la base de datos del programa de sociedades es Derby, los datos se almacenan en C:\AEAT\Sociedades 200-2012\Cloudscape\Red

Para el resto de datos podemos generar un xml que recupere los datos del programa de contabilidad y siempre y cuando se cumpla con el esquema xsd publicado en un fichero en este enlace -que tiene extensión xml pero realmente es un fichero xsd-.

Para más información sobre el proceso de importación en sí, adjunto este otro enlace.

Bueno, vamos a la chicha porque si te lees los 2 enlaces anteriores verás que se cumple la regla que en Hacienda la información brilla por su ausencia -como si ocultarán algo que un programador a lo largo de su vida no ha hecho una y otra vez. 
Bueno, queremos convertir el esquema xsd a un fichero xml y que se rellenen algunos datos de ejemplo. 
Primero abrimos el archivo con el Visual Studio, por ejemplo, o IDE similar.
Vamos al panel Explorador de esquemas XML y seleccionamos el nodo MOD2002013 (abajo del todo en verde). 
Botón derecho y hacemos click en Generar XML de Ejemplo. 
Con este XML que cuelgo aquí, un programador que se precie ya tiene una chuleta para saber a la hora de escribir código en qué posición del xml colocar cada dato. El programa a desarrollar es sencillo. Yo lo he desarrollado en Java, pero para .NET incluso es más fácil. Es sólo generar un xml en una ruta especificada según los datos almacenados en una base de datos de empresa. Incluso se podría usar un Excel como origen de datos por si usas A3 o similar.


Si probamos si el programa de Sociedades lee el xml bien, hay que tener en cuenta que hay casillas sólo disponibles según si el modelo de cuentas es Normal, Abreviado o Pymes, pero a parte de esto el resultado de la importación debe ser el siguiente:
 

jueves, 8 de mayo de 2014

Pin24h: ¿Realmente merece la pena?

Buenas en este post vamos a tratar el tema del pin24h, que no es más que otra forma de autentificación en la Agencia Tributaria, esta vez orientada a profesionales y demás personas físicas –gente como tú y yo, es decir, no empresas– no obligadas a usar el certificado digital. En un anterior post El Certificado DigitalProblemas y Soluciones se trató el tema de cómo conseguir el certificado digital, tanto para personas físicas como para personas jurídicas –el proceso para empresas además requería obtener un certificado que acredite quien es el administrador de la empresa yendo al Registro Mercantil de donde estuviera el domicilio social de la empresa o por la web de registradores.org–.

Recordemos que para personas físicas  la obtención del certificado digital era muy simple: 
  1. Ir a la página de Ceres  y pulsar en Obtener Certificado de Software. Sólo has de introducir tu dni y obtener un código –que no caduca a menos que formatees el ordenador-.
  2. Ir a una oficina de Registro o de Hacienda a firmar la emisión del certificado en los siguientes 10 días máximo.
  3.  A las 24 horas descargarlo en tu navegador poniendo de nuevo tu dni y el mismo código.

Recomiendo la opción de Certificado Software entre las disponibles si no tienes ningún lector de tarjetas. Aunque lo que se genere sea un archivo fácilmente exportable y clonable, si está protegido con contraseña y lo guardas en un lugar seguro no habrá problemas. La extensión del fichero ha de ser siempre .pfx que poder firmat y exportar la clave privada.


Por el otro lado, el Pin24h ha surgido como una alternativa de autentificarse en Hacienda. Por ahora no está disponible para todas las opciones de la Sede Electrónica de la página web de la Agencia Tributaria  y tampoco permite consultar notificaciones telemáticas. La única ventaja es que muchos profesionales han recibido una carta de alta al servicio del Pin24h y que con ese código no hace falta que se desplacen a Hacienda a pedir el acceso al servicio. 
El proceso para pedir el pin24h es similar al de solicitud del certificado digital pero con algunas diferencias: 
  1. Si ejerces una actividad profesional posiblemente ya has recibido la carta de invitación al servicio. Si no la has recibido puedes solicitarla yendo a Hacienda o mediante el siguiente enlace.  
  2. Si ya tienes la carta de invitación pues has de introducir el código que viene en ella y una cuenta bancaria de tu titularidad para registrarse en el servicio. Y este es un punto que a mucha gente no le hace mucha gracia: el dar una cuenta bancaria a Hacienda.
  3. Una ver dado de alta pues puedes solicitar un código que caducará a las 24h –a las 2 de la mañana- y te permitirá realizar los trámites en los se admita autentificación utilizando el pin24h.
Como ya he comentado para empresas el pin24h no tiene sentido por el hecho que están obligadas a usar el certificado digital. Para personas que no ejercen ninguna actividad pues puede tener su gracia, pero con el certificado digital ya vale. Si como muchos pensamos que en los próximos meses ya no se va a poder generar predeclaraciones de IVA en pdf para presentar en papel –que aún se puede, lo que ya no se puede es rellanarlas a mano o usando un pdf editable- pues creo que el certificado digital es la mejor opción para todas las personas afectadas por el futuro cambio en la presentación de impuestos.


Además, y aquí viene lo bueno, con el certificado digital además podrás acceder al portal de la Seguridad Social y, si eres profesional podrás utilizar servicios como el alta/baja de autónomos online, consultar tus deudas; o, si tienes trabajadores a cargo el poder pedir una Cuenta de Cotización o consultar, asignar o rescindir las personas o la gestoría que gestiona  en el sistema red tu Código de Cuenta de Cotización (en pocas palabras quien está autorizado a presentar a través del Sistema Red las altas/bajas de trabajadores o los TCs). Como ves hay muchas opciones antes sólo disponibles con el certificado SILCON. Ya seas autónomo, con o sin trabajadores a cargo, el alta o baja de autónomo te puede interesar; o si los tienes y quieres controlar quien te hace las gestiones en el Sistema Red. Quiero recordar además que si tienes trabajadores necesitarás el certificado SILCON para presentar los TCs a través del RED Directo/RED, pero usando el certificado digital y el certificado SILCON podrás hacer infinidad de gestiones sin moverte de casa y todo unificado.
Por último voy explicar el proceso de alta de autónomo en Seguridad Social de forma online y así repasamos el uso del certificado digital en la Seguridad Social. Recomiendo usar Firefox o Chrome como navegador para una navegación más fácil.
1. Las primeras pantallas son datos de información. 
2. Esta pantalla te permite cambiar los datos de tu domicilio fiscal.


3. Puedes seleccionar el tipo de autónomo: no es lo mismo el alta de autónomo de un agricultor que el de un dentista.
4. Como vemos ahora entre hacienda y Seguridad Social cruzan datos y si no tienes presantada el alta de actividad y de obligaciones modelo 036 o modelo 037 no podrás continuar con la presentación del alta de autónomo.

5. Has de seleccionar el epígrafe de tu actividad económica a efectos de Seguridad Social en la lista. No es el mismo que el epígrafe de Hacienda. Consulta a tu gestor o contable las equivalencias. Además se ha de seleccionar la mutua de contingencias comunes, accidentes profesionales y cese de actividad -lo último es eso que dicen que existe pero que nadie cobra-.

6. Bases de cotización. Como mínimo la mínima.


7. Bonificaciones incluidas las nuevas que han aparecido: podrás acceder a ellas si no has ejercido actividad en los últimos 5 años.
8. Móvil para notificaciones y cuenta para domiciliar los autónomos. Y si has usado Chrome como navegador podrás ver un pdf con los datos alta y si no se puede pedir en la página principal.
Para el enlace de la baja de autónomo el proceso es exactamente el mismo, pero sólo has de confirmar tus datos de baja y presentar. No has de entrar información nueva excepto la fecha de baja que será la de presentación, por defecto.

Como vemos con el certificado digital las opciones son infinitas y si añades el certificado SILCON podrás acceder al RED Directo o al RED si tienes más de 15 trabajadores, para presentar las comunicaciones y los boletines de cotización a la Seguridad Social de tus trabajadores.

miércoles, 5 de febrero de 2014

Rellenar pdfs editables con .NET



Buenas en este post voy a continuar con el tema que empezamos en un post anterior de crear pdfs con .NET e iTextSharp.
¿Qué es lo que pasa si nuestro pdf es editable? Pues bien aquí hay una solución mejor que ir escribiendo líneas en el pdf en una determinada posición como si se tratara de una máquina de escribir, que es como lo hicimos en el post anterior.
Para ello sencillamente vamos ir asignado valores a los campos que tenemos ya creados en el pdf editable. ¿Pues cómo sé el nombre de los campos?
Hay 2 formas: la primera usando el Acrobat Profesional o similar. En el Acrobat Profesional vamos a ‘Herramientas’ – ‘Formularios’ – ‘Editar’

Y verás el nombre de los campos en lista que aparece en el lado derecho. Para cada campo si haces click con el botón derecho en ‘Propiedades’ puedes ver además del nombre, los valores permitidos para ese campo, cosa interesante a saber si trabajamos con Checkboxes, RadioButtons, etc. 


Otra forma es con el siguiente código, que esta vez sí está disponible para descargar aquí –no como el del anterior post que por no colgarlo en la nube desapareció al romperse un disco duro-.
  'Leer el nombre de los campos del pdf editable
        Dim pdfReader As New iTextSharp.text.pdf.PdfReader(ruta)
        Dim sb As New StringBuilder()
        For Each de As KeyValuePair(Of String, AcroFields.Item) In pdfReader.AcroFields.Fields
            sb.Append(de.Key.ToString() & vbNewLine)
        Next

        TextBoxDetails.Text = sb.ToString()
        TextBoxDetails.SelectionStart = TextBoxDetails.TextLength

Pues bien el proceso para escribir en pdfs editables en muy sencillo y he creado un formulario para enseñar a hacerlo. 
El punto de partida en el que me he basado para este ejemplo es el siguiente: imaginemos que somos una empresa con sede en Madrid y vamos a dar de alta un centro de trabajo en Navarra. Como sabemos en los artículos 19 y 33 del concierto económico con Navarra si nuestra cifra de negocios es inferior a los 7 M€ vamos a tributar y presentar las declaraciones de IVA y Sociedades en el lugar donde tengamos nuestro domicilio fiscal y supongo que es en Madrid. En Navarra sólo presentaremos retenciones -y el alta de IAE en Pamplona-. Pues bajo este supuesto real que puede ocurrir en cualquier empresa vamos a diseñar un formulario que me permita agilizar los pasos. Ya sé que en este caso no merecería la pena pero hay casos similares donde hay procesos repetitivos con formularios que se pueden agilizar, y mucho.
Pues bien diseñamos el formulario –veréis que falta el CIF y las validaciones y algunos campos identificativos más, pero he querido centrarme en el hecho de rellenar el pdf-.
 Al pulsar en el botón 'F65 Navarra' vamos a escribir el siguiente código:
'la variable ruta es la ruta  completa del fichero
        Dim pdfStamper As iTextSharp.text.pdf.PdfStamper = Nothing
        Try
            'Modelo IAE Ayuntamiento de Pamplona
            If Not ruta = String.Empty Then
                Dim pdfReader As New iTextSharp.text.pdf.PdfReader(ruta)
                'Modifico el nombre del pdf para no sobreescribir el original
                Dim rutafinal As String = Path.GetDirectoryName(ruta)
                Dim nombrefinal As String = Path.GetFileName(ruta).Insert(0, "PDF Modificado ")
                'Guardo el pdf relleno
                pdfStamper = New iTextSharp.text.pdf.PdfStamper(pdfReader, New FileStream(rutafinal & "\" & nombrefinal, FileMode.Create))

                Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
                'Relleno los campos
                pdfFormFields.SetField("_Nombre", Me.NombreTextBox.Text & " " & Me.ApellidosTextBox.Text)
                pdfFormFields.SetField("O300", "INSTALACIONES DEPORTIVAS")
                pdfFormFields.SetField("EpigrafeIAE", "1/957")
                pdfFormFields.SetField("_Locali_", "PAMPLONA")
                pdfFormFields.SetField("_Provin_", "NAVARRA")
                pdfFormFields.SetField("O310", Now.Day & "-" & Now.Month & "-" & Now.Year)
                pdfFormFields.SetField("O99", "Yes")
                pdfFormFields.SetField("100", Now.Year)

                pdfStamper.FormFlattening = True

                MessageBox.Show("Modelo creado con éxito en: " & rutafinal & "\" & nombrefinal, "Mensaje", MessageBoxButtons.OK)
                ' close the pdf
                pdfStamper.Close()
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If Not pdfStamper Is Nothing Then
                pdfStamper.Close()
            End If
        End Try
Pues bien en el siguiente post colgaré la nueva versión beta para SEPA del Norma34Creator en la que estoy trabajando a la que le falta un poquillo más de testeo así como más cosas en las que me estoy reciclando como temas de boostrap, de jquery y más cosillas que vea interesante por ahí que merenca la pena comentar.