Skip to content

Recipe Pricing

The Recipe Site Pricing Override system enables sophisticated multi-tier pricing strategies for your recipes across different locations. Configure global default pricing, create location-specific price variations, and manage multiple pricing templates for the same product, all while maintaining a clean, organized view in both the Recipe Dashboard and Epos interfaces.

Key Benefits: Multi-tier pricing architecture allows you to maintain a global default recipe while creating unlimited pricing variations for different sites or customer segments. Intelligent recipe filtering ensures staff only see relevant recipes in Epos based on their current site and configuration. Visual pricing hierarchy provides clear dashboard organization showing default recipes, pricing templates, and site-specific overrides at a glance.


Quick Start

Understanding Pricing Levels

The system uses a three-tier architecture designed for maximum flexibility:

Default Recipe serves as your global fallback pricing when no site-specific overrides exist. This is the recipe that appears in Epos when a product has no location-specific pricing configured. Only one default recipe exists per product, identified by the Bnow__Is_Default_Recipe__c = true field.

Pricing Templates are master recipes that serve as templates for site-specific variations. These don't appear in Epos directly but act as organizational containers for multiple site-specific recipes. Create different pricing templates to represent different pricing strategies.

Site-Specific Recipes are location-based price overrides linked to a pricing template. When staff at a specific site view products in Epos, these recipes take precedence over the default recipe. Multiple pricing templates can have different site-specific recipes for the same product.


Recipe Dashboard

Visual Pricing Hierarchy

The Recipe Dashboard displays your pricing architecture in a clear, hierarchical format:

Default Recipes appear as the top-level row for each product with standard table styling, displaying the recipe name, category, and action buttons. These represent your global fallback pricing.

Pricing Templates appear as distinct rows below the default recipe with light blue background and a blue left border. Each template row shows the template name, a "Pricing Template" badge, and displays how many site-specific recipes are linked via the building icon with count indicator.

Site-Specific Recipes are visible through the building icon on each pricing template row. Clicking this icon opens a modal showing which sites have price overrides configured for that template, with site names and locations displayed in an organized list.

Dashboard Actions

Clone for Site Pricing creates a new pricing template when 'Site Pricing' is selected from the Clone Recipe modal of any recipe row. This action duplicates the recipe as a non-default template ready for site-specific variations.

View Linked Sites displays the site-specific recipes modal when you click the building icon on a pricing template. This modal shows all sites that have price overrides configured for this template, allowing you to quickly see your pricing coverage across locations.

Edit Recipe opens the Recipe Builder with the selected recipe loaded, allowing you to modify the base recipe ingredients and details.

Edit Pricing Template opens the Recipe Builder with the template loaded, allowing you to modify the base pricing that will be loaded into the Epos for the selected sites.


Recipe Builder

Apply to Sites Feature

The Apply to Sites functionality enables creating and managing site-specific pricing overrides directly from the Recipe Builder:

Accessing the feature is accomplished by clicking the "Apply to Sites" button in the Recipe Builder header when editing a pricing template. For legacy recipes with a site assignment, the system first detects the legacy structure and offers automatic conversion before opening the site selection modal.

Legacy Recipe Detection: When clicking "Apply to Sites" on a legacy recipe (site assigned, not a default recipe, no pricing templates), a confirmation dialog appears explaining the conversion process. The dialog shows which site will be preserved and warns that the recipe will be converted to a global default with a pricing template. Click "OK" to proceed with automatic conversion, or "Cancel" to return without changes.

The Site Selection Interface displays each site with its name and checkbox control after any necessary conversion. Sites already configured with pricing overrides show an "(Already Configured)" indicator to prevent duplicate creation. For converted legacy recipes, the original site appears pre-selected automatically.

Creating Site-Specific Recipes happens when you check a site's checkbox. The system validates that the recipe is saved, creates a new recipe record with the selected site, copies all ingredients and pricing from the parent template, and establishes a Bnow__Recipe_Entitlement__c link to maintain the parent-child relationship.

