feat(sales): crear modelo base de Delivery Note #11

Closed
opened 2026-03-16 21:01:31 +00:00 by leandro · 0 comments
Owner

Objetivo

Crear la base de datos y el modelo base del nuevo documento comercial Delivery Note (remito) en el módulo Sales.

Esta story es deliberadamente pequeña y atómica: solo cubre persistencia base y preparación para scaffold EF.

Contexto funcional

El Delivery Note es un documento independiente.

Puede estar asociado opcionalmente a:

  • Quote
  • Sales Invoice (futuro)

Para el MVP solo se generará desde Quote aprobado, pero en esta story no se implementa lógica ni endpoints.

Alcance

Crear tablas:

  • PhS_DeliveryNote
  • PhS_DeliveryNoteDetail

Definir:

  • campos mínimos de cabecera y detalle
  • FK necesarias para Quote
  • estructura preparada para futuros orígenes de ítems
  • índices básicos
  • script listo para scaffold EF

Fuera de alcance

  • Core
  • API
  • UI Blazor
  • PDF
  • lógica de negocio
  • generación desde Quote
  • validaciones funcionales
  • numeración automática

Criterios de aceptación

  • Existe tabla PhS_DeliveryNote
  • Existe tabla PhS_DeliveryNoteDetail
  • PhS_DeliveryNote soporta asociación opcional a Quote
  • PhS_DeliveryNote deja previsto salesinvoice_id para futuro
  • PhS_DeliveryNoteDetail soporta ítems documentales con:
    • description
    • quantity
    • notes
  • PhS_DeliveryNoteDetail deja prevista la trazabilidad de origen del renglón
  • Se crean índices básicos de búsqueda y navegación
  • El script puede ejecutarse sin tocar Core/API/UI

Decisiones de diseño

  • El documento se modela con cabecera + detalle, consistente con Quotes y Expeditions.
  • El detalle es documental, por eso description, quantity y notes viven siempre en la tabla, incluso si existe una referencia a origen.
  • Para no acoplar esta primera story a demasiadas tablas/módulos, el detalle usa:
    • origin_type
    • origin_id
    • quote_detail_id nullable como FK concreta para el MVP
  • salesinvoice_id queda como campo preparado para futuro, sin FK todavía.
  • Se agrega line_number para conservar orden estable de impresión y edición.
  • Se usa quantity decimal(18,2) para dejar margen a futuros casos no enteros, aunque el MVP venga de Quote.

Entregable esperado

  • Script SQL de creación de tablas
  • Índices básicos
  • Modelo listo para scaffold EF en siguiente story
## Objetivo Crear la base de datos y el modelo base del nuevo documento comercial **Delivery Note** (remito) en el módulo Sales. Esta story es deliberadamente pequeña y atómica: solo cubre persistencia base y preparación para scaffold EF. ## Contexto funcional El Delivery Note es un documento independiente. Puede estar asociado opcionalmente a: - Quote - Sales Invoice (futuro) Para el MVP solo se generará desde **Quote aprobado**, pero en esta story no se implementa lógica ni endpoints. ## Alcance Crear tablas: - `PhS_DeliveryNote` - `PhS_DeliveryNoteDetail` Definir: - campos mínimos de cabecera y detalle - FK necesarias para Quote - estructura preparada para futuros orígenes de ítems - índices básicos - script listo para scaffold EF ## Fuera de alcance - Core - API - UI Blazor - PDF - lógica de negocio - generación desde Quote - validaciones funcionales - numeración automática ## Criterios de aceptación - Existe tabla `PhS_DeliveryNote` - Existe tabla `PhS_DeliveryNoteDetail` - `PhS_DeliveryNote` soporta asociación opcional a Quote - `PhS_DeliveryNote` deja previsto `salesinvoice_id` para futuro - `PhS_DeliveryNoteDetail` soporta ítems documentales con: - `description` - `quantity` - `notes` - `PhS_DeliveryNoteDetail` deja prevista la trazabilidad de origen del renglón - Se crean índices básicos de búsqueda y navegación - El script puede ejecutarse sin tocar Core/API/UI ## Decisiones de diseño - El documento se modela con cabecera + detalle, consistente con Quotes y Expeditions. - El detalle es **documental**, por eso `description`, `quantity` y `notes` viven siempre en la tabla, incluso si existe una referencia a origen. - Para no acoplar esta primera story a demasiadas tablas/módulos, el detalle usa: - `origin_type` - `origin_id` - `quote_detail_id` nullable como FK concreta para el MVP - `salesinvoice_id` queda como campo preparado para futuro, sin FK todavía. - Se agrega `line_number` para conservar orden estable de impresión y edición. - Se usa `quantity decimal(18,2)` para dejar margen a futuros casos no enteros, aunque el MVP venga de Quote. ## Entregable esperado - Script SQL de creación de tablas - Índices básicos - Modelo listo para scaffold EF en siguiente story
leandro added this to the Sales (Ventas, Facturación y Remitos) milestone 2026-03-16 21:01:31 +00:00
leandro added the
STORY
label 2026-03-16 21:01:31 +00:00
leandro self-assigned this 2026-03-16 21:01:31 +00:00
leandro added this to the phronCare: Tablero DEV project 2026-03-16 21:01:31 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-16 22:47:29 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:36 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:37 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:39 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:40 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:42 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:45 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:47 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:49 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:51 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-23 03:07:52 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-24 20:24:05 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-24 20:24:07 +00:00
leandro moved this to Done in phronCare: Tablero DEV on 2026-03-25 13:27:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leandro/phronCare#11
No description provided.