Saltar a contenido

SOURCE-003 Tabla 2 Column Dictionary

Fecha: 2026-06-10

Estado: APPROVED_FOR_CONTROLLED_PILOT / DICCIONARIO COMPLETO / PRODUCCION FINAL BLOQUEADA

portal_visible = yes

Scope: tenant

tenant_id: alpuntodeventa

Owner: Gabi / Carlos Canu

Fuente de verdad: docs/tenants/alpuntodeventa/business-observer/data-dictionary/SOURCE-003-TABLA2-COLUMN-DICTIONARY.md

1. Alcance

Este documento inventaria las 68 columnas reales de SOURCE-003 / Tabla 2 V2 observadas en el snapshot controlado SOURCE-003-SNAPSHOT-001.

No ejecuta SQL, no toca PostgreSQL, no carga datos, no crea migraciones nuevas y no expone filas ni valores personales del snapshot.

2. Safe points documentales

Instancia Control Resultado
inventario original git status -sb ## main...origin/main
inventario original git rev-parse HEAD 3cd0fd6875428dd82663ffa8185fee10ba7357cc
aprobacion humana git status -sb ## main...origin/main
aprobacion humana git rev-parse HEAD 501cf4f643f7c1ff84d3a62c63d00a3b73160878

3. Snapshot revisado

Campo Valor
archivo local snapshots/source-003/SOURCE-003-TABLA2-V2-2026-06-09_20260610-210406-0300.csv
filas 1886
columnas 68
delimitador ,
sha256 documentado 07092c284b5b636b8a31cd616ef5b4fa5d0ce499b81c767437842b1f7edfcbc3

4. Headers reales en orden exacto

# Columna Tabla 2 V2
1 Fecha
2 Hora
3 Vendedor
4 NomVendedor
5 CodigoCliente
6 Nombre
7 Direccion_de_pedidos
8 Condicion_Fiscal
9 TipoComp
10 NroComp
11 TipoDocInt
12 NroIntDoc
13 Documento
14 SKU
15 Articulo
16 Marcas
17 Precio_Neto_Unitario
18 PorcDescLinea
19 DescNetoUnitarioXLinea
20 IVA
21 Precio_Neto_Unitario_CDescLinea
22 Unidades
23 SubtotalNetoItem_cDescLinea
24 DescAlPie
25 Desc_Pie_Unitario_Neto
26 Precio_Neto_Unitario_CDescPie
27 ImponibleNetoItem
28 PercIIBB
29 AlicuotaPercIIBBCalculada
30 PercIIBBItemUnidad
31 PercIIBBItemImporte
32 IVAItemUnidad
33 IVATotalItems
34 Importe_Total_Item
35 Importe_Total_Todos_los_Items
36 Total_Desc_Neto_Linea
37 Total_Desc_Neto_Al_Pie
38 Total_Desc_NP
39 Total_Ajustes_Saldos_CtaCte
40 PercIva
41 CostoLista
42 descCompra1
43 descCompra2
44 descCompra3
45 CMVBruto_Unidad
46 CMVBruto_Item
47 Markup
48 MaxDctoArticulo
49 Contribucion_BalanceCtaCteFinal
50 Indicador_TipoRegistro
51 Lista_De_Precio
52 Proveedor
53 HojaDeRuta
54 DireccionEntrega
55 LocalidadEntrega
56 ProvinciaEntrega
57 CodRepartidor
58 Repartidor
59 MotivoDevolucion
60 Peso_Total
61 Volumen_Total
62 Cant_Bultos_Vendidos
63 Zona
64 Ramo
65 Canal
66 Grupo
67 Rubro
68 RazonSocial_Proveedor

5. Comparacion contra DDL piloto actual

Lectura contra design/sql/002_source_003_sales_items_pilot_migration.sql antes del ajuste documental de esta sesion.

Resultado Cantidad
columnas reales Tabla 2 V2 68
columnas ya contempladas semanticamente 37
columnas faltantes o solo consolidadas 31

Columnas faltantes o insuficientemente preservadas:

