Appearance
Preguntas sobre Categoria IVA
INFORMACION REQUERIDA - Preguntas generadas durante analisis retrospectivo el 2026-02-09
Preguntas Criticas (Afectan la documentacion de negocio)
1. Solo operacion de lectura - No hay operaciones CUD
Observacion: El endpoint backend/categoria-iva.php solo implementa el metodo GET. No hay POST, PUT, PATCH ni DELETE implementados. El Controller CategoriaIvaController solo tiene metodos getAll() y getOne().
Pregunta: Es intencional que las categorias de IVA sean solo de lectura? Son datos provistas exclusivamente por ARCA (organismo fiscal argentino) y no deben ser modificadas por los usuarios? O existe necesidad futura de permitir alta/baja/modificacion?
Impacto: Define si el recurso se documenta como "Vista de solo lectura" o como "Resource con CRUD limitado". Afecta los casos de uso y criterios de aceptacion.
Respuesta:
2. Relacion con Condicion IVA (ordiva) - Dos recursos separados en sidebar
Observacion: En el sidebar de Ventas, bajo "Bases", existen dos opciones separadas:
- "Categoria IVA" (
?loc=mvcia) - Tablaalivacon alicuotas/porcentajes de ARCA - "Condicion IVA" (
?loc=mvci) - Tablaordivacon condiciones fiscales (RI, CF, Exento, etc.)
Las dos tablas no tienen una relacion directa de foreign key entre si, pero comparten el concepto "IVA" y ambas tienen codigos de ARCA (por ejemplo, la migracion 20250206132447 actualiza codigos de ordiva para cumplir con RG 5616).
Pregunta: Cual es la relacion de negocio exacta entre "Categoria IVA" (alicuotas como 21%, 10.5%) y "Condicion IVA" (condiciones fiscales como RI, CF, Monotributo)? La "Condicion IVA" determina que "Categorias de IVA" se aplican en la facturacion?
Impacto: Afecta la documentacion de relaciones entre entidades y la comprension del dominio fiscal.
Respuesta:
3. Datos pre-cargados por semilla - No gestionados por usuario
Observacion: La tabla aliva se carga con datos fijos mediante el seed Aliva.php:
- Codigo 5: IVA 21%
- Codigo 3: Exento (0%)
- Codigo 4: IVA 10.50%
- Codigo 6: IVA 27%
- Codigo 8: IVA 5%
- Codigo 9: IVA 2.50%
Estos codigos corresponden a los codigos oficiales de ARCA para alicuotas de IVA.
Pregunta: Estos registros son fijos/inmutables definidos por ARCA? Si ARCA agrega o modifica una alicuota, como se actualiza la tabla? Por migracion de datos o el usuario deberia poder agregarlos?
Impacto: Define si el recurso necesita capacidades de edicion o si las actualizaciones son exclusivamente via migraciones de base de datos.
Respuesta:
4. Columna "porcentaje" no visible en la tabla del frontend
Observacion: La tabla DataTable en cat-iva.js solo muestra dos columnas: "Codigo" y "Nombre". Sin embargo, el modelo backend retorna tres campos: codigo, nombre y porcentaje. El campo porcentaje esta disponible en el DTO pero no se muestra al usuario.
Pregunta: Es intencional que el porcentaje no se muestre en la tabla? El porcentaje ya esta implicito en el nombre (ej: "IVA 21 %") o deberia mostrarse como columna separada?
Impacto: Afecta la documentacion de la vista y los campos que se presentan al usuario.
Respuesta:
Preguntas Tecnicas (Afectan la documentacion tecnica)
5. Boton de acciones comentado en cat-iva.js
Observacion: En el archivo cat-iva.js (lineas 19-29), existe una columna "Acciones" con un boton de modificar que esta comentada. Esto sugiere que en algun momento se considero agregar la capacidad de editar categorias de IVA, pero fue descartada o pospuesta.
Pregunta: Se descarto la edicion de categorias de IVA deliberadamente? El codigo comentado deberia eliminarse o preservarse para una futura implementacion?
Impacto: Afecta si se documenta la edicion como funcionalidad futura o como deliberadamente excluida.
Respuesta:
6. Tabla aliva a nivel EMPRESA - Compartida entre sucursales
Observacion: La migracion de aliva define getDefaultLevels() como [self::LEVEL_EMPRESA], lo que significa que la tabla se crea a nivel empresa y es compartida entre todas las sucursales y cajas. Esto tiene sentido dado que las alicuotas de IVA son las mismas para toda la empresa.
Pregunta: Existe algun escenario donde diferentes sucursales necesiten diferentes alicuotas de IVA? Se confirma que LEVEL_EMPRESA es el nivel correcto y permanente?
Impacto: Afecta la documentacion de multi-tenancy y el nivel de schema de la tabla.
Respuesta:
7. Condicion de habilitacion: isVentasEnabled OR isComprasEnabled
Observacion: La tabla aliva se crea solo si el modulo Ventas O Compras esta habilitado (isVentasEnabled() || isComprasEnabled()). La tabla ordiva tiene una condicion mas amplia que tambien incluye CtaCte y CRM.
Pregunta: Es correcta esta diferencia? Las categorias de IVA no son necesarias para CtaCte y CRM, mientras que las condiciones de IVA si lo son?
Impacto: Afecta la documentacion de dependencias entre modulos y requisitos de habilitacion.
Respuesta:
8. DTO CategoriaIva usa clase DTO deprecada
Observacion: El DTO Resources/Venta/CategoriaIva.php extiende App\Resources\DTO, que esta marcada como @deprecated con la nota "Usar App\Resources\FullDTO". La clase moderna FullDTO usa constructor property promotion y otros patrones modernos de PHP 8.2+.
Pregunta: Deberia migrarse el DTO a la clase FullDTO como parte de una actualizacion? Es prioritario o puede esperar?
Impacto: Afecta las recomendaciones tecnicas de modernizacion del codigo.
Respuesta:
Como Usar Este Documento
Este documento contiene preguntas que surgieron durante el analisis del codigo. Cada pregunta incluye espacio para agregar la respuesta:
Formato de respuesta:
**Respuesta**: {Texto de la respuesta aqui}Una vez respondidas, estas respuestas se incorporaran a la documentacion final.
Estado de Validacion
- [ ] 8 preguntas especificas requieren validacion con stakeholders
- [ ] Preguntas genericas ya eliminadas
- [ ] Documentacion actualizada con respuestas