saleor-core

Saleor backend internals and behavior reference. Covers discount precedence, order-level discount allocation across lines (two-pass calculation, what the API does and doesn't expose, gift-line shape gotchas), stock availability modes (legacy vs direct, 3.23+), Dashboard UI rules, webhook trigger con

By saleor · 398 installs

npx skills add saleor/agent-skills --skill saleor-core

Source repository · Upstream listing

Saleor Core Backend behavior reference derived from the Saleor core source code. Covers internal mechanics that aren't fully documented in the public API reference — discount precedence, stock availability modes, denormalized fields, and known Dashboard gotchas. When to Apply Building or debugging discount/promotion UI in the Dashboard Investigating why a voucher or promotion isn't applying Understanding order level vs line level discount precedence Working with OrderDiscount / OrderLineDiscount objects Debugging unit discount value on OrderLine Deciding whether discounts stack or suppress each other Building price explanation / waterfall tooling on confirmed orders Reconstructing how an order level discount distributed across lines Handling free gift order lines ( OrderLine.isGift = true ) Working on stock availability, shipping zones, warehouses, or Shop.useLegacyShippingZoneStockAvailability Debugging why PRODUCT VARIANT IN CHANNEL webhooks aren't firing Building diagnostic / "doctor" tooling that explains availability problems Auditing Dashboard copy that uses "available" / "in stock" / "purchasable" Rule Categories Priority Category Impact Prefix 1 Discounts CRITICAL discount 2 Stock CRITICAL stock Quick Reference 1. Discounts (CRITICAL) discount precedence — Full precedence hierarchy, stacking rules, manual vs voucher vs promotion interactions, denormalized field semantics, known Dashboard bug order discount allocation — Two pass calculation of order level discounts (Pass A collapses records into a single subtotal discount; Pass B distributes proportionally across lines with last line absorbing rounding), what the API exposes (per line totals, per record at order amounts) and what it doesn't (per record per line decomposition), gift line shape gotcha ( ORDER PROMOTION on OrderLine.discounts[] when isGift = true ), reconstruction guidance for consumers 2. Stock (CRITICAL) stock availability modes — Shop.useLegacyShippingZoneStockAvailability (3.23+), purchasability vs shippability, server queryset dispatch, mode conditional webhooks, Dashboard UI / copy / severity rules, migration footguns, test fixtures How to Use Read individual rule files for detailed explanations and source level evidence: Each rule file contains: Precedence hierarchy or computation rules Source code references from saleor/ with function names and file paths Anti patterns and known bugs