Calcular descuentos
discount-calculateAplica uno o varios descuentos (porcentaje o fijo), compuestos o sumados, y opcionalmente el impuesto después. Cuándo: un cálculo de dinero, impuestos o matemática financiera tiene que ser exacto y reproducible (redondeo, centavos, tasas). No para: calcular utilidad, margen bruto % (margin-markup). Efectos secundarios: ninguno (solo lectura, sin red, sin estado guardado). Determinista: la misma entrada da la misma salida. Límites: entrada JSON de hasta 64 KB, 1 s por llamada, resultado de hasta 1 MB.
EN: Applies one or more percentage and fixed discounts to a price, either compounded in order or summed, optionally adding tax afterwards; reports effective discount %. When: a money, tax or financial-math result has to be exact and reproducible (rounding, cents, rates). Not for: computing profit, gross margin % (margin-markup). Side effects: none (read-only, no network access, no stored state). Deterministic: the same input gives the same output. Limits: JSON input up to 64 KB, 1 s per call, result up to 1 MB.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | How to combine (optional; one of: compound, additive; default "compound"). | compound |
| price | Yes | Original price (number; required; min 0; max 1000000000000000). | |
| decimals | No | Decimals (integer; optional; default 2; min 0; max 6). | |
| discounts | Yes | Discounts (array of object; required; at least 1 items; up to 20 items). | |
| tax_percent | No | Tax % applied after discounts (number; optional; default 0; min 0; max 100). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| savings | No | ||
| final_price | No | ||
| price_with_tax | No | ||
| effective_discount_percent | No |