Suministro Inmediato de Informacion - SII
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
No acabo de entender tu postura Juanp. Entras en este foro con un mensaje de presentación que me parece perfecto. Se te indica una posible solución a la que algunos miembros del foro hemos decidido apoyar y colaborar para llevarla a cabo desde bastante antes de que aparecieras por aquí. Puedo comprender que esa solución no te guste o no se te acople o lo que sea, pero de ahí a ir despotricando y "pelando" al personal que decida usarla hay un abismo.
Si te molestas en ver el archivo de mensajes entenderás porque algunos confiamos plenamente en el saber hacer de Rafa y Quim, llevan muchísimos años colaborando con la comunidad y en infinidad de ocasiones han donado de forma altruista grandes clases que han aportado mucho y muy bueno a este lenguaje.
No digo que tu idea de cómo debe hacerse sea mejor o peor, sencillamente como en todo en esta vida hay infinidad de opiniones, pero desde el respeto por favor.
Si te molestas en ver el archivo de mensajes entenderás porque algunos confiamos plenamente en el saber hacer de Rafa y Quim, llevan muchísimos años colaborando con la comunidad y en infinidad de ocasiones han donado de forma altruista grandes clases que han aportado mucho y muy bueno a este lenguaje.
No digo que tu idea de cómo debe hacerse sea mejor o peor, sencillamente como en todo en esta vida hay infinidad de opiniones, pero desde el respeto por favor.
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
Hola:
Yo tengo un dbf con las cabeceras de las facturas. Y he puesto solo _ adicionales.
{"SII_CSV ","C", 16, 0},;
{"SII_OK ","C", 1, 0},; // S=ok, 1=aceptada con errores
Cuando parseo la respuesta de la aeat si encuentro el tag
IF cTag="siiR:CSV" ; cCsv:=cDato
y es correcto
ELSEIF cTag="siiR:EstadoRegistro"
IF cDato="Correcto" ; cCorrecta :="S"
Entonces actualizo _ de la factura. Y ya se que no la tendré que volver a enviar.
REPLA SII_CSV WITH cCsv
REPLA SII_OK WITH "S"
Aunque dejo la opción por si la han borrado en la web de aeat y la quieren volver a enviar.
Ahora voy a hacer que si hay errores los visualice para que el usuario los corrija. Y antes de enviarlas voy a comprobar que no envie el recargo de equivalencia si es cero, que avise de descripción vacía, etc. Creo que todas las reglas están en en fichero .xsd y que Rafa ya las validará antes de enviar nada.
Yo tengo un dbf con las cabeceras de las facturas. Y he puesto solo _ adicionales.
{"SII_CSV ","C", 16, 0},;
{"SII_OK ","C", 1, 0},; // S=ok, 1=aceptada con errores
Cuando parseo la respuesta de la aeat si encuentro el tag
IF cTag="siiR:CSV" ; cCsv:=cDato
y es correcto
ELSEIF cTag="siiR:EstadoRegistro"
IF cDato="Correcto" ; cCorrecta :="S"
Entonces actualizo _ de la factura. Y ya se que no la tendré que volver a enviar.
REPLA SII_CSV WITH cCsv
REPLA SII_OK WITH "S"
Aunque dejo la opción por si la han borrado en la web de aeat y la quieren volver a enviar.
Ahora voy a hacer que si hay errores los visualice para que el usuario los corrija. Y antes de enviarlas voy a comprobar que no envie el recargo de equivalencia si es cero, que avise de descripción vacía, etc. Creo que todas las reglas están en en fichero .xsd y que Rafa ya las validará antes de enviar nada.
Jose Valle
Bilbao
Spain
Bilbao
Spain
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
Hola Jose, por las pruebas que he hecho no se puede borrar una factura desde la AEAT. Permite anularla y la deja marcada como Anulada y Modificada.
Si entonces intentas enviar la factura con el mismo número te devuelve un "3000 - Factura duplicada"
Yo he contemplado el proceso de "baja" desde la aplicación y el resultado es el mismo, la marca como Anulada pero no permite reutilizar el número.
Si entonces intentas enviar la factura con el mismo número te devuelve un "3000 - Factura duplicada"
Yo he contemplado el proceso de "baja" desde la aplicación y el resultado es el mismo, la marca como Anulada pero no permite reutilizar el número.
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
AngelSalom wrote:Hola Jose, por las pruebas que he hecho no se puede borrar una factura desde la AEAT. Permite anularla y la deja marcada como Anulada y Modificada.
Si entonces intentas enviar la factura con el mismo número te devuelve un "3000 - Factura duplicada"
Yo he contemplado el proceso de "baja" desde la aplicación y el resultado es el mismo, la marca como Anulada pero no permite reutilizar el número.
¿ Estas diciendo que has modificado tu programa para que, en la bbdd de tu programa, ahora las facturas no se borren, sino que se marquen como anuladas ?
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
No, en mi programa igual elimino la factura pero creo un registro para que se envíe la "baja" al SII.
Realmente lo que tengo es una tabla en la que creo un registro (IDSII , por ejemplo). Luego cada factura (emitida, recibida) se relaciona con el IDSII, de este modo cuando hago envíos me baso en la tabla donde tengo todos los identificadores y ahí es donde marco si está enviado, modificado o anulado ... no se si me explico bien
Realmente lo que tengo es una tabla en la que creo un registro (IDSII , por ejemplo). Luego cada factura (emitida, recibida) se relaciona con el IDSII, de este modo cuando hago envíos me baso en la tabla donde tengo todos los identificadores y ahí es donde marco si está enviado, modificado o anulado ... no se si me explico bien
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
Angel,
Por lo que entiendo en esa tabla tienes un registro por factura, es decir, relacion uno a uno.
En sesa tabla tienes un campo que indica el estado de la factura.
Pero ese estado no me termina cuadrar:
Será enviado cuando envies la factura a la sede electronica
Será anulado CUANDO BORRES LA FACTURA EN TU PROGRAMA. Si es así, entonces no refleja el estado actual de la factura, sino el futuro, cuando sea enviado y tramitado el xml que incluya la baja.
Será modificado ¿ cuando ? ¿ Cuando envies la factura modificada ?
A ver si por favor me lo aclaras, ese tema me tiene la cabeza descuadrada, intentando hacerlo de la mejor manera posible.
Saludos
Seguro que te explicas perfectamente y yo de la misma forma quisiera entenderte.no se si me explico bien
Por lo que entiendo en esa tabla tienes un registro por factura, es decir, relacion uno a uno.
En sesa tabla tienes un campo que indica el estado de la factura.
Pero ese estado no me termina cuadrar:
Será enviado cuando envies la factura a la sede electronica
Será anulado CUANDO BORRES LA FACTURA EN TU PROGRAMA. Si es así, entonces no refleja el estado actual de la factura, sino el futuro, cuando sea enviado y tramitado el xml que incluya la baja.
Será modificado ¿ cuando ? ¿ Cuando envies la factura modificada ?
A ver si por favor me lo aclaras, ese tema me tiene la cabeza descuadrada, intentando hacerlo de la mejor manera posible.
Saludos
Re: Suministro Inmediato de Informacion - SII
juanp wrote:Angel,
Seguro que te explicas perfectamente y yo de la misma forma quisiera entenderte.no se si me explico bien
Por lo que entiendo en esa tabla tienes un registro por factura, es decir, relacion uno a uno.
En sesa tabla tienes un campo que indica el estado de la factura.
Pero ese estado no me termina cuadrar:
Será enviado cuando envies la factura a la sede electronica
Será anulado CUANDO BORRES LA FACTURA EN TU PROGRAMA. Si es así, entonces no refleja el estado actual de la factura, sino el futuro, cuando sea enviado y tramitado el xml que incluya la baja.
Será modificado ¿ cuando ? ¿ Cuando envies la factura modificada ?
A ver si por favor me lo aclaras, ese tema me tiene la cabeza descuadrada, intentando hacerlo de la mejor manera posible.
Saludos
Bueno, me respondo,
Supongo que lo que tienes es una tabla mas o menos asi
SiiEstado.Dbf
-------------------
Numero_Factura C 20
Estado_Factura C 10
Anulada_Factura L 1
Así cuando la factura es anulada, rapidamente creas un registro marcandolo como Anulada_Factura a True y Estado_Factura a "Pendiente"
¿ Es eso ?
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
Viene a ser así. Escribo desde el móvil, luego cuando llegue a la oficina te copio unos pantallazos.
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
juanp, te cuento.
Lo cierto es que estuve dando bastantes vueltas para ver qué sistema me simplificaría más las cosas, y además y muy importante, no afectara al resto del funcionamiento del programa. Dado que tenemos bastantes cientos de usuarios registrados, y de momento sólo cinco o seis van a ser los que van a utilizarlo, por ello que no quiero que el tema del SII sea muy "intrusivo" en la interfaz. De este modo llegué a la conclusión de crear un registro único para todos los documentos y un menú "aparte" en el programa que sólo se activara si el usuario desea utilizar el SII.
De este modo tengo esta tabla
En esta tabla el campo IDSII lo tengo creado también en facturas de compra y facturas de venta. Cuando se crea una factura, directamente creo un registro en la tabla SII con el mismo IDSII que no puede repetirse. Luego tengo una opción en el menú para acceder directamente a la tabla SII y de ahí hacer las operaciones de selección, envío y comprobación de resultados.
Básicamente el esquema de funcionamiento es :
- Creo factura : creo registro en SII
- Modifico factura : si SII->ENVIADO=.F. , dejo modificar, si SII->ENVIADO=.T. también dejo modificar pero aviso y marco el campo SII->MODIFICADO a .T.
- Borro factura : si SII->ENVIADO=.F., dejo borrar, si SII->ENVIADO=.T. también dejo borrar pero aviso y marco el campo SII->BAJA a .T.
De este modo cuando voy a hacer el envío al SII se los registros que tengo que añadir (ENVIADO=.F.), modificar (ENVIADO=.T. .AND. MODIFICADO=.T.) ó dar de baja (ENVIADO=.T. .AND. BAJA=.T.).
Con el resultado si va todo bien ya voy marcando , ENVIADO a .T. , EXITO a .T., pongo BAJA a .F. y ES_BAJA a .T. (esto último por tener claro si ya ha sido transmitido y dado de baja o si aún está pendiente de transmitir).
Por otro lado tengo otro fichero de líneas relacionado con la tabla SII donde guardo el resultado de la comunicación de cada registro de la tabla SII ya que pueden ser varios (alta, modificaciones varias, bajas ) De este modo se puede ver todo lo que ha pasado con cada factura.
Te pego un pantallazo que a veces se ve más claro porque menudo "tocho" me ha quedado
Lo cierto es que estuve dando bastantes vueltas para ver qué sistema me simplificaría más las cosas, y además y muy importante, no afectara al resto del funcionamiento del programa. Dado que tenemos bastantes cientos de usuarios registrados, y de momento sólo cinco o seis van a ser los que van a utilizarlo, por ello que no quiero que el tema del SII sea muy "intrusivo" en la interfaz. De este modo llegué a la conclusión de crear un registro único para todos los documentos y un menú "aparte" en el programa que sólo se activara si el usuario desea utilizar el SII.
De este modo tengo esta tabla
Code: Select all
DEFINE DATABASE SII NAME "Registro SII"
FIELD IDSII TYPE N LEN 6 BROWSE 1 NAME "Identificador para relacionar documentos con tabla SII"
FIELD FECHA TYPE D LEN 8 BROWSE 3 NAME "Fecha de la factura"
FIELD FECHAREC TYPE D LEN 8 BROWSE 4 NAME "Fecha de recepción del documento"
FIELD DOCUMENTO TYPE C LEN 30 BROWSE 5 NAME "Documento"
FIELD TIPODOC TYPE C LEN 50 BROWSE 6 NAME "Tipo Documento"
FIELD TIPOFAC TYPE C LEN 2 NAME "Tipo de factura"
FIELD TIPOFACL TYPE C LEN 100 BROWSE 7 NAME "Literal tipo de factura"
FIELD REGIMEN TYPE C LEN 2 NAME "Clave de regimen especial o trascendencia"
FIELD REGIMENL TYPE C LEN 100 BROWSE 8 NAME "Literal regimen especial o trascendencia"
FIELD SIIDESC TYPE C LEN 50 BROWSE 9 NAME "Descripción de la operación"
// Estados
FIELD MODIFICADO TYPE L LEN 1 BROWSE 10 NAME "Modificado"
FIELD BAJA TYPE L LEN 1 BROWSE 11 NAME "Marcado para baja"
FIELD ES_BAJA TYPE L LEN 1 BROWSE 12 NAME "Registro dado de baja"
FIELD ENVIADO TYPE L LEN 1 BROWSE 12 NAME "Registro enviado"
FIELD EXITO TYPE L LEN 1 BROWSE 13 NAME "Enviado con éxito"
// Registros de envio
FIELD CSV TYPE C LEN 50 NAME "Identificador CSV - Respuesta del SII"
FIELD VSII TYPE C LEN 10 NAME "Versión SII de la comunicación - Respuesta del SII"
FIELD ESTADOENV TYPE C LEN 50 NAME "Estado envío - Respuesta del SII"
FIELD TIMESTAMP TYPE C LEN 50 BROWSE 14 NAME "TimeStamp - Respueta del SII"
// Información extra
FIELD PARTIDA TYPE C LEN 13 NAME "Partida de la factura"
INDEX IDSII TO SII1
END DATABASE
Básicamente el esquema de funcionamiento es :
- Creo factura : creo registro en SII
- Modifico factura : si SII->ENVIADO=.F. , dejo modificar, si SII->ENVIADO=.T. también dejo modificar pero aviso y marco el campo SII->MODIFICADO a .T.
- Borro factura : si SII->ENVIADO=.F., dejo borrar, si SII->ENVIADO=.T. también dejo borrar pero aviso y marco el campo SII->BAJA a .T.
De este modo cuando voy a hacer el envío al SII se los registros que tengo que añadir (ENVIADO=.F.), modificar (ENVIADO=.T. .AND. MODIFICADO=.T.) ó dar de baja (ENVIADO=.T. .AND. BAJA=.T.).
Con el resultado si va todo bien ya voy marcando , ENVIADO a .T. , EXITO a .T., pongo BAJA a .F. y ES_BAJA a .T. (esto último por tener claro si ya ha sido transmitido y dado de baja o si aún está pendiente de transmitir).
Por otro lado tengo otro fichero de líneas relacionado con la tabla SII donde guardo el resultado de la comunicación de cada registro de la tabla SII ya que pueden ser varios (alta, modificaciones varias, bajas ) De este modo se puede ver todo lo que ha pasado con cada factura.
Te pego un pantallazo que a veces se ve más claro porque menudo "tocho" me ha quedado
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
Magnífico Angel y gracias por el aporte que sin duda nos servirá a todos.
Ya se ve que te lo has trabajado. Felicidades.
Se me ocurre que _:
deberían ir al historico... aunque en el registro sii del documento tampoco está mal que esten porque asi tienes ahi los ultimos... mas a mano.
Por cierto ¿ Como compruebas si una factura ha sido modificada ?
Ya se ve que te lo has trabajado. Felicidades.
Se me ocurre que _:
Code: Select all
// Registros de envio
FIELD CSV TYPE C LEN 50 NAME "Identificador CSV - Respuesta del SII"
FIELD VSII TYPE C LEN 10 NAME "Versión SII de la comunicación - Respuesta del SII"
FIELD ESTADOENV TYPE C LEN 50 NAME "Estado envío - Respuesta del SII"
FIELD TIMESTAMP TYPE C LEN 50 BROWSE 14 NAME "TimeStamp - Respueta del SII"
Por cierto ¿ Como compruebas si una factura ha sido modificada ?
AngelSalom wrote:juanp, te cuento.
Lo cierto es que estuve dando bastantes vueltas para ver qué sistema me simplificaría más las cosas, y además y muy importante, no afectara al resto del funcionamiento del programa. Dado que tenemos bastantes cientos de usuarios registrados, y de momento sólo cinco o seis van a ser los que van a utilizarlo, por ello que no quiero que el tema del SII sea muy "intrusivo" en la interfaz. De este modo llegué a la conclusión de crear un registro único para todos los documentos y un menú "aparte" en el programa que sólo se activara si el usuario desea utilizar el SII.
De este modo tengo esta tablaEn esta tabla el campo IDSII lo tengo creado también en facturas de compra y facturas de venta. Cuando se crea una factura, directamente creo un registro en la tabla SII con el mismo IDSII que no puede repetirse. Luego tengo una opción en el menú para acceder directamente a la tabla SII y de ahí hacer las operaciones de selección, envío y comprobación de resultados.Code: Select all
DEFINE DATABASE SII NAME "Registro SII" FIELD IDSII TYPE N LEN 6 BROWSE 1 NAME "Identificador para relacionar documentos con tabla SII" FIELD FECHA TYPE D LEN 8 BROWSE 3 NAME "Fecha de la factura" FIELD FECHAREC TYPE D LEN 8 BROWSE 4 NAME "Fecha de recepción del documento" FIELD DOCUMENTO TYPE C LEN 30 BROWSE 5 NAME "Documento" FIELD TIPODOC TYPE C LEN 50 BROWSE 6 NAME "Tipo Documento" FIELD TIPOFAC TYPE C LEN 2 NAME "Tipo de factura" FIELD TIPOFACL TYPE C LEN 100 BROWSE 7 NAME "Literal tipo de factura" FIELD REGIMEN TYPE C LEN 2 NAME "Clave de regimen especial o trascendencia" FIELD REGIMENL TYPE C LEN 100 BROWSE 8 NAME "Literal regimen especial o trascendencia" FIELD SIIDESC TYPE C LEN 50 BROWSE 9 NAME "Descripción de la operación" // Estados FIELD MODIFICADO TYPE L LEN 1 BROWSE 10 NAME "Modificado" FIELD BAJA TYPE L LEN 1 BROWSE 11 NAME "Marcado para baja" FIELD ES_BAJA TYPE L LEN 1 BROWSE 12 NAME "Registro dado de baja" FIELD ENVIADO TYPE L LEN 1 BROWSE 12 NAME "Registro enviado" FIELD EXITO TYPE L LEN 1 BROWSE 13 NAME "Enviado con éxito" // Registros de envio FIELD CSV TYPE C LEN 50 NAME "Identificador CSV - Respuesta del SII" FIELD VSII TYPE C LEN 10 NAME "Versión SII de la comunicación - Respuesta del SII" FIELD ESTADOENV TYPE C LEN 50 NAME "Estado envío - Respuesta del SII" FIELD TIMESTAMP TYPE C LEN 50 BROWSE 14 NAME "TimeStamp - Respueta del SII" // Información extra FIELD PARTIDA TYPE C LEN 13 NAME "Partida de la factura" INDEX IDSII TO SII1 END DATABASE
Básicamente el esquema de funcionamiento es :
- Creo factura : creo registro en SII
- Modifico factura : si SII->ENVIADO=.F. , dejo modificar, si SII->ENVIADO=.T. también dejo modificar pero aviso y marco el campo SII->MODIFICADO a .T.
- Borro factura : si SII->ENVIADO=.F., dejo borrar, si SII->ENVIADO=.T. también dejo borrar pero aviso y marco el campo SII->BAJA a .T.
De este modo cuando voy a hacer el envío al SII se los registros que tengo que añadir (ENVIADO=.F.), modificar (ENVIADO=.T. .AND. MODIFICADO=.T.) ó dar de baja (ENVIADO=.T. .AND. BAJA=.T.).
Con el resultado si va todo bien ya voy marcando , ENVIADO a .T. , EXITO a .T., pongo BAJA a .F. y ES_BAJA a .T. (esto último por tener claro si ya ha sido transmitido y dado de baja o si aún está pendiente de transmitir).
Por otro lado tengo otro fichero de líneas relacionado con la tabla SII donde guardo el resultado de la comunicación de cada registro de la tabla SII ya que pueden ser varios (alta, modificaciones varias, bajas ) De este modo se puede ver todo lo que ha pasado con cada factura.
Te pego un pantallazo que a veces se ve más claro porque menudo "tocho" me ha quedado
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
Así es, en el histórico guardo _ y en la tabla SII tengo los de la última comunicación.
Respecto a comprobar si una factura ha sido modificada : guardo fecha, cliente o proveedor y el importe en variables locales antes de modificar. Cuango la grabo compruebo si difieren de los datos almacenados. También uso xBrowse modificado con una DATA que actualizo si ha sido alterado.
Ahora estoy trabajando en obtener un listado desde el SII de las facturas enviadas y cotejarlas con las que tengo en el registro "por si acaso". De todos modos aún me quedan probar envíos de bastantes combinaciones de facturas ... entiendo que la mayoría de usuarios tendrán de sobra con facturas nacionales y tal ... pero habrá que probarlo todo porque vaya telita si hay ... uf!!!
Respecto a comprobar si una factura ha sido modificada : guardo fecha, cliente o proveedor y el importe en variables locales antes de modificar. Cuango la grabo compruebo si difieren de los datos almacenados. También uso xBrowse modificado con una DATA que actualizo si ha sido alterado.
Ahora estoy trabajando en obtener un listado desde el SII de las facturas enviadas y cotejarlas con las que tengo en el registro "por si acaso". De todos modos aún me quedan probar envíos de bastantes combinaciones de facturas ... entiendo que la mayoría de usuarios tendrán de sobra con facturas nacionales y tal ... pero habrá que probarlo todo porque vaya telita si hay ... uf!!!
juanp wrote:...
Se me ocurre que _:deberían ir al historico... aunque en el registro sii del documento tampoco está mal que esten porque asi tienes ahi los ultimos... mas a mano.Code: Select all
// Registros de envio FIELD CSV TYPE C LEN 50 NAME "Identificador CSV - Respuesta del SII" FIELD VSII TYPE C LEN 10 NAME "Versión SII de la comunicación - Respuesta del SII" FIELD ESTADOENV TYPE C LEN 50 NAME "Estado envío - Respuesta del SII" FIELD TIMESTAMP TYPE C LEN 50 BROWSE 14 NAME "TimeStamp - Respueta del SII"
Por cierto ¿ Como compruebas si una factura ha sido modificada ?
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
Ahí estamos, vaya telita...
En algún momento, se me ocurrió utilizar el WS para cotejar los datos y así saber lo que hay que dar de alta, de baja o modificacion.
Ejemplo 1: si tengo yo la factura y no la tienen "ellos", pues eso es un alta.
Ejemplo 2: si la factura tiene unos importes distintos a los suyos, pues eso es una modificacion.
Pero lo descarté, por ser una locura.. ¿ o no ?
En algún momento, se me ocurrió utilizar el WS para cotejar los datos y así saber lo que hay que dar de alta, de baja o modificacion.
Ejemplo 1: si tengo yo la factura y no la tienen "ellos", pues eso es un alta.
Ejemplo 2: si la factura tiene unos importes distintos a los suyos, pues eso es una modificacion.
Pero lo descarté, por ser una locura.. ¿ o no ?
Así es, en el histórico guardo _ y en la tabla SII tengo los de la última comunicación.
Respecto a comprobar si una factura ha sido modificada : guardo fecha, cliente o proveedor y el importe en variables locales antes de modificar. Cuango la grabo compruebo si difieren de los datos almacenados. También uso xBrowse modificado con una DATA que actualizo si ha sido alterado.
Ahora estoy trabajando en obtener un listado desde el SII de las facturas enviadas y cotejarlas con las que tengo en el registro "por si acaso". De todos modos aún me quedan probar envíos de bastantes combinaciones de facturas ... entiendo que la mayoría de usuarios tendrán de sobra con facturas nacionales y tal ... pero habrá que probarlo todo porque vaya telita si hay ... uf!!!
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
Pues tampoco es tan descabellado ... es otro planteamiento. De todos modos como aún no tengo claro el tema del listado de facturas que remiten (he visto que se pueden paginar los resultados en función a ciertas variables), aún no me aventuro a decir nada, cuando lo tenga bien comprobado lo expongo por aquí.
Saludos!
Saludos!
juanp wrote:Ahí estamos, vaya telita...
En algún momento, se me ocurrió utilizar el WS para cotejar los datos y así saber lo que hay que dar de alta, de baja o modificacion.
Ejemplo 1: si tengo yo la factura y no la tienen "ellos", pues eso es un alta.
Ejemplo 2: si la factura tiene unos importes distintos a los suyos, pues eso es una modificacion.
Pero lo descarté, por ser una locura.. ¿ o no ?
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
Re: Suministro Inmediato de Informacion - SII
Pero si es que al final, como un rio que inexorablemente, a pesar de todos los obstáculos, confluye en el mar, digo que al final tendremos que hacer un proceso de "cuadre", consistente en ver qué tiene la sede electrónica, ver qué tengo yo y sincronizar la sede electronica. ¿ O me equivoco ?
- AngelSalom
- Posts: 664
- Joined: Fri Oct 07, 2005 7:38 am
- Location: Vinaros (Castellón ) - España
- Contact:
Re: Suministro Inmediato de Informacion - SII
No habrá más remedio, al menos antes de la declaración mensual, para ver que las cifras cuadren
Angel Salom
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0
http://www.visionwin.com
---------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.0