Columna Tabla 2 V2 Estado DDL piloto actual Decision
Direccion_de_pedidos falta en DDL piloto actual persistir como direccion_de_pedidos_raw
Condicion_Fiscal falta en DDL piloto actual persistir como condicion_fiscal_raw
PorcDescLinea falta en DDL piloto actual persistir como porc_desc_linea
DescNetoUnitarioXLinea falta en DDL piloto actual persistir como desc_neto_unitario_linea
IVA falta en DDL piloto actual persistir como iva_alicuota_pct
Precio_Neto_Unitario_CDescLinea falta en DDL piloto actual persistir como precio_neto_unitario_cdesc_linea
SubtotalNetoItem_cDescLinea falta en DDL piloto actual persistir como subtotal_neto_item_cdesc_linea
DescAlPie falta en DDL piloto actual persistir como desc_al_pie_pct
Desc_Pie_Unitario_Neto falta en DDL piloto actual persistir como desc_pie_unitario_neto
Precio_Neto_Unitario_CDescPie falta en DDL piloto actual persistir como precio_neto_unitario_cdesc_pie
PercIIBB falta en DDL piloto actual persistir como perc_iibb_raw
AlicuotaPercIIBBCalculada falta en DDL piloto actual persistir como alicuota_perc_iibb_calculada_pct
PercIIBBItemUnidad falta en DDL piloto actual persistir como perc_iibb_item_unidad
IVAItemUnidad falta en DDL piloto actual persistir como iva_item_unidad
Importe_Total_Item falta en DDL piloto actual persistir como importe_total_unitario
Total_Desc_Neto_Linea solo estaba consolidada en descuento_item persistir como total_desc_neto_linea
Total_Desc_Neto_Al_Pie solo estaba consolidada en descuento_item persistir como total_desc_neto_al_pie
Total_Desc_NP solo estaba consolidada en descuento_item persistir como total_desc_np
Total_Ajustes_Saldos_CtaCte falta en DDL piloto actual persistir como total_ajustes_saldos_ctacte
PercIva falta en DDL piloto actual persistir como perc_iva
CostoLista falta en DDL piloto actual persistir como costo_lista
descCompra1 falta en DDL piloto actual persistir como desc_compra1
descCompra2 falta en DDL piloto actual persistir como desc_compra2
descCompra3 falta en DDL piloto actual persistir como desc_compra3
CMVBruto_Unidad falta en DDL piloto actual persistir como cmv_bruto_unidad
Markup falta en DDL piloto actual persistir como markup
MaxDctoArticulo falta en DDL piloto actual persistir como max_dcto_articulo
Indicador_TipoRegistro falta en DDL piloto actual persistir como indicador_tipo_registro
Lista_De_Precio falta en DDL piloto actual persistir como lista_de_precio_raw
CodRepartidor falta en DDL piloto actual persistir como cod_repartidor_raw
Repartidor falta en DDL piloto actual persistir como repartidor_raw

Clasificacion completa por columna:

# Columna Tabla 2 V2 Clasificacion
1 Fecha ya contemplada
2 Hora ya contemplada
3 Vendedor ya contemplada
4 NomVendedor ya contemplada
5 CodigoCliente ya contemplada
6 Nombre ya contemplada
7 Direccion_de_pedidos falta en DDL
8 Condicion_Fiscal falta en DDL
9 TipoComp ya contemplada
10 NroComp ya contemplada
11 TipoDocInt ya contemplada
12 NroIntDoc ya contemplada
13 Documento ya contemplada
14 SKU ya contemplada
15 Articulo ya contemplada
16 Marcas ya contemplada
17 Precio_Neto_Unitario ya contemplada; derivada/calculada
18 PorcDescLinea falta en DDL
19 DescNetoUnitarioXLinea falta en DDL; derivada/calculada
20 IVA falta en DDL
21 Precio_Neto_Unitario_CDescLinea falta en DDL; derivada/calculada
22 Unidades ya contemplada
23 SubtotalNetoItem_cDescLinea falta en DDL; derivada/calculada
24 DescAlPie falta en DDL
25 Desc_Pie_Unitario_Neto falta en DDL; derivada/calculada
26 Precio_Neto_Unitario_CDescPie falta en DDL; derivada/calculada
27 ImponibleNetoItem ya contemplada; derivada/calculada
28 PercIIBB falta en DDL
29 AlicuotaPercIIBBCalculada falta en DDL
30 PercIIBBItemUnidad falta en DDL; derivada/calculada
31 PercIIBBItemImporte ya contemplada; derivada/calculada
32 IVAItemUnidad falta en DDL; derivada/calculada
33 IVATotalItems ya contemplada; derivada/calculada
34 Importe_Total_Item falta en DDL; derivada/calculada
35 Importe_Total_Todos_los_Items ya contemplada; derivada/calculada
36 Total_Desc_Neto_Linea falta en DDL; derivada/calculada
37 Total_Desc_Neto_Al_Pie falta en DDL; derivada/calculada
38 Total_Desc_NP falta en DDL; derivada/calculada
39 Total_Ajustes_Saldos_CtaCte falta en DDL; derivada/calculada
40 PercIva falta en DDL
41 CostoLista falta en DDL
42 descCompra1 falta en DDL
43 descCompra2 falta en DDL
44 descCompra3 falta en DDL
45 CMVBruto_Unidad falta en DDL; derivada/calculada
46 CMVBruto_Item ya contemplada; derivada/calculada
47 Markup falta en DDL
48 MaxDctoArticulo falta en DDL
49 Contribucion_BalanceCtaCteFinal ya contemplada; derivada/calculada; semantica de negocio pendiente
50 Indicador_TipoRegistro falta en DDL; derivada/calculada
51 Lista_De_Precio falta en DDL
52 Proveedor ya contemplada
53 HojaDeRuta ya contemplada
54 DireccionEntrega ya contemplada
55 LocalidadEntrega ya contemplada
56 ProvinciaEntrega ya contemplada
57 CodRepartidor falta en DDL
58 Repartidor falta en DDL
59 MotivoDevolucion ya contemplada
60 Peso_Total ya contemplada; derivada/calculada
61 Volumen_Total ya contemplada; derivada/calculada
62 Cant_Bultos_Vendidos ya contemplada; derivada/calculada
63 Zona ya contemplada
64 Ramo ya contemplada
65 Canal ya contemplada
66 Grupo ya contemplada
67 Rubro ya contemplada
68 RazonSocial_Proveedor ya contemplada

