{"section":"tracks","requestedLocale":"en","requestedSlug":"pricing-system-architecture","locale":"en","slug":"pricing-system-architecture","path":"docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture.md","branch":"main","content":"## Definition\n\nThe prices module architecture is organized based on **three fundamental concepts**:\n\n- Prices\n- Price Tables\n- Price tables application contexts\n\n**Prices** represent your SKU sales value information. These prices are stored in **price tables**. In turn, these price tables can be applied to different **contexts**.\n\nThese may be:\n\n- a **sales channel**\n- a group of your store's **authenticated customers**\n- your store's **traffic origin** (UTMs)\n- **benefit conditions**\n\nBelow, we can see a blueprint of how the concepts of *prices*, *price table* and *context* are related to one another:\n\n![Architecture-EN](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_1.svg)\n\n## Computed price\n\nThere are some criteria that the system takes into account when deciding what **an SKU's selling price for a specific price table** should be. This price is called **computed price**.\n\nThe pricing module takes these 4 criteria into account when calculating a price table's computed price:\n\n- Base Price\n- Price Rule\n- Rounding Rules\n- Fixed Price\n\n1. In cases where the SKU only has the *base price* set, the computed price for a specific price table will be equal to the **base price**.\n![rule1-EN](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_2.svg) \n\n2. When the SKU has a *price rule* configured for a specific price table, the computed price will be equal to **the base price, modified by the price rule**\n![rule2-EN](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_3.svg) \n\n3. In another scenario, we will consider a SKU with a *base price*, a *price rule* and *rounding rules*. **The computer price for a specific price table will be the result of these three factors**. First, the base price will be changed by the price rule. Afterwards, the psychological pricing's rounding takes place.\n![rule3-EN](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_4.svg) \n\n4. Lastly, if the SKU has a *fixed price*, **a specific price table's computed price will be equal to the fixed price**. This price weighs more than any of the others, which results in the pricing module *ignoring the other prices* when a fixed price is associated to an SKU. \n![rule4-EN](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_5.svg)\n\n## Validating a computed price\n\nTo check an SKU's sales price for a specific price table, you can query the **computed price value** in the **Price List** section in admin. In the example below, we can see that the computed price for **SKU 14** in **sales channel table 1** is equal to **334,62**:\n![computed-price-en](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tracks/vtex-modules-getting-started/prices-101/pricing-system-architecture_6.png)\n\nYou can also check an SKU's computed price in a price table by **making an API request**. To achieve this, you'll need to send a **GET** to the [Get Computed Price by price table or sales channel](https://developers.vtex.com/docs/api-reference/pricing-api#get-/pricing/prices/-itemId-/computed/-priceTableId-) call.\n\nThis request returns an SKU's `sellingPrice` from price table `1`. **This is the information that *Pricing* shows as *the SKU's selling price***."}