> Documentation index: [Saleor](/llms.txt) · [This section](/api-usage/llms.txt)
> Source: https://docs.saleor.io/api-usage/prices

# Prices

Saleor API has four different types that represent prices. The most basic type consists of a currency code and a numeric amount. The most complex one can define a range of prices, including net, gross, and tax amounts. The numeric amount precision is determined by the precision of the price currency. For example, USD has a precision value of 2, such as $1.00. Regardless of the currency, the maximum price value that can be provided is 99 999 999 999 999 999. If this value is exceeded, an error will be raised.

Saleor does not enforce any particular set of currency codes, but we strongly recommend using the three-letter codes defined by the [ISO 4217 standard](https://en.wikipedia.org/wiki/ISO_4217).

<a id="displaying-prices"></a>

## Displaying prices

Presenting a number depends on the language and region. If you are building a web application, we recommend using the internationalization API provided by the browser.

-   See MDN documentation on [`Intl.NumberFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat)

<a id="api-reference"></a>

## API Reference

<a id="money"></a>

### Money

[`Money`](/api-reference/miscellaneous/objects/money.md) is a type for keeping prices without taxes. We do not restrict currency code values, so a user can use crypto-currencies or other custom currencies.

```graphql
type Money {
  currency: String!
  amount: Float!
}
```

-   `currency`: Currency code for price. Currency depends on the chosen Channel.
-   `amount`: Price amount.

<a id="taxedmoney"></a>

### TaxedMoney

The most common example of [`TaxedMoney`](/api-reference/miscellaneous/objects/taxed-money.md) is a [`ProductVariant`](/api-reference/products/objects/product-variant.md) price. If a user does not use any tax integration, both net and gross prices will be populated with the same value.

```graphql
type TaxedMoney {
  currency: String!
  gross: Money!
  net: Money!
  tax: Money!
}
```

-   `currency`: Currency code for price. Currency depends on the chosen Channel.
-   `gross`: Gross value (price with taxes).
-   `net`: Net value (price without taxes).
-   `tax`: Tax value.

<a id="moneyrange"></a>

### MoneyRange

[`MoneyRange`](/api-reference/miscellaneous/objects/money-range.md) is used to display prices for a [`ShippingZone`](/api-reference/shipping/objects/shipping-zone.md).

```graphql
type MoneyRange {
  start: Money
  stop: Money
}
```

-   `start`: Lowest price in the range.
-   `stop`: Highest price in the range.

<a id="taxedmoneyrange"></a>

### TaxedMoneyRange

[`TaxedMoneyRange`](/api-reference/miscellaneous/objects/taxed-money-range.md) is used in [`Products`](/api-reference/products/objects/product.md), because variants can differ in prices. You can display it as "price starts from $10" or "$10–$20".

```graphql
type TaxedMoneyRange {
  start: TaxedMoney
  stop: TaxedMoney
}
```

-   `start`: Lowest price in the range.
-   `stop`: Highest price in the range.