Columnas tecnicas/generadas fuera del CSV:

Columna Clasificacion Persistencia
id tecnica/generada SI
tenant_id tecnica/generada SI
line_key tecnica/generada SI, contiene line_key_v4
line_sequence_v1 tecnica/generada SI, participa en line_key_v4
source_row_hash tecnica/generada SI, calculada desde 68 columnas reales
sync_batch_id tecnica/generada SI
extracted_at tecnica/generada SI
last_seen_at tecnica/generada SI
created_at tecnica/generada SI
updated_at tecnica/generada SI
record_status tecnica/generada SI

6. Diccionario de columnas

Convenciones:

  • Persistir = SI significa que el valor debe quedar disponible como columna estructurada futura en source_003_sales_items antes de aprobar una carga piloto.
  • source_row_hash = SI significa que el campo debe participar en el hash canonico de valores de origen para detectar cambios.
  • La confirmacion columna por columna de participacion en line_key_v4 vive en el mapping CSV/PostgreSQL asociado. Solo Fecha, Hora, TipoComp, NroComp, TipoDocInt, NroIntDoc, Documento, CodigoCliente, SKU y Vendedor entran desde el CSV; line_sequence_v1 entra como columna tecnica generada por pipeline.
  • Los campos personales, de contacto o logisticos se documentan sin copiar valores reales.
