Realizan acciones para que se cumpla un proceso:
Es un usuario, El que va adquirir el articulo(S) o rif del agente (de retencion),
es el que entrega dinero a el VENDEDOR
:
Es un usuario, El que ofrece el bien a comprar o rif del sujeto (retenido),
este recibe el dinero y entrega el articulo(S) al COMPRADOR
.
ES un usuario o tambien una entidad o un sistema no usuario, Es o son quien(es) emite(n) y procesa(n) la informacion solo de facturas para asi procesar el ISLR o IVA, ya que debe contabilizar el recibo de tipo factura unicamente, para realizar retenciones y declaraciones al fisco.
ES un usuario o tambien una entidad o un sistema no usuario, Es o son quien(es) emite(n) y procesa(n) la informacion de recibos tanto facturas como notas, estos no procesan informacion, solo la registran para contabilizar costes e inversion.
El el bien recibido por el rif del agente o VENDEDOR
ofrecido por el rif del sujeto o VENDEDOR
hay de dos tipos:
Que puede ser computadores, escritorios, comida sin cocer, estos IMPORTANTE estos generan IVA de uno o varios tipos.
Que puede ser prestados consumidos (comida cocida servida, internet, agua) IMPORTANTE estos generan ISLR y deben ser declarados
Documento legal que acredita la recepción de productos/mercancías o dinero, las hay de varios tipos aqui siendo las mas importantes:
Recibo, pero cuando tiene legalidad pero a nivel fiscal
De entrega o de credito o de pagos, no tienen validez sino entre las partes
Sonlso distintos artefactos de automatizacion de informacion, en la red y estaninvolucrados varios
- repositorio de recibos
- sistema de retenciones
- sistema de gastos
- interfaz de recibos (subidas, y administracion)
Es el lugar donde residen estos sistemas y por medio el cual los actores (de los cuales pueden ser usuarios o no) participan e interactuan con la informacion y los adjuntos o recibos .
El sistema es solo un API es decir ningun actor interactua directamente conel, pero este participa en los proceso, asi que se describe estos y la participacion de los actores:
- COMPRADOR : compra con el rif, una nevera, una comida, paga el internet, como ejemplos
- COMPRADOR : noitificar que se es contribuyente especial al vendedor
- aeriguar que pasa si el que compra no lo dice
- vendedor no esta en el deber de indicarle que retenga, el comprador debe hacerlo
Esta etapa solo fabria el sistema de repositorio de recibos, y su funcionalidad se limitara a subir y mostrar recibos, con una interfaz embebida minima sin administracion:
El sistema de recibos solo recive una peticion POST con el fomulario multiform los datos aqui y el adjunto.
- 3 - COMPRADOR : inmediatamente cargar el recibo al sistema sea por telefono o por pc, y llenar los datos
- rif del agente de retencion o el rif del que compra o el que hace la compra
- rif del sujeto retenido o rif de la razon social a la que compran (el rif del negocio al que hicieron la compra)
- numero de factura OJO no es lo mismo que numero de control
- numero de control: OJO si es ticket o no tiene usar el numero de la caja, o el numero al final en la linea MH
- fecha de el recibo (no es lo mismo que fecha de entrega de factura ni fecha de realizacion de dicha compra)
- fecha de la compra (ojo puede no ser la misma de la fecha de la factura), fecha de comra = fecha que se concreta o entrega dinero, el sistem automatico pone la del dia y el tipo la modifica hacia adelante
- base monto (el monto de la compra, monto total gastado incluyendo el impestos todos lso aplicados)
- base excento (el monto de la compra pero solo los montos que no tiene aplicado ningun impuesto en el recibo)
- flag o selector si es salida de dinero para pagar un servicio (pagos) o si es salida de dinero para articulo adquiridos (compra)
Esta etapa agrega un sistema de cola, para llevar control de el adjunto procesado, se limitara a marcar la cola en tres estados:
Marca enla cola que el adjunto es nuevoy aun nadie sabe de el, segun el tipo de adjunto y naturaleza, envia notificaciones.
Marca eladjunto como que ya fue obtenido del api por un sistema remoto (halo el adjunto por el gasto o retencion) y el usuario realizao algo con el mismo.
Marca que el adjunto ya esta en el otro sistema (ejemplo gasto, retencion) y se saca de la cola.
- 4 - SISTEMA: se coloca en la cola de la lista de procesos pendientes de retencion y avisos de gastos todo salida de dinero genera un recibo
- SISTEMA: poner disponible el recibo cargado, por medio del api
- SISTEMA: colocar en cola de el proceso,
- SISTEMA: enviar notificacion para gastos, siempre que se suba un recibo
- SISTEMA: clasificarlo, entre esas clasificaciones estan la mas importante: servicio(pago) o articulo(compra), y contribuyente especial o no
- si es contribuyente especial
- SISTEMA: enviar notificacion para contabilidad siempre que sea un recibo tipo factura y sea contribuyente especial
- si es un servicio
- SISTEMA: colocar en otra cola solo para contabilidad, de el proceso, de retenciones para ISLR
- si es un articulo
- SISTEMA: colocar en otra cola solo para contabilidad, de el proceso, de retenciones para IVA
Estos determinan el desarrollo, son los logros o objetivos del desarrollo pendientes por cumplir, los WIP son los que se estan trabajando.
Los casos de uso solo tienen la etiqueta "Metas/Propuestas" .
flujo | tarea | caso de uso / actor | COMPRADOR | CONTABILIDAD | GASTOS |
---|---|---|---|---|---|
1. | #5 | iniciar sesion | x | x | x |
2. | #6 | cargar recibo | x | ||
3. | #8 | listar recibos | x | x | x |
4. | #9 | buscar recibos | x | x | x |
5. | #7 | detalle recibo | x | x | x |
6. | marcar recibo | x | x | ||
7. | cerrar recibo | x | x | ||
8. | anular recibo | x | |||
9. | borrar recibo | x |
En la segunda etapa se empleara el sistema de permisos
Realizar el primer punto de entrada del api:
Descripción El actor ( no importa cual) inicia sesión en el sistema para poder hacer uso de sus privilegios y funciones.
- Actores Principales COMPRADOR, VENDEDOR, CONTABILIDAD, GASTOS
- Usuario Funcional
- Actor Secundario: Base de datos, API receiptsapi
- 1 el API recibe los parametros POST
username
: REQUERIDO : usuario entre 6 y 20 caracters alfanumericosuserpass
: REQUERIDO : contraseña entre 6 y 20 caracteres alfanumericosuserkey
: REQUERIDO : palabra de 40 caracteres alfanumerica
- 2 El API valida los datos: RESPUESTA datos correctos
- mensaje json de datos correctos y permisos de usuarios
- 3 El sistema permite el acceso: RESPUESTA sesion iniciada
- mensaje json de datos correctos y permisos de usuarios
- 2 El API valida los datos: RESPUESTA datos erroneos
- mensaje json de datos incorrectos session invalida
- 2 El API valida los datos: RESPUESTA api key no esta confifurada
- mensaje json de datos incorrectos y mensaje que la apikey no es valida
- NOTA: no se dira que la apikey no esta configurada sino que no es valida
- 3 El sistema IMPIDE el acceso: RESPUESTA sesion incorrecta
- mensaje json de datos incorrectos sea mensaje que la apikey no es valida o de la clave
Realizar el segundo punto de entrada del api:
Descripción: El actor ( no importa cual) carga un documento.
- Actores Principales COMPRADOR
- Actor Secundario: Base de datos, API receiptsapi
- #5 Caso de uso iniciar sesion esta se verifica desde las cabeceras junto con su clave.
- Actor unico COMPRADOR
- Artefactos: recibo escaneado o fotografiado
- DIASCARGA : cantidad de dias permitido para cargar recibos
- 1 el API recibe los parametros POST
rif_agente
: REQUERIDO : rif del compradorrif_sujeto
: OPCIONAL : rif del vendedornum_recibo
: OPCIONAL/REQUERIDO : si hay rif de vendedor, es requerido, es el numero de facturanum_control
: OPCIONAL/REQUERIDO : si hay rif de vendedor, requerido, es numero caja o numero linea MHfecha_recibo
: REQUERIDO : fecha de la factura/nota indicada en el recibofecha_compra
: OPCIONAL : se pone a la fecha actual (de no venir) o maximo DIASCARGA atrasmonto_recibo
: REQUERIDO : base imponible monto total todo el recibo, solo positivos sin ceromonto_excento
: REQUERIDO : monto de la compra que no se le aplica ningun impuesto, solo positivos incluye cerotipo_recibo
: REQUERIDO : factura o notaadjunto_recibo
: REQUERIDO : el recibo de la factura o nota escaneado
- 2 El API valida los datos: PROCESA LOS DATOS
- el api guarda en base de datos los datos y tambien el recibo en base64
- el api tambien guarda el recibo en el sistema de archivos, tabla anual
- la ruta en el sistema de archivos es separada directorios por años
- mensaje json de el id del recibo YYYYMMDDHHmmss, mensaje archivo subido correctamente
- 3 El API valida los datos: RESPUESTA detalle del recibo cargado
- mensaje json de la clasificacion de el recibo y ruta del archivo adjuntado
- la respuesta de CAso de uso #7 : detalle recibo
-
2 El API valida los datos: RESPUESTA error en el proceso
- mensaje json de datos correctos y el error del sistema si no puedo guardar o paso algo
-
3 El API valida los datos: RESPUESTA datos incompletos o incorrectos
- mensaje json de datos correctos y los campos que tienen los datos incorrectos
Listar resumido los recibos o documentos cargados en el sistema segun criterios de filtrado o busqueda
- Actores Principales COMPRADOR, GASTOS, CONTABILIDAD
- Actor Secundario: Base de datos, API receiptsapi
- #5 Caso de uso iniciar sesion esta se verifica desde las cabeceras junto con su clave.
- DIASCARGA : cantidad de dias permitido para cargar recibos
- 1 el API recibe los parametros GET, solo llama el punto de entrada
rif_agente
: OPCIONAL : rif del compradorrif_sujeto
: OPCIONAL : rif del vendedornum_recibo
: OPCIONAL : numero de factura o nota de recibonum_control
: OPCIONAL : numero caja o numero linea MHfecha_recibo
: OPCIONAL : fecha de la factura/nota indicada en el recibofecha_compra
: OPCIONAL : se pone a la fecha actual (de no venir) o maximo DIASCARGA atrasmonto_factura
: OPCIONAL : total toda la factura, solo positivos sin cerotipo_recibo
: OPCIONAL : factura o nota
- 2 El API lista paginado la primera pagina y en ella los ultimos 100 recibos segun los criterios filtrados
- Si el actor es COMPRADOR, solo se listan sus recibos, Caso contrario se listan todos los recibos
- mensaje json de exito segun el actor en sesion
- listado con estas colunmas:
cod_recibo
: mostrar : YYYYMMDDHHMMSSrif_agente
: mostrarrif_sujeto
: mostrar si existe sino vaciofecha_compra
: mostrar, formato YYYYMMDDmonto_recibo
: mostrar o 0, si cero mostrar "error" al lado
-
2 El API no muestra recibos si no los hay o no pertenecen al actor GASTOS o CONTABILIDAD
- mensaje json con el estado en error y el mensaje
- devuelve una linea enla primera pagina todos los mismos campos pero con valores en 0 o vacios
-
2 El API no muestra recibos si los existentes son mas de un año o no pertenecen al actor GASTOS o CONTABILIDAD
- mensaje json con el estado en error y el mensaje que no se han realizado cargas recientes
- devuelve una linea enla primera pagina todos los mismos campos pero con valores en 0 o vacios
Realizar el cuarto punto de entrada del api:
Detalle completo de un recibo o documento en el sistema ya cargado este anulado o no, tenga mas de un año o no!
- Actores Principales COMPRADOR, GASTOS, CONTABILIDAD
- Actor Secundario: Base de datos, API receiptsapi
- #5 Caso de uso iniciar sesion esta se verifica desde las cabeceras junto con su clave.
- COMPRADOR: se mostrara el recibo si este lo cargo dicho usuario
- GASTOS/CONTABILIDAD: puede ver cualquier recibo
- 1 el API recibe los parametros GET, solo llama el punto de entrada
cod_recibo
: REQUERIDO : id de recibo YYYYMMDDHHMMSS
- 2 El API lista paginado la primera pagina y en ella EL DETALLE del recibo segun el codigo de id dado
- Si el actor es COMPRADOR, solo se listan sus recibos, Caso contrario se listan todos los recibos
- mensaje json de exito segun el actor en sesion
- listado con estas colunmas:
cod_recibo
: mostrar : YYYYMMDDHHMMSSrif_agente
: mostrarrif_sujeto
: mostrar si existe sino vacionum_recibo
: mostrar siemprenum_control
: mostrar si existe sino vaciofecha_recibo
: mostrar, formato YYYYMMDDfecha_compra
: mostrar, formato YYYYMMDDmonto_recibo
: mostrar o 0, si cero mostrar "error" al ladomonto_excento
: mostrar o 0tipo_recibo
: FACTURA/NOTAadjunto_recibo
:- ruta en sistema de archivo, el api debe verificar si existe, ruta publica del server
- caso contrario usa el guardado en la DB base64 y lo vuelve colocar en el sistema de ficheros
-
2 El API no muestra recibos porque no existe el id
- mensaje json con el estado en error y el mensaje, EL ID RECIBO NO EXISTE EN EL SISTEMA
- devuelve una linea enla primera pagina todos los mismos campos pero con valores en 0 o vacios
-
2 El API no muestra recibos porque el recibo no le pertenece
- mensaje json con el estado en error y el mensaje, EL ID RECIBO NO LE PERTENECE
- devuelve una linea enla primera pagina todos los mismos campos pero con valores en 0 o vacios
-
2 El API no muestra recibos porque el parametro es incorrecto o hay un problema en la db
- mensaje json con el estado en error y el mensaje, ERROR INTERNO O PARAMETRO INCORRECTO
- devuelve una linea enla primera pagina todos los mismos campos pero con valores en 0 o vacios