Estructura de detalle_ventas:

id - int(11)
venta_id - int(11)
producto_id - int(11)
cantidad - decimal(10,2)
precio_unitario - decimal(10,2)
subtotal - decimal(10,2)
nombre_producto_especial - varchar(100)
peso - decimal(10,2)
lote_id - int(11)
codigo_barras_id - int(11)
codigo_especifico - varchar(50)
lote_agotado - tinyint(1)

Estructura de detalle_compras:

id - int(11)
compra_id - int(11)
producto_id - int(11)
cantidad - decimal(10,2)
precio_neto_unitario - decimal(12,2)
subtotal_neto - decimal(12,2)
subtotal_iva - decimal(12,2)
monto_iva_linea - decimal(12,2)
monto_total_linea - decimal(12,2)

Estructura de movimientos_stock:

id - int(11)
producto_id - int(11)
negocio_rut - varchar(12)
tipo_movimiento - enum('entrada','salida','ajuste','devolucion')
cantidad - decimal(10,2)
cantidad_anterior - decimal(10,2)
cantidad_nueva - decimal(10,2)
descripcion - text
documento_referencia - varchar(100)
motivo - varchar(255)
usuario_id - int(11)
fecha - datetime
created_at - datetime
updated_at - datetime