En recientes fechas se esta reportando que al hacer una remisión que incluye puerta y marco, al pasar a cajas el precio se eleva al totalizar la venta, esto es debido a que los SKUS cuentan con promoción individual NLP y adicional ambos hacen un combo el cual es mas caro. Esto es una falla de MMS ya que por definición las cajas siempre tomaran el precio COMBO y al ser este mas caro es cuado se observa que aumenta.
ejemplo: INC0452855
1.- Primero revisaremos los SKUS que detectaron que «aumenta» de precio al pasarlo en POS y revisamos si existen en algun combo. Si tenemos la orden podemos revisar en orden detail, si tenemos los SKUS exactos podemos pasar al paso 2.
REVISIÓN EN ORDENDETAIL
Declare @Order Int = 670560
Select createddatetime,taxcode, DATEDIFF(dd,createdate,convert(date,getdate()))'Dias',Orderstatus,OrderTotal,Deposits,CurrDeposit,TOS, typeofsale, DefinitionID,FirstRegID,FirstTranNo,LastRegID,LastTranNo, trandate, OrigRegID, OrigTranNo, origdate, OrderNumber, deldate, ordertype, createdinorderup, * From OrderHeader (NoLock) where ordernumber = @Order
Select uom, TAXCODE, MISCacct, OrderStatus,Ponumber, optioncode, picktake, VendorSuffix, MiscAcct,ServHdrID as PAQUETE,ServiceId as SERVICIO, associatedSku, SKU, skudesc, RetailPrice, Quantity, quantityOrd, Case When Taxcode = 1 then retailprice * 1.16 when Taxcode = 2 then retailprice * 1.08 else retailprice end as retailiva, extendedamt, isSpvApplied, sccPriceAgreementId, OrderNumber, LineMessage, optioncode, Vendorsuffix, * From OrderDetail (NoLock) where ordernumber = @Order

