CustomerVariantPrice
The resolved single price for a variant (per selected UOM + qty), plus automatic-discount breakdown and the P1d line-pricing exposure.
type CustomerVariantPrice {
appliedDiscounts: [DiscountDetail!]
automaticDiscountAmount: Float
automaticDiscountPercent: Float
convertedAtRate: Float
convertedFromBaseUnitPrice: Float
currencyCode: String
customerTier: String
customerTierName: String
finalPrice: Float
found: Boolean!
globalDiscountPercentage: Float
listUnitPrice: Float
noPriceInCurrency: Boolean!
originalPrice: Float
packOptions: [LinePackOption!]
priceAfterDiscount: Float
priceConverted: Boolean
qtyRules: LineQtyRules
salePrice: Float
tax: LineTaxInfo
tierBreaks: [LineTierBreak!]
tierDiscountPercentage: Float
totalDiscountPercentage: Float
}
Fields
CustomerVariantPrice.appliedDiscounts ● [DiscountDetail!] list object
Breakdown of applied automatic discount schemes
CustomerVariantPrice.automaticDiscountAmount ● Float scalar
Discount amount per unit from automatic discount schemes
CustomerVariantPrice.automaticDiscountPercent ● Float scalar
Total automatic discount percentage (e.g. 5 for VIP_DISCOUNT)
CustomerVariantPrice.convertedAtRate ● Float scalar
The rate a converted price used, 1 {document currency} = rate {base}. Null unless priceConverted.
CustomerVariantPrice.convertedFromBaseUnitPrice ● Float scalar
The exact base-currency unit price (per selected UOM) a converted price came from. Null unless priceConverted.
CustomerVariantPrice.currencyCode ● String scalar
ISO code the returned price is denominated in (document currency when requested, else org base).
CustomerVariantPrice.customerTier ● String scalar
The customer's effective tier key (e.g. GOLD).
CustomerVariantPrice.customerTierName ● String scalar
The effective tier's current name. Render this, never the key — a rename changes the name and not the key.
CustomerVariantPrice.finalPrice ● Float scalar
Unit price after automatic discounts.
CustomerVariantPrice.found ● Boolean! non-null scalar
True when the canonical waterfall resolved a price for this variant.
CustomerVariantPrice.globalDiscountPercentage ● Float scalar
Discount % from global schemes.
CustomerVariantPrice.listUnitPrice ● Float scalar
Reference list/MRP per SELECTED UOM (strike-through anchor) from the canonical line-pricing engine — max(uomListPrice, variantPrice×cf, highestTier, baseUnitPrice). 0/null when noPriceInCurrency.
CustomerVariantPrice.noPriceInCurrency ● Boolean! non-null scalar
True when a foreign document currency was requested — every price is base-denominated, so the line is un-priceable (never currency-converted). False in base/legacy mode.
CustomerVariantPrice.originalPrice ● Float scalar
Unit price before automatic discounts.
CustomerVariantPrice.packOptions ● [LinePackOption!] list object
Sellable UOM pack options (uom + conversion + price) (P1d).
CustomerVariantPrice.priceAfterDiscount ● Float scalar
Final unit price after automatic discounts
CustomerVariantPrice.priceConverted ● Boolean scalar
True when the price was produced by CONVERTING the base price at convertedAtRate: the document currency had no price of its own and the caller opted in with convertAtRate. Absent otherwise.
CustomerVariantPrice.qtyRules ● LineQtyRules object
Order qty rules (min / max / order multiple) for the selected UOM (P1d).
CustomerVariantPrice.salePrice ● Float scalar
Resolved unit price; null when noPriceInCurrency is true.
CustomerVariantPrice.tax ● LineTaxInfo object
Per-product tax for the requested quantity (post-discount base) (P1d).
CustomerVariantPrice.tierBreaks ● [LineTierBreak!] list object
Full qty-break schedule per selected UOM, ascending by minQuantity (P1d).
CustomerVariantPrice.tierDiscountPercentage ● Float scalar
Discount % from the effective tier scheme.
CustomerVariantPrice.totalDiscountPercentage ● Float scalar
Total automatic discount % (tier + global + other).
Returned By
customerMyVariantPrice query ● customerVariantPrice query ● orderPadVariantPrices query