Removing Site-Specific Recipes occurs when you uncheck a site's checkbox. The system deletes the site-specific recipe and its associated Bnow__Recipe_Entitlement__c record, returning that site to use the default recipe pricing when viewing products in Epos.


Epos Recipe Display

Intelligent Recipe Filtering

The Epos system filters recipes to show only relevant options based on the current site and pricing configuration:

Site-Specific Override Priority ensures that when a site-specific recipe exists for the current site, it displays instead of the default recipe.

Default Recipe Fallback displays recipes when no site-specific overrides exist for the current site. This provides consistent pricing across all locations that haven't configured special pricing.

Legacy Recipe Support maintains compatibility with recipes created before the pricing override system. If a product has recipes without a default recipe set and no site-specific recipes exist anywhere, these legacy recipes display in Epos.

Excluded Recipe Types include pricing templates (which are organizational containers, not operational recipes), sub-recipes (which are recipe components, not standalone recipes), and site-specific recipes for other locations (which would show incorrect pricing).


Common Workflows

Creating Your First Site-Specific Pricing

Setup:

  1. Navigate to the Recipe Dashboard and locate the product needing site-specific pricing
  2. Click the clone button on the default recipe and select "Site Pricing"
  3. The Recipe Builder opens with a new pricing template ready for configuration

Configure Site Overrides:

  1. Click "Apply to Sites" button in the Recipe Builder header
  2. If prompted, confirm the legacy recipe conversion (this happens automatically)
  3. Check the boxes for sites needing this pricing configuration
  4. For converted legacy recipes, note the original site is already pre-selected
  5. The system creates site-specific recipes and links them to the template
  6. Sites without checkmarks continue using the default recipe pricing

Verify in Epos:

  1. Open Epos at one of the configured sites
  2. Select the product and verify the site-specific pricing appears
  3. Check another unconfigured site to confirm it shows default pricing

Troubleshooting

Site-Specific Pricing Not Appearing in Epos can typically be resolved by verifying the recipe has site_id set correctly in Salesforce matching the Epos Site Id, confirming a Bnow__Recipe_Entitlement__c record exists linking the site-specific recipe to its parent template, checking that the recipe isn't marked as a sub-recipe (is_sub_recipe = false), or refreshing the Epos products cache by reloading the page.

"Already Configured" Indicator Incorrect can be caused by Bnow__Recipe_Entitlement__c records pointing to deleted recipes (clean up orphaned entitlements), duplicate Bnow__Recipe_Entitlement__c records for the same parent and site (consolidate to one record), or frontend state not refreshing after site selection changes.

Cannot Save Recipe with Duplicate Name when creating recipes the system suggests you're trying to save with the same name as an existing default or legacy recipe (choose a descriptive name like "Recipe Name - Size").

Site Checkbox Not Pre-selected After Conversion indicates the frontend state may not have refreshed properly after automatic conversion. Reload the Recipe Builder by refreshing the page.


Quick Reference

Pricing Tier Identification

Recipe Typeis_default_recipesite_idis_sub_recipeDashboard DisplayEpos Display
Default RecipetruenullfalseTop-level row, standard styling✅ Shows at all sites (unless overridden)
Pricing TemplatefalsenullfalseBlue background row with badge❌ Never shows in Epos
Site-Specific RecipefalseSetfalseInside template's linked sites✅ Shows only at assigned site
Sub-RecipeAnynulltrueStandard row with blue 'S' icon❌ Never shows in Epos
Legacy RecipefalseVariesfalseStandard row with Site Name badge indicator✅ Shows if no overrides exist

Dashboard Visual Guide

Visual ElementMeaningAction Available
Standard rowDefault recipe or legacy recipeEdit, Clone, Delete
Blue background rowPricing templateEdit, View linked sites, Delete
Building icon + countSite-specific recipes existClick to view/manage linked sites
"(Already Configured)"Site has existing overrideIndicates duplicate prevention