# Tabla 2 PostgreSQL sugerido Bloque Origen Formula/calculo Significado de negocio Tipo sugerido Persistir Sensibilidad Utilidad IA/ML/analytics source_row_hash
1 Fecha fecha identidad documental directo de V_VENTAS via #base CONVERT(date, v.Fecha) fecha documental de la venta o comprobante date SI comercial cortes temporales, recencia y series SI
2 Hora hora_origen_sgc identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.Hora), formato HHMMSS hora raw de origen; aporta trazabilidad e identidad line_key_v4 text SI comercial auditoria, orden y reduccion de colisiones SI
3 Vendedor vendedor_codigo vendedor directo de V_VENTAS via #base LTRIM/RTRIM(v.Vendedor) codigo del vendedor transaccional text SI comercial atribucion real y reconciliacion de ownership SI
4 NomVendedor vendedor_nombre_raw vendedor directo de V_VENTAS via #base LTRIM/RTRIM(v.NomVendedor) nombre raw del vendedor transaccional text SI personal/contacto lectura humana y explicabilidad SI
5 CodigoCliente codigo_cliente cliente directo de V_VENTAS via #base LTRIM/RTRIM(v.CodigoCliente) identificador comercial del cliente text SI comercial actividad, abandono y recomendacion SI
6 Nombre cliente_nombre_raw cliente directo de V_VENTAS via #base LTRIM/RTRIM(v.Nombre) nombre o razon social raw observado en venta text SI personal/contacto lectura humana, conciliacion y LLM SI
7 Direccion_de_pedidos direccion_de_pedidos_raw cliente join con VCLIENTES via #base LTRIM/RTRIM(c.Direccion_de_pedidos) direccion de pedidos del maestro cliente text SI personal/contacto comparar pedido vs entrega SI
8 Condicion_Fiscal condicion_fiscal_raw impuestos directo de V_VENTAS via #base LTRIM/RTRIM(v.CondFiscal) condicion fiscal usada por reglas de netos, IVA e IIBB text SI fiscal explicacion fiscal y conciliacion SI
9 TipoComp tipo_comp identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.TipoComp) tipo de comprobante o documento comercial text SI fiscal signo, guias y notas de credito SI
10 NroComp nro_comp identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.NroComp) numero de comprobante origen text SI fiscal trazabilidad documental SI
11 TipoDocInt tipo_doc_int identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.TipoDocInt) tipo de documento interno SGC text SI fiscal identidad documental ampliada SI
12 NroIntDoc nro_int_doc identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.NroIntDoc) numero interno de documento SGC text SI fiscal conciliacion e identidad SI
13 Documento documento identidad documental directo de V_VENTAS via #base LTRIM/RTRIM(v.Documento) etiqueta/documento comercial del origen text SI fiscal busqueda y trazabilidad SI
14 SKU sku producto directo de V_VENTAS via ap/#base LTRIM/RTRIM(v.Codigo) codigo de producto vendido text SI comercial mix, stock, margen y recomendacion SI
15 Articulo articulo_raw producto directo de V_VENTAS via #base LTRIM/RTRIM(v.Descripcion) descripcion raw del articulo text SI comercial embeddings, busqueda y LLM SI
16 Marcas marca_raw producto directo de V_VENTAS via #base LTRIM/RTRIM(v.Marcas) marca raw asociada al item text SI comercial analisis por marca y estrategia SI
17 Precio_Neto_Unitario precio_unitario precios/descuentos calculo en query calc1.PrecioUnit_Neto precio unitario neto sin IVA segun regla fiscal numeric(19,6) SI comercial pricing y auditoria de descuentos SI
18 PorcDescLinea porc_desc_linea precios/descuentos directo saneado de V_VENTAS CAST(v.PorcDescLinea AS DECIMAL) si numerico porcentaje de descuento de linea numeric(9,4) SI comercial alertas de descuento y margen SI
19 DescNetoUnitarioXLinea desc_neto_unitario_linea precios/descuentos calculo en query b.Precio * (b.PorcDescLinea / 100.0) importe neto unitario descontado por linea numeric(19,6) SI comercial explicacion de precio final SI
20 IVA iva_alicuota_pct impuestos directo saneado de V_VENTAS CAST(v.TaxIva AS DECIMAL) si numerico alicuota IVA usada en calculos numeric(9,4) SI fiscal control de alicuotas y bruto/neto SI
21 Precio_Neto_Unitario_CDescLinea precio_neto_unitario_cdesc_linea precios/descuentos calculo en query CASE con ajuste INSCRIPTO + A/NCA precio neto unitario despues de descuento de linea numeric(19,6) SI comercial auditoria de precio antes de descuento al pie SI
22 Unidades unidades volumen/peso/bultos directo saneado de V_VENTAS CAST(v.Unidades AS DECIMAL) si numerico cantidad de unidades de la linea numeric(19,4) SI comercial volumen, stock, CMV y demanda SI
23 SubtotalNetoItem_cDescLinea subtotal_neto_item_cdesc_linea precios/descuentos calculo en query SignoDoc * ABS(SubtotalNetoItem_cDescLinea_Raw) subtotal neto firmado con descuento de linea numeric(19,4) SI comercial conciliacion de netos SI
24 DescAlPie desc_al_pie_pct precios/descuentos directo saneado de V_VENTAS CAST(v.DescAlPie AS DECIMAL) si numerico porcentaje de descuento al pie numeric(9,4) SI comercial control de descuentos globales SI
25 Desc_Pie_Unitario_Neto desc_pie_unitario_neto precios/descuentos calculo en query PrecioUnit_CDescLinea * DescAlPie/100 importe neto unitario del descuento al pie numeric(19,6) SI comercial explica precio imponible final SI
26 Precio_Neto_Unitario_CDescPie precio_neto_unitario_cdesc_pie precios/descuentos calculo en query SignoDoc * ABS(PrecioUnit_CDescPie) precio neto unitario con descuentos de linea y pie numeric(19,6) SI comercial base de imponible e impuestos SI
27 ImponibleNetoItem imponible_neto_item impuestos calculo en query SignoDoc * ABS(PrecioUnit_CDescPie * Unidades) base imponible neta firmada del item numeric(19,4) SI fiscal conciliacion fiscal y revenue SI
28 PercIIBB perc_iibb_raw impuestos directo saneado de V_VENTAS SignoDoc * ABS(b.PercIIBB) percepcion IIBB raw del origen, firmada numeric(19,4) SI fiscal conciliacion con percepciones origen SI
29 AlicuotaPercIIBBCalculada alicuota_perc_iibb_calculada_pct impuestos directo saneado de V_VENTAS CAST(v.AlicIIBB AS DECIMAL) si numerico alicuota IIBB usada para percepcion por item numeric(9,4) SI fiscal explica IIBB calculado SI
30 PercIIBBItemUnidad perc_iibb_item_unidad impuestos calculo en query PrecioUnit_CDescPie * AlicIIBB o base con IVA prorrateada percepcion IIBB unitaria calculada numeric(19,6) SI fiscal auditoria de IIBB unitario SI
31 PercIIBBItemImporte iibb_item impuestos calculo en query PercIIBBItemUnidad_Raw * Unidades, firmado importe total de IIBB del item numeric(19,4) SI fiscal conciliacion fiscal SI
32 IVAItemUnidad iva_item_unidad impuestos calculo en query PrecioUnit_CDescPie * TaxIva cuando aplica IVA unitario calculado numeric(19,6) SI fiscal control de IVA unitario SI
33 IVATotalItems iva_item impuestos calculo en query ROUND(PrecioUnit_CDescPie * Unidades * TaxIva, 4) IVA total del item numeric(19,4) SI fiscal conciliacion fiscal SI
34 Importe_Total_Item importe_total_unitario precios/descuentos calculo en query PrecioUnit_CDescPie + IIBB unitario + IVA unitario importe total unitario con impuestos numeric(19,4) SI comercial/fiscal explica precio final unitario SI
35 Importe_Total_Todos_los_Items importe_total_item precios/descuentos calculo en query ImponibleNetoItem + IVATotalItems + PercIIBBItemImporte importe total firmado de la linea numeric(19,4) SI comercial/fiscal venta total, gates y revenue analytics SI
36 Total_Desc_Neto_Linea total_desc_neto_linea precios/descuentos calculo en query Precio * PorcDescLinea/100 * Unidades descuento neto total de linea numeric(19,4) SI comercial auditoria de descuentos SI
37 Total_Desc_Neto_Al_Pie total_desc_neto_al_pie precios/descuentos calculo en query Desc_Pie_Unitario_Neto * Unidades descuento neto total al pie asignado al item numeric(19,4) SI comercial control de descuentos al pie SI
38 Total_Desc_NP total_desc_np creditos/NP calculo en query total firmado si SKU es 3793 o 3998, si no 0 importe asociado a creditos NP numeric(19,4) SI comercial medicion de creditos NP SI
39 Total_Ajustes_Saldos_CtaCte total_ajustes_saldos_ctacte creditos/NP calculo en query total firmado si SKU es 4010, si no 0 importe de ajustes de saldos de cuenta corriente numeric(19,4) SI comercial/fiscal separa ajustes de ventas comerciales SI
40 PercIva perc_iva impuestos directo saneado de V_VENTAS CAST(v.PercIva AS DECIMAL) si numerico percepcion IVA raw del origen numeric(19,4) SI fiscal conciliacion fiscal SI
41 CostoLista costo_lista CMV/costos join con PRODUCTS via #base CAST(p.CostoLista AS DECIMAL) si numerico costo de lista del producto numeric(19,4) SI comercial CMV, margen y costos SI
42 descCompra1 desc_compra1 CMV/costos join con PRODUCTS via #base CAST(p.descCompra1 AS DECIMAL) si numerico primer descuento de compra numeric(9,4) SI comercial explica CMV SI
43 descCompra2 desc_compra2 CMV/costos join con PRODUCTS via #base CAST(p.descCompra2 AS DECIMAL) si numerico segundo descuento de compra numeric(9,4) SI comercial explica CMV SI
44 descCompra3 desc_compra3 CMV/costos join con PRODUCTS via #base CAST(p.descCompra3 AS DECIMAL) si numerico tercer descuento de compra numeric(9,4) SI comercial explica CMV SI
45 CMVBruto_Unidad cmv_bruto_unidad CMV/costos calculo con PRODUCTS CostoLista * descuentos compra * factor IVA costo bruto unitario calculado numeric(19,4) SI comercial margen y alertas de costo SI
46 CMVBruto_Item cmv_bruto_item CMV/costos calculo con PRODUCTS CMVBruto_Unidad * UnidadesBrutas CMV bruto total de la linea numeric(19,4) SI comercial margen, rentabilidad y ranking SI
47 Markup markup contribucion/margen join con PRODUCTS via #base CAST(p.Markup AS DECIMAL) si numerico markup vigente del producto numeric(9,4) SI comercial compara precio real contra politica SI
48 MaxDctoArticulo max_dcto_articulo precios/descuentos join con PRODUCTS via #base CAST(p.MaxDctoArticulo AS DECIMAL) si numerico descuento maximo permitido del articulo numeric(9,4) SI comercial alertas de descuento fuera de politica SI
49 Contribucion_BalanceCtaCteFinal contribucion_item contribucion/margen calculo en query misma suma firmada que Importe_Total_Todos_los_Items en V2 campo llamado contribucion; no resta CMV en V2 numeric(19,4) SI comercial explicabilidad; no usar como margen sin revision SI
50 Indicador_TipoRegistro indicador_tipo_registro identidad documental calculo en query -1 para notas de credito y 1 para resto signo funcional del tipo de comprobante smallint SI normal modelos de signos y devoluciones SI
51 Lista_De_Precio lista_de_precio_raw precios/descuentos directo de V_VENTAS via #base LTRIM/RTRIM(v.Lista) lista de precio aplicada text SI comercial politica de precios por lista SI
52 Proveedor proveedor_codigo_raw proveedor directo de V_VENTAS via #base LTRIM/RTRIM(v.Proveedor) codigo proveedor asociado al item text SI comercial ventas por proveedor y compras SI
53 HojaDeRuta hoja_ruta_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.HojaRuta) hoja de ruta asociada al reparto text SI logistica rutas, entregas y rechazos SI
54 DireccionEntrega direccion_entrega_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.Direccion) direccion raw de entrega text SI personal/contacto/logistica territorio, entrega y rechazos SI
55 LocalidadEntrega localidad_entrega_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.Localidad) localidad raw de entrega text SI logistica territorio y rutas SI
56 ProvinciaEntrega provincia_entrega_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.Provincia) provincia raw de entrega text SI logistica analisis regional SI
57 CodRepartidor cod_repartidor_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.Repartidor) codigo del repartidor text SI logistica performance de reparto SI
58 Repartidor repartidor_raw logistica/entrega/reparto directo de V_VENTAS via #base LTRIM/RTRIM(v.RepNombre) nombre raw del repartidor; puede incluir contacto text SI personal/contacto/logistica explicabilidad operativa con acceso controlado SI
59 MotivoDevolucion motivo_devolucion_raw mermas/devoluciones directo de V_VENTAS via #base LTRIM/RTRIM(v.MotivoDevolucion) motivo raw de devolucion o rechazo text SI comercial/logistica rechazos, mermas y calidad de entrega SI
60 Peso_Total peso_total volumen/peso/bultos calculo con PRODUCTS Unidades * p.Peso peso total del item numeric(19,6) SI logistica capacidad y costos logisticos SI
61 Volumen_Total volumen_total volumen/peso/bultos calculo con PRODUCTS Unidades * p.Volumen volumen total del item numeric(19,6) SI logistica capacidad de transporte SI
62 Cant_Bultos_Vendidos cant_bultos_vendidos volumen/peso/bultos calculo con PRODUCTS Unidades / NULLIF(p.Unidades_bulto, 0) cantidad de bultos vendidos numeric(19,6) SI logistica picking, reparto y comparacion comercial SI
63 Zona zona_raw canal/contexto directo de V_VENTAS via #base LTRIM/RTRIM(v.Zona) zona raw transaccional/logistica text SI logistica/comercial territorio y reconciliacion con SOURCE-001 SI
64 Ramo ramo_raw canal/contexto directo de V_VENTAS via #base LTRIM/RTRIM(v.Ramo) ramo raw observado en transaccion text SI comercial segmentacion comercial SI
65 Canal canal_raw canal/contexto directo de V_VENTAS via #base LTRIM/RTRIM(v.Canal) canal transaccional raw text SI comercial taxonomia de canal y modelos de venta SI
66 Grupo grupo_raw producto directo de V_VENTAS via #base LTRIM/RTRIM(v.Grupo) grupo raw de producto/segmentacion text SI comercial mix, sustitutos y recomendacion SI
67 Rubro rubro_raw producto directo de V_VENTAS via #base LTRIM/RTRIM(v.Rubro) rubro raw de producto/segmentacion text SI comercial categorias, mix y recomendacion SI
68 RazonSocial_Proveedor proveedor_nombre_raw proveedor join con VPROVEEDORES via #base LTRIM/RTRIM(ISNULL(pr.RazonSocial, '')) razon social raw del proveedor text SI comercial lectura por proveedor y explicabilidad SI

