Tabla INV1 en SAP Business One (Factura de clientes (líneas))
INV1 es la tabla de SAP Business One que guarda las líneas de las facturas de clientes: artículo, cantidad, precio, total de línea y almacén. No tiene datos de cabecera propios, así que se une con OINV por DocEntry para obtener fechas, cliente y estado.
Campos clave de INV1
| Campo | Qué contiene |
|---|---|
DocEntry | Clave de la factura. Se une con OINV.DocEntry. |
LineNum | Número de línea dentro de la factura, empieza en 0. |
ItemCode | Artículo vendido. Se une con OITM.ItemCode. Vacío en facturas de servicios. |
Dscription | Descripción de la línea (se escribe con una sola i y sin e después de la s). |
Quantity | Cantidad en la unidad de venta. |
Price | Precio unitario después del descuento de línea. |
PriceBefDi | Precio unitario antes del descuento de línea. |
LineTotal | Importe de la línea en moneda local, antes de impuesto y antes del descuento de cabecera. |
WhsCode | Almacén del que salió el stock. Se une con OWHS.WhsCode. |
SlpCode | Empleado del departamento de ventas de la línea. |
BaseType / BaseEntry / BaseLine | Documento de origen del que se copió la línea (por ejemplo 15 = entrega, 17 = pedido de cliente). |
Cómo se relaciona INV1 con otras tablas
INV1 es la tabla de líneas de OINV. Cada fila pertenece exactamente a una factura a través de DocEntry, y DocEntry + LineNum es la clave única de una línea. Las fechas, el cliente, el estado de cancelación y el descuento de cabecera están en OINV, por eso casi toda consulta sobre INV1 también une OINV.
Joins habituales
INV1 T1 INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry (cabecera)INV1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (maestro de artículos)INV1 T1 LEFT JOIN OWHS T3 ON T1.WhsCode = T3.WhsCode (almacén)
Cuándo se usa la tabla INV1
Use INV1 para todo lo que sea por artículo: más vendidos, artículos de baja rotación, ventas por grupo de artículos o por almacén y cantidades vendidas en un período. Para valores, recuerde el descuento de cabecera; para cantidades, las líneas son la fuente correcta.
Consulta de ejemplo: cantidad y valor neto vendido por artículo
SQL Server
SELECT T1.ItemCode, T1.Dscription, SUM(T1.Quantity) AS QtySold, SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) AS NetValue FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.CANCELED = 'N' AND T0.DocDate >= '20260101' GROUP BY T1.ItemCode, T1.Dscription ORDER BY NetValue DESC
SAP HANA (nombres de columna entre comillas dobles)
SELECT T1."ItemCode", T1."Dscription", SUM(T1."Quantity") AS "QtySold", SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0)) AS "NetValue" FROM OINV T0 INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."CANCELED" = 'N' AND T0."DocDate" >= '20260101' GROUP BY T1."ItemCode", T1."Dscription" ORDER BY "NetValue" DESC
Pegue cualquiera de las dos versiones en Herramientas → Consultas → Generador de consultas. ¿Necesita el otro dialecto para su propia consulta? Use el conversor de SQL a HANA.
Error frecuente: Sumar LineTotal infla las ventas
LineTotal está antes del descuento de cabecera registrado en OINV.DiscPrcnt. Si sus usuarios dan descuentos en la cabecera, SUM(LineTotal) es mayor que el informe de análisis de ventas. Multiplique por (1 - T0.DiscPrcnt / 100) como en la consulta de arriba, y reste las líneas de notas de crédito de clientes (RIN1) con el mismo factor. Vea Corregir la diferencia por descuento de cabecera.
Consultas listas que usan INV1
- Top 20 artículos más vendidos: Los artículos más vendidos por valor de venta, con la cantidad vendida, en un rango de fechas.
- Artículos de baja rotación (sin ventas en 90 días): Artículos con stock que no se han facturado en los últimos 90 días.
Tablas relacionadas
OINV (Factura de clientes (cabecera)) · ORIN (Nota de crédito de clientes (cabecera)) · OITM (Artículos (maestro de artículos)) · OITW (Stock de artículos por almacén) · buscar todas las tablas de SAP Business One
¿Listo para empezar?
Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.
