Start calculating
Behind the numbers

See the working.

Every tool uses your inputs and a stated mathematical model. Here are the key assumptions.

Pricing

Gross profit = selling price − cost. Margin = profit ÷ selling price × 100. Markup = profit ÷ cost × 100. A zero selling price makes margin undefined; zero cost makes markup undefined. Target selling price = cost ÷ (1 − target margin ÷ 100), with a target margin below 100%.

Planning

Contribution = selling price − variable cost. Break-even units = fixed costs ÷ contribution. Target-profit units = (fixed costs + target profit) ÷ contribution. Whole-unit results round up. A non-positive contribution does not produce a finite volume that covers positive fixed costs or profit targets. The model assumes stable costs and a single sales mix.

Tax and discounts

VAT added = net × rate ÷ 100. Net extracted = gross ÷ (1 + rate ÷ 100). Discounted price = original × (1 − discount ÷ 100). Rates are entered by the user; the site does not determine applicable tax treatment.

Loans

With principal P, monthly rate r, and n monthly payments, payment = P × r ÷ (1 − (1 + r)^−n). At a zero rate, payment = P ÷ n. Terms use whole months, up to 600. The annual nominal rate is divided by twelve. No fees, insurance, balloon payments, or variable rates are modeled.

Invoices

Each line subtotal is quantity × unit price. The invoice subtotal is the sum of line subtotals. A single entered tax rate is applied to the subtotal. This model does not handle mixed tax rates, withholding, or jurisdiction-specific invoice rounding.

Precision and validation

Calculations use JavaScript floating-point numbers, so very small binary rounding differences are possible. Monetary outputs show two decimals and schedules use unrounded balances internally. Input ranges reject unsupported values rather than treating empty fields as zero. Currency selection changes formatting, not exchange rates.