erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-004-datos-fiscales.md

135 lines
3.5 KiB
Markdown

# US-MMD001-004: Configurar Datos Fiscales
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD001-004 |
| **Epica** | EPIC-MMD-001 - Fundamentos |
| **Modulo** | fundamentos |
| **Prioridad** | P0 |
| **Story Points** | 3 |
| **Sprint** | Sprint 1 |
| **Estado** | Backlog |
| **Asignado a** | Por asignar |
---
## Historia de Usuario
**Como** administrador del taller,
**quiero** configurar los datos fiscales de mi negocio (RFC, regimen fiscal, direccion fiscal),
**para** poder generar facturas electronicas validas ante el SAT.
## Descripcion Detallada
El taller debe poder registrar su informacion fiscal completa para cumplir con los requisitos de facturacion electronica CFDI 4.0 en Mexico. Esto incluye RFC, razon social, regimen fiscal y direccion fiscal.
---
## Criterios de Aceptacion
**Escenario 1: Configurar RFC y razon social**
```gherkin
DADO que estoy en la configuracion fiscal
CUANDO ingreso RFC "DME850101ABC" y razon social "Diesel Mecanica Express SA de CV"
ENTONCES el sistema valida el formato del RFC
Y guarda los datos correctamente
```
**Escenario 2: Validacion de RFC**
```gherkin
DADO que ingreso un RFC con formato invalido
CUANDO intento guardar
ENTONCES el sistema muestra error "RFC invalido"
Y no permite continuar
```
**Escenario 3: Seleccionar regimen fiscal**
```gherkin
DADO que configuro el regimen fiscal
CUANDO selecciono de la lista de regimenes SAT
| Clave | Descripcion |
| 601 | General de Ley Personas Morales |
| 603 | Personas Morales con Fines no Lucrativos |
| 612 | Personas Fisicas con Actividades Empresariales |
| 621 | Incorporacion Fiscal |
ENTONCES el sistema registra el regimen seleccionado
```
**Escenario 4: Configurar direccion fiscal**
```gherkin
DADO que configuro la direccion fiscal
CUANDO completo los campos:
| Campo | Valor |
| Calle | Av. Industrial |
| Numero Exterior | 1234 |
| Colonia | Zona Industrial |
| Codigo Postal | 64000 |
| Ciudad | Monterrey |
| Estado | Nuevo Leon |
ENTONCES el sistema valida el CP contra catalogo SAT
Y guarda la direccion completa
```
---
## Campos Requeridos
| Campo | Tipo | Requerido | Validacion |
|-------|------|-----------|------------|
| RFC | string(13) | Si | Formato RFC valido |
| Razon Social | string | Si | Min 5 caracteres |
| Regimen Fiscal | enum | Si | Catalogo SAT c_RegimenFiscal |
| Calle | string | Si | - |
| Numero Exterior | string | Si | - |
| Numero Interior | string | No | - |
| Colonia | string | Si | - |
| Codigo Postal | string(5) | Si | Catalogo SAT c_CodigoPostal |
| Municipio | string | Si | - |
| Estado | string | Si | Catalogo SAT c_Estado |
| Pais | string | Si | Default: MEX |
---
## Tareas Tecnicas
**Database:**
- [ ] DB-010: Agregar campos fiscales a tabla `workshops`
- [ ] DB-011: Cargar catalogo SAT c_RegimenFiscal
**Backend:**
- [ ] BE-013: Agregar validacion RFC con algoritmo
- [ ] BE-014: Endpoint PATCH /api/workshops/me/fiscal
- [ ] BE-015: Validar CP contra catalogo SAT
**Frontend:**
- [ ] FE-013: Crear FiscalDataForm component
- [ ] FE-014: Integrar selector de regimen fiscal
- [ ] FE-015: Validacion de RFC en tiempo real
---
## Dependencias
**Depende de:**
- [ ] US-MMD001-001: Configurar taller
**Bloquea:**
- [ ] EPIC-MME-007: Facturacion CFDI
---
## Definition of Done (DoD)
- [ ] Formulario de datos fiscales funcionando
- [ ] Validacion de RFC implementada
- [ ] Catalogos SAT cargados
- [ ] Tests pasando
- [ ] Datos guardados correctamente
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06