{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":38065,"path":"order-management/verify-source-target-pairs-derived-pricing.md","title":"Using the DerivedProductPriceExtensionPoint","bundle":null,"doc_type":null,"release":"australia","body":"\n# Using the DerivedProductPriceExtensionPoint\n\nThe **sn\\_csm\\_pricing.DerivedProductPriceExtensionPoint** provides an interface with specific methods that call certain business logic for using valid source products in source and target product pairs in derived pricing.\n\nThe extension point has three methods:\n\n-   `canHandleRequest(pricingEngineContext)`: Determines whether the pricing engine can handle this extension point request.\n-   `getAccountLevelDerivedPricedProductsEncodedQuery(pricingEngineContext)`: Custom query for account-level sold product lookup.\n-   `getQualifiedSourceTargetPairs(pricingEngineContext, sourceTargetPairs)`: Filter source-target pairs in derived pricing. This method receives an array of pair objects after rule matrix evaluation. Each pair contains:\n\n    -   `sourceLineDetail` - The PricingEngineContextLineDetail of the source line\n    -   `targetLineDetail` - The PricingEngineContextLineDetail of the target \\(derived\\) line\n    -   `isPair` - Boolean, true by default\n    To exclude a pair from calculation of the derived \\(target\\) product, set `pair.isPair = false` and return the modified array. If `isPair = true`, the source line price is included in the price calculation of the derived \\(target\\) product.\n\n\nTo access the extension point, navigate to **All** &gt; **Pricing** &gt; **Administration** &gt; **Pricing Extension Points** and select the `sn_csm_pricing.DerivedProductPriceExtensionPoint`.\n\n"}}