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 = SIsignifica que el valor debe quedar disponible como columna estructurada futura ensource_003_sales_itemsantes de aprobar una carga piloto.source_row_hash = SIsignifica 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_v4vive en el mapping CSV/PostgreSQL asociado. SoloFecha,Hora,TipoComp,NroComp,TipoDocInt,NroIntDoc,Documento,CodigoCliente,SKUyVendedorentran desde el CSV;line_sequence_v1entra 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.PercIIBByPercIIBBItemImporte: formula clara, pero conviene validar siPercIIBBdebe 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,ProvinciaEntregaCodRepartidor,RepartidorDescAlPie,PorcDescLinea,DescNetoUnitarioXLineaPrecio_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_v1completo - modelos de margen, pricing, devoluciones, recomendacion y ownership con variables omitidas o reconstruidas fuera de autoridad
Condiciones aceptadas por la aprobacion:
- las
68columnas reales quedan aceptadas para persistencia segun este diccionario y el mapping CSV/PostgreSQL asociado source_row_hash_v1debe canonicalizar las68columnas realesContribucion_BalanceCtaCteFinalqueda aprobada como persistible, pero su semantica de negocio sigue pendiente; no debe usarse como margen sin revision posteriorTotal_Credito_MERMASqueda aprobado con posibilidad futura de columna separada si se confirma necesidad de negocioPercIIBBqueda aprobado, pero mantiene lectura fina pendiente junto aPercIIBBItemImporte- la preparacion habilitada se limita a carga piloto controlada desde
SOURCE-003-SNAPSHOT-001contraPostgreSQLlocal
Restricciones vigentes:
- no produccion final
- no sync diaria
- no carga masiva
- no
VPS - no
Docker - no
OpenClawruntime - 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