
📍Skutr Docs — Día 12. Multiorganizaciones
Ayer — precisión legal de los prompts y adaptación móvil. Hoy — el freelancer ya no está atado a un único IP.
—
🏢 Organizaciones — entidad separada
Antes los datos se almacenaban en el perfil del usuario. Un INN, un nombre, una cuenta bancaria. Pero un freelancer puede ser autónomo como Ivanov I.I. para pedidos pequeños y como IP Ivanov para grandes. O cerrar su IP y pasar a autónomo — y los documentos antiguos deben conservar los datos anteriores.
Separé las organizaciones en una tabla aparte. 12 campos, relación 1:N con el usuario, bandera "por defecto". La migración trasladó los datos existentes del perfil a la primera organización automáticamente — ningún usuario perdió nada.
API CRUD, página de gestión en el panel, selección de organización en los cuatro formularios de documentos. Bot: "Mis datos" pasó a ser "Mis organizaciones" — lista con ⭐️ en la principal, añadir nuevas, cambiar entre ellas.
—
🔀 Selección de organización al crear un documento
Si hay una sola organización, todo funciona como antes, el usuario no nota nada. Si hay dos o más, antes de crear una factura, acta, presupuesto o contrato aparece un paso "Seleccione la organización ejecutora" con botones inline.
La organización seleccionada se pasa al generador y se guarda en el documento.
Arquitectónicamente: _maybe_choose_org() — un helper único para los cuatro FSM. Un patrón, cuatro puntos de llamada, cero duplicación.
—
✏️ Edición de todos los documentos en el panel
Las facturas y actas se podían editar después de creadas. Los presupuestos y contratos solo al crearlos en el modal de vista previa. Después de guardar — solo lectura. ¿Por qué? Porque canEdit solo verificaba invoice y act.
Trasladé la lógica completa de edición del modal a la página del documento. Presupuesto: título, introducción, secciones con puntos, costo por partidas con cálculo automático, plazo de validez, siguientes pasos. Contrato: preámbulo, secciones con párrafos (añadir/eliminar), monto. Ahora un documento creado por voz en el bot a las 2 de la mañana se puede editar tranquilamente por la mañana en el panel.
—
🧹 Tres pequeñas cosas que molestaban
Insignias sin etiqueta. Los documentos del bot a través de "documentos rápidos" se creaban con source="quick". El frontend solo conocía "bot" y "web". 27 documentos colgaban sin marca. Lo cambié a "bot", actualicé los existentes con un solo UPDATE.
Navegación hacia atrás. Entras en la sección "Facturas", abres una factura concreta, pulsas "A documentos" — llegas a "Todos". Ahora el botón dice "A facturas" y vuelve a la sección de facturas. Parámetro de consulta ?tab=invoice — simple y fiable.
Búsqueda en el bot. Botón "🔍 Buscar documento" en "Mis documentos". Pero los documentos ya están divididos en secciones, y en el panel hay búsqueda completa con filtros. Lo eliminé. Menos botones — menos carga cognitiva.
—
💡 Insight del día
Las multiorganizaciones no son una función para corporaciones. Es la realidad del freelancing. Un autónomo abre un IP — y necesita ambos conjuntos de datos. Un diseñador trabaja como persona física para clientes rusos y como IP para clientes extranjeros. Si el producto ata a una persona a una sola entidad legal — no entiende a su audiencia.
—
🎯 Resumen del día: modelo Organization con API CRUD y migración, selección de organización en el bot cuando hay 2+ orgs, edición completa de presupuestos y contratos en el panel, corrección de insignias source, navegación por pestañas, limpieza de UI.
—
#buildinpublic #skutrdocs #AI #freelance #autónomos #startup #SaaS #producto #UX
Comentarios
0Aún no hay comentarios.