Cita:
Empezado por Jaketon
Creo q más que el usuario actue al respecto. Sería mejor un WS que devuelva información correcta a una sencilla consulta. Es mi opinión. Si le pregunto a una calculadora si 2+2 son 4 no me puede decir que SI que 3+3 son 6
|
El asunto está en que el WS tiene que comparar la totalidad o parte de la Razón Social con el NIF y devolver una respuesta en función de esa dupla. Esto es porque no sabe si en el SIF el usuario se equivocó en el NIF o en la Razón Social.
En todo SIF deberían hacerse varias comprobaciones antes de generar los RF, de esa manera reducimos al mínimo los errores devueltos por el sistema y evitamos tener que corregir los mismos para volver a mandarlos:
1. Comprobar en el servicio de cotejo si el NIF+Razón Social del destinatario están en estado IDENTIFICADO. Si lo está, marcarlo en la base de datos como IDENTIFICADO y actualizar los datos a los devueltos por la AEAT, y no volver a preguntar por ese destinatario en el futuro. Antes de poner el SIF en funcionamiento, el NIF y Razón Social del obligado tributario (OT) que expide los RF deben ser los registrados en la AEAT.
2. Realizar la validación de errores, siguiendo el documento de validaciones y errores publicado por la AEAT.
3. Generar hash en función del último RF del OT.
4. Generar el RF con los datos ya validados de la factura en el punto 2 y con el hash del punto 3.
Si alguna de las funciones anteriores falla, el SIF no puede marcar la factura como finalizada (emitida) y deberá avisar al usuario de errores por si algunos de ellos está de su mano corregir o si debe reintentarlo más tarde.
Si no falla ninguna, ya se puede imprimir la factura con su código QR.
Posteriormente, un subproceso debe enviar los RF agrupados generados desde el último envío y enviarlos siguiendo el control de flujo que especifica la AEAT (el control de flujo es por SIF y por OT, esto obliga a guardar en algún sitio los tiempos devueltos por el Webservice de cada OT y ejecutar los envíos en dichos tiempos):
1. Agrupo los RF de un mismo OT y los envío tras cumplirse el tiempo devuelto en el anterior envío, o bien los envío sobre la marcha si se han acumulado 1000 registros o si es el primer envío.
2. Gestionar la respuesta para ver si algún RF dio error. Si alguno dio error, debe comunicarlo de alguna forma al SIF principal para que el usuario corrija los datos erróneos de la factura.
3. Para el que tuvo error, una vez corregida la factura se generará otro RF de tipo Alta por rechazo o por subsanación.
4. Para el que no tuvo error, siempre conviene llevar un registro interno de los envíos aunque sólo sea para justificarlo al usuario del SIF, pero al ya estar en manos de la AEAT puedes considerar borrarlo.
Esto es más o menos lo que mi empresa va a hacer con sus SIF. Si estoy equivocado o falta añadir algo, por favor corríjanme y así ganamos todos.