Price Ladder
price_ladderWork backwards from the margin you want to the price you must charge. FREE.
Solves for price including the percentage fee, which is why it is not simply cost divided by one minus margin. Typical input {"supplier_cost": 12.4, "target_margins_pct": [30, 40, 50], "shipping_cost": 4.2} returns {"rows": [{"target_margin_pct": 30, "price": 25.99, "total_cost": 17.65, "profit": 8.34, "actual_margin_pct": 32.07}, ...]}.
Use when setting a price list. Not for checking one price you already have — that is margin_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "target_margins_pct must contain at least one margin"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| charm_ending | No | Force prices to end in these cents, e.g. ".99". Pass an empty string for exact prices. Default ".99". | .99 |
| shipping_cost | No | Shipping you absorb per order. Default 0. | |
| supplier_cost | Yes | Per-unit cost from the supplier. Must be above 0. | |
| payment_fee_pct | No | Processor percentage fee. Default 2.9. | |
| payment_fee_fixed | No | Processor fixed fee. Default 0.30. | |
| target_margins_pct | Yes | Margins to solve for, e.g. [30, 40, 50]. Each must be above 0 and below 100. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||