7. Revision especifica solicitada

Logistica / entrega / reparto

Columna Significado Origen Persistir Tipo source_row_hash Nota
DireccionEntrega direccion raw de entrega de la venta v.Direccion via #base SI text SI sensibilidad personal/contacto/logistica; no entra en line_key
LocalidadEntrega localidad raw de entrega v.Localidad via #base SI text SI util para territorio y rutas
ProvinciaEntrega provincia raw de entrega v.Provincia via #base SI text SI util para territorio regional
CodRepartidor codigo raw del repartidor v.Repartidor via #base SI text SI codigo operativo, no identidad de linea
Repartidor nombre raw del repartidor, puede incluir contacto v.RepNombre via #base SI text SI requiere cuidado de exposicion por posible telefono

Ejemplo enmascarado, sin copiar datos reales: DireccionEntrega = CALLE *** 4109, LocalidadEntrega = LOCALIDAD ***, ProvinciaEntrega = CABA, CodRepartidor = 39, Repartidor = REPARTIDOR *** - tel ***6592.

Descuentos / precios

Columna Significado Origen / formula Persistir Tipo source_row_hash line_key
DescAlPie porcentaje de descuento al pie directo saneado desde v.DescAlPie SI numeric(9,4) SI NO
PorcDescLinea porcentaje de descuento de linea directo saneado desde v.PorcDescLinea SI numeric(9,4) SI NO
DescNetoUnitarioXLinea importe neto unitario descontado por linea b.Precio * (b.PorcDescLinea / 100.0) SI numeric(19,6) SI NO
Precio_Neto_Unitario_CDescLinea precio neto unitario despues del descuento de linea CASE de Tabla 2 con ajuste para INSCRIPTO y FACTURA A/NOTA CREDITO A SI numeric(19,6) SI NO