PASO 2. Con los skus identificados, validaremos a que combo exactamente pertenecen esos dos skus, para esto utilizaremos el siguiente query:
SELECT 'COMBO' AS COMBO, KITNUM
FROM itemkitdtl WHERE SKU IN (681116, 146179)
GROUP BY KITNUM HAVING COUNT(DISTINCT SKU) = 2;
Ingresando en el IN los skus que identificamos con la falla este query buscara donde coincidan.
PASO 3. Revisión de promociones de los 3 skus (SKU COMBO Y SKUS INDIVIDUALES)
Select 'Vigentes' 'PMA',ph.PromoID,ph.Description,pt.[Description],ph.typeID, id.sku, ph.StartDate,ph.EndDate,PH.StatusID,CASE PH.StatusID WHEN 0 THEN 'Vacia' WHEN 1 THEN 'Con Planes' WHEN 2 THEN 'Bines Asignados' WHEN 3 THEN 'Tiendas Activadas' WHEN 4 THEN 'Articulos asignados' WHEN 5 THEN 'Tiendas y Articulos asignados' WHEN 6 THEN 'Finalizada' WHEN 7 THEN 'Peticion por autorizacion' WHEN 8 THEN 'Autorizada' WHEN 9 THEN 'Modificada despues de autorizar' WHEN 10 THEN 'Reautorizada' WHEN 11 THEN 'Cancelada' ELSE 'UNKNOWN - No existe tipo de Estatus' END as 'ESTATUS',CASE PH.CustomerTypeID WHEN 0 THEN 'No aplica tienda' WHEN 1 THEN 'PISO' WHEN 2 THEN 'PRO' WHEN 3 THEN 'PISO Y PRO' ELSE '? - No existe tipo - ' + CAST(PH.CustomerTypeID AS CHAR) END AS 'TIPO CTE' ,ph.Created,ph.Modified, ph.PromoID, ph.Description, pt.[Description], id.SKU,Case When pdp.promoid is null then d.[description] else d2.[description] end 'Tipo',Case When id.DiscountTypeID = 2 then id.quantity else pd.TriggerQuantity end 'Compra',Case When id.DiscountTypeID = 2 then '-' else pd.TargetQuantity end 'Regalo',Case When pdp.promoid is null then id.Discount else pdp.Amount end 'Monto',Case When pdp.promoid is null then id.IsActive else pdp.IsActive end 'ID/PDP Active',Ph.IsActive 'PH Active', Pd.IsActive 'PD Active',IGH.IsActive 'IGH Active', pd.triggergroupid from ItemDetail id (NoLock) LEFT JOIN ItemGroupHeader igh (NoLock) on id.groupid = igh.GroupID LEFT JOIN PromotionHeader ph (Nolock) on ph.promoid = igh.promoid LEFT JOIN PromotionDetail pd (Nolock) on pd.promoid = igh.promoid and pd.TriggerGroupID = igh.GroupID LEFT JOIN PromotionDetailPrice pdp (Nolock) ON pdp.promoid = pd.promoid and pd.sequence = pdp.sequence LEFT JOIN DiscountType d (NoLock) on d.DiscountTypeID = id.DiscountTypeID LEFT JOIN DiscountType d2 (NoLock) on d2.DiscountTypeID = pdp.DiscountTypeID LEFT JOIN PromoType pt (Nolock) on ph.typeid = pt.PromoType where sku in
(681116, 146179, 222811) and CONVERT(DATE, GETDATE()) BETWEEN convert(date,ph.startdate) AND convert(date,ph.enddate ) --order by id.SKU
SELECT 'Itemplu', i.sku, i.UniqItmCode, Case When i.UniqItmCode = 'A' Then 'Alterno' When i.UniqItmCode = 'B' Then 'Compra Especial' When i.UniqItmCode = 'L' Then 'Orden Especial' When i.UniqItmCode = 'S' Then 'Generico' When i.UniqItmCode = 'Z' Then 'Primario' end 'Tipo', i.TaxCode, i.extendedsku, i.description, i.isdropship, i.retailprice, i.itemstatus, CASE WHEN i.Taxcode = 1 THEN i.retailprice * 1.16 WHEN i.Taxcode = 2 THEN i.retailprice * 1.08 ELSE i.retailprice END AS retailiva, i.UOM, u.Description AS UOMDescription, i.ProPrice, i.Pronivel1, i.Pronivel2, i.promoprc, CASE WHEN i.Taxcode = 1 THEN i.promoprc * 1.16 WHEN i.Taxcode = 2 THEN i.promoprc * 1.08 ELSE i.promoprc END AS promoiva, i.PromoStart, i.PromoEnd, i.promonumb, i.Type, i.Description, i.RestrictCode, i.family1, i.family2, i.family3, i.family4, i.family5, i.ExceptType12, * FROM itemplu i (NOLOCK) JOIN invuom u (NOLOCK) ON i.UOM = u.UOM WHERE i.sku IN
(681116, 146179, 222811)
Con estas líneas podemos hacer la comparativa de los precios NLP para cada SKU y el precio del combo de ambos. La segunda línea es itemplu, información general de los SKUS
NOTA: Si 1 sku cuenta con dos promos, debemos de tomar el precio más bajo activo.

En este ejemplo vemos que el SKU combo (color amarillo) 222811 tiene un precio FINAL de 1349 (observarse sus banderas ACTIVE EN 1).
Y el SKU 681116 (puerta, color azul) con la promoción NLP en 569 + el sku 146179 (sin promo, tomamos el retal IVA de itemplu)
como resultado tenemos que comprar en combo es 1349 y comprar por separado 1,238 esto es un error de negocio, por lo que transferimos el incidente a MMS con el siguiente comentario.
Se observa que el precio COMBO es mas caro que los SKUS por separado, sin embargo por definición la caja tomará siempre el precio COMBO.
SKU COMBO: 1349
MARCO: 669 + PUERTA NLP: 569 = 1,238
Equipo MMS favor de validar en sistema origen y en su caso cancelar o dar seguimiento con AdCom
Sistema de Gestión de Mercaderías (MMS)