跳到主要内容
Docs/Features/Tiered Pricing

Tiered Product Pricing

Multi-tier pricing per product (volume discounts) with currency-aware localisation. Quotes auto-pick the right tier based on quantity.

![Tiered Pricing](/docs-img/tiered-pricing.png)

What It Does

  • Define unlimited price tiers per product (e.g. 1-99 units = $50, 100-499 = $45, 500+ = $40).
  • Per-currency localisation (the same product can have a USD tier ladder + a CNY one).
  • Quotation system auto-applies the right tier when you specify quantity.
  • Buyer-facing portal shows the ladder so they can see savings.
  • When to Use

    Any product with volume discounts. Without tiered pricing your sales team has to manually price every quote.

    Defining Tiers

    curl -X POST https://api.anvilhk.com/api/v1/products/$PRODUCT_ID/tiers \
      -H "Authorization: Bearer $ANVIL_KEY" \
      -H "X-Tenant-ID: $TENANT" \
      -H "Content-Type: application/json" \
      -d '{
        "currency": "USD",
        "tiers": [
          { "minQty": 1, "maxQty": 99, "unitPrice": 50 },
          { "minQty": 100, "maxQty": 499, "unitPrice": 45 },
          { "minQty": 500, "maxQty": null, "unitPrice": 40 }
        ]
      }'

    Currency & Localisation

    Each currency has its own tier ladder. If a buyer requests CAD and you only have USD tiers, Anvil converts at the live FX rate (/api/v1/fx-rates) and rounds to the nearest sensible figure.

    API Endpoints

  • `GET /api/v1/products/:id/tiers` — list tiers.
  • `POST /api/v1/products/:id/tiers` — define/replace.
  • `GET /api/v1/products/:id/price?qty=200&currency=USD` — price lookup.
  • Pricing & Limits

    PlanTiered productsCurrencies / product
    Starter101
    Prounlimited5
    Enterpriseunlimitedunlimited

    Gotchas

  • Tier boundaries can't overlap. Anvil enforces strictly contiguous ranges.
  • "+1 unit gets a worse price" is rejected — tiers must be monotonically non-increasing.
  • FX-derived prices show a small "approximate" badge; manually-set per-currency tiers don't.