Estas columnas no deben entrar en line_key_v4 porque son valores mutables de la linea. Si cambian, debe cambiar source_row_hash, no la identidad logica.

8. Calculos documentados desde la autoridad SQL

Tema Formula documentada Estado
precio unitario Precio_Neto_Unitario = calc1.PrecioUnit_Neto, con reglas por condicion fiscal, tipo de comprobante, guias y exentos DOCUMENTADO
precio neto unitario con descuento de linea Precio_Neto_Unitario_CDescLinea usa PrecioUnit_Neto, IVAUnit_Sobre_PrecioUnitNeto y DescNetoUnitarioXLinea, con ajuste especial para INSCRIPTO + FACTURA A/NOTA CREDITO A DOCUMENTADO
descuento al pie DescAlPie viene de v.DescAlPie; Desc_Pie_Unitario_Neto = PrecioUnit_CDescLinea * DescAlPie/100 DOCUMENTADO
descuento de linea PorcDescLinea viene de v.PorcDescLinea; DescNetoUnitarioXLinea = Precio * PorcDescLinea/100; Total_Desc_Neto_Linea = descuento unitario * Unidades DOCUMENTADO
precio neto unitario con descuento al pie Precio_Neto_Unitario_CDescPie = SignoDoc * ABS(PrecioUnit_CDescPie) DOCUMENTADO
imponible neto por item ImponibleNetoItem = SignoDoc * ABS(PrecioUnit_CDescPie * Unidades) DOCUMENTADO
IVA IVAItemUnidad y IVATotalItems se calculan sobre PrecioUnit_CDescPie cuando TaxIva y el regimen/tipo de comprobante aplican DOCUMENTADO
IIBB para INSCRIPTO + A/NCA, unidad = PrecioUnit_CDescPie * AlicIIBB; resto usa base con IVA prorrateada por unidad; importe = unidad * unidades DOCUMENTADO
importe total por item Importe_Total_Todos_los_Items = ImponibleNetoItem + IVATotalItems + PercIIBBItemImporte DOCUMENTADO
CMV bruto item CMVBruto_Unidad = CostoLista * descuentos compra * factor IVA; CMVBruto_Item = CMVBruto_Unidad * UnidadesBrutas en salida Tabla 2 DOCUMENTADO
contribucion Contribucion_BalanceCtaCteFinal repite el total firmado de item en Tabla 2 V2; no resta CMV DOCUMENTADO / PENDING_BUSINESS_MEANING_REVIEW
creditos NP Total_Desc_NP toma el total firmado si SKU es 3793 o 3998; si no, 0 DOCUMENTADO
ajustes de saldos Total_Ajustes_Saldos_CtaCte toma el total firmado si SKU es 4010; si no, 0 DOCUMENTADO
mermas la query detecta mermas por MotivoDevolucion normalizado y las deja pasar por el filtro; no existe columna final separada de importe merma en Tabla 2 DOCUMENTADO / PENDING_OUTPUT_COLUMN_REVIEW
peso Peso_Total = Unidades * p.Peso DOCUMENTADO
volumen Volumen_Total = Unidades * p.Volumen DOCUMENTADO
bultos Cant_Bultos_Vendidos = Unidades / NULLIF(p.Unidades_bulto, 0) DOCUMENTADO

9. Impacto sobre source_row_hash_v1

Decision de diseno: antes de aprobar una carga piloto, source_row_hash_v1 debe calcularse con las 68 columnas reales de Tabla 2 V2 canonicalizadas, no solo con el subconjunto historico del DDL piloto inicial.

Incluye:

  • identidad documental y hora origen
  • cliente, vendedor, producto y proveedor
  • direccion de pedidos y entrega/repartidor
  • precios, descuentos, impuestos, costos, CMV y contribucion
  • creditos NP, ajustes, devoluciones, motivos y signos
  • volumen, peso, bultos, canal/contexto y segmentacion

No incluye datos generados por pipeline como id, sync_batch_id, created_at, updated_at, extracted_at o last_seen_at. line_sequence_v1 participa en line_key_v4; no debe usarse para ocultar cambios de valores fuente.

10. Formulas pendientes

No se inventaron formulas fuera de la autoridad SQL.

Pendientes no bloqueantes posteriores a la aprobacion piloto:

  • Contribucion_BalanceCtaCteFinal: formula clara, pero el nombre sugiere contribucion/margen y en Tabla 2 V2 equivale al total firmado del item; validar significado de negocio antes de usarlo como margen.
  • Total_Credito_MERMAS: existe como calculo interno de #base, pero Tabla 2 V2 no expone una columna final separada; queda aprobado para piloto con posibilidad futura de columna separada si negocio confirma la necesidad.
  • PercIIBB y PercIIBBItemImporte: formula clara, pero conviene validar si PercIIBB debe interpretarse como percepcion origen de documento o como auxiliar de conciliacion junto a la percepcion por item.

11. Decision de carga

Gabi aprueba explicitamente este diccionario para piloto controlado, no para produccion final.

La aprobacion levanta el bloqueo documental de cobertura para preparar una carga piloto controlada desde SOURCE-003-SNAPSHOT-001 contra PostgreSQL local.

La aprobacion no habilita sync diaria, carga masiva, produccion final, automatizacion ni exposicion operativa. Cualquier ejecucion de carga debe mantener alcance piloto, trazabilidad de snapshot, validaciones previas y rollback documentado.

12. Aprobacion humana

Estado de aprobacion: APPROVED_FOR_CONTROLLED_PILOT.

Aprobacion humana registrada:

Rol Estado
owner negocio / datos Gabi
aprobacion de diccionario APROBADA PARA PILOTO CONTROLADO
autorizacion para preparacion de carga piloto SI, DESDE SOURCE-003-SNAPSHOT-001 CONTRA POSTGRESQL LOCAL
autorizacion para produccion final NO AUTORIZADA
autorizacion para sync diaria NO AUTORIZADA
autorizacion para carga masiva NO AUTORIZADA

Resultado de revision documental previa a aprobacion:

Control Resultado
header real del snapshot local 68 columnas
columnas inventariadas en este diccionario 68/68
orden del diccionario contra snapshot MATCH
columnas mapeadas en mapping CSV/PostgreSQL 68/68
columnas mapeadas presentes en DDL documental SQL 68/68
columnas reales no persistidas 0
columnas reales con source_row_hash_v1 = SI 68/68
columnas CSV que entran en line_key_v4 10/68
columna tecnica que entra en line_key_v4 line_sequence_v1

Columnas revisadas especialmente y listas para aprobacion humana:

  • DireccionEntrega, LocalidadEntrega, ProvinciaEntrega
  • CodRepartidor, Repartidor
  • DescAlPie, PorcDescLinea, DescNetoUnitarioXLinea
  • Precio_Neto_Unitario_CDescLinea

Columnas que deben quedar como raw por trazabilidad de origen, sensibilidad o falta de normalizacion canonica aprobada:

  • cliente/contacto: cliente_nombre_raw, direccion_de_pedidos_raw
  • fiscal/documental: condicion_fiscal_raw
  • vendedor: vendedor_nombre_raw
  • producto/proveedor: articulo_raw, marca_raw, proveedor_codigo_raw, proveedor_nombre_raw
  • precio/lista: lista_de_precio_raw
  • percepcion origen: perc_iibb_raw
  • logistica/entrega/reparto: hoja_ruta_raw, direccion_entrega_raw, localidad_entrega_raw, provincia_entrega_raw, cod_repartidor_raw, repartidor_raw, zona_raw, motivo_devolucion_raw
  • canal/contexto/producto: canal_raw, ramo_raw, grupo_raw, rubro_raw

Riesgos IA/analytics si no se persisten:

  • perdida de explicabilidad territorial, entrega, rechazo y reparto
  • perdida de auditoria de descuentos de linea y al pie
  • imposibilidad de detectar cambios de fuente viva mediante source_row_hash_v1 completo
  • modelos de margen, pricing, devoluciones, recomendacion y ownership con variables omitidas o reconstruidas fuera de autoridad

Condiciones aceptadas por la aprobacion:

  • las 68 columnas reales quedan aceptadas para persistencia segun este diccionario y el mapping CSV/PostgreSQL asociado
  • source_row_hash_v1 debe canonicalizar las 68 columnas reales
  • Contribucion_BalanceCtaCteFinal queda aprobada como persistible, pero su semantica de negocio sigue pendiente; no debe usarse como margen sin revision posterior
  • Total_Credito_MERMAS queda aprobado con posibilidad futura de columna separada si se confirma necesidad de negocio
  • PercIIBB queda aprobado, pero mantiene lectura fina pendiente junto a PercIIBBItemImporte
  • la preparacion habilitada se limita a carga piloto controlada desde SOURCE-003-SNAPSHOT-001 contra PostgreSQL local

Restricciones vigentes:

  • no produccion final
  • no sync diaria
  • no carga masiva
  • no VPS
  • no Docker
  • no OpenClaw runtime
  • no APIs
  • no IA
  • no exposicion de datos personales/logisticos sin controles

Pendientes posteriores a la aprobacion piloto:

  • preparar el flujo de carga piloto desde SOURCE-003-SNAPSHOT-001
  • validar transformaciones, tipos, nulabilidad y source_row_hash_v1
  • validar conteos y conciliaciones antes de cualquier persistencia piloto
  • documentar evidencia, rollback y resultado de la carga piloto controlada

13. Checklist

  • headers reales revisados: SI
  • columnas detectadas: 68
  • todas las columnas inventariadas: SI
  • columnas de entrega/repartidor incluidas: SI
  • descuentos completos incluidos: SI
  • datos personales expuestos: NO
  • persistencia propuesta para columnas reales: SI, 68/68
  • aprobacion humana: APPROVED_FOR_CONTROLLED_PILOT
  • carga piloto habilitada: SOLO PREPARACION CONTROLADA DESDE SOURCE-003-SNAPSHOT-001
  • produccion final habilitada: NO