# Early Payment Discount Calculator

> Evaluates cash-discount payment terms such as 2/10 net 30: the discount on an invoice, the amount due if paid early, and the annualized simple and effective interest rate implied by forgoing the discount (the cost of trade credit).

- Calculator id: `early-payment-discount` · Category: Finance (`finance`) · Tool name: `calculate_early_payment_discount`
- Canonical page: https://tttkmbb.com/finance/early-payment-discount · This document: https://tttkmbb.com/finance/early-payment-discount.md · JSON definition: https://tttkmbb.com/finance/early-payment-discount.json

## Purpose

Evaluates cash-discount payment terms such as 2/10 net 30: the discount on an invoice, the amount due if paid early, and the annualized simple and effective interest rate implied by forgoing the discount (the cost of trade credit).

**Use when:** A supplier offers a percentage discount for paying an invoice within a few days and you want the annualized return of paying early, or whether borrowing to take the discount is worthwhile.

**Do not use when:** You need a plain price reduction without payment terms (use discount), or a late-payment penalty or interest charge. Informational; not financial advice.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `discount_percent` | number | % | optional, default 2 | Percentage taken off the invoice when paid within discount_days (the 2 in 2/10 net 30). (min 0, max 99) |
| `discount_days` | integer | days | optional, default 10 | Days from the invoice date during which the discount applies (the 10 in 2/10 net 30). (min 0, max 365) |
| `net_days` | integer | days | optional, default 30 | Days until the full amount is due without discount (the 30 in 2/10 net 30); must exceed discount_days. (min 1, max 730) |
| `invoice_amount` | number |  | optional, default 1000 | Gross invoice amount before the discount. (> 0, max 1000000000000) |
| `borrowing_rate_percent` | number | % | optional | Annual rate at which you could borrow to pay early (e.g. a credit line APR); used only for the recommendation. (min 0, max 1000) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `discount_amount` | number |  | invoice_amount × discount_percent / 100. |
| `amount_if_paid_early` | number |  | invoice_amount − discount_amount. |
| `days_of_credit_given_up` | integer | days | net_days − discount_days: how much earlier the cash leaves. |
| `implicit_rate_for_period_percent` | number | % | discount / (1 − discount) × 100: the discount as a percentage of the discounted amount, i.e. the interest paid for the extra days. |
| `annualized_rate_simple_percent` | number | % | Cost for the period × 365 / days_of_credit_given_up: the nominal annual cost of trade credit. |
| `annualized_rate_effective_percent` | number | % | ((1 + cost for the period)^(365 / days) − 1) × 100: the compounded annual cost. |
| `terms_text` | string |  | The terms in standard notation, e.g. "2/10 net 30". |
| `recommendation` | string |  | Whether taking the discount beats the borrowing rate (or a general interpretation when no rate is given). |

## Formula

`d = discount_percent / 100; discount_amount = invoice_amount × d; amount_if_paid_early = invoice_amount × (1 − d); days = net_days − discount_days; simple = d / (1 − d) × 365 / days × 100; effective = ((1 + d / (1 − d))^(365 / days) − 1) × 100`

Standard cost-of-trade-credit formula: paying on the net date instead of the discount date is a loan of the discounted amount for (net − discount) days at interest equal to the discount. The simple rate is comparable with a nominal borrowing APR; the effective rate assumes the gain is reinvested every period.

## Data Sources

- Wikipedia – Discounts and allowances (cash discounts such as 2/10 net 30) — https://en.wikipedia.org/wiki/Discounts_and_allowances (reference, retrieved 2026-09-24)
- Wikipedia – Net D (payment terms such as 2/10 net 30) — https://en.wikipedia.org/wiki/Net_D (reference, retrieved 2026-09-24)
- Corporate Finance Institute – 2/10 Net 30: how trade credit works — https://corporatefinanceinstitute.com/resources/accounting/2-10-net-30/ (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/early-payment-discount?`
- `POST https://tttkmbb.com/api/v1/calculate/early-payment-discount` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/early-payment-discount · OpenAPI operationId `calculate_early_payment_discount` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "early-payment-discount", "inputs": {…}}`

## Example

- 2/10 net 30 on a 1,000 invoice: inputs `{"discount_percent":2,"discount_days":10,"net_days":30,"invoice_amount":1000}` → `{"discount_amount":20,"amount_if_paid_early":980,"days_of_credit_given_up":20,"implicit_rate_for_period_percent":2.04,"annualized_rate_simple_percent":37.24,"annualized_rate_effective_percent":44.59,"terms_text":"2/10 net 30"}`
- 1/15 net 45 on 5,000 with an 8 % credit line: inputs `{"discount_percent":1,"discount_days":15,"net_days":45,"invoice_amount":5000,"borrowing_rate_percent":8}` → `{"discount_amount":50,"amount_if_paid_early":4950,"days_of_credit_given_up":30,"annualized_rate_simple_percent":12.29,"annualized_rate_effective_percent":13.01,"terms_text":"1/15 net 45"}`

```
GET https://tttkmbb.com/api/v1/calculate/early-payment-discount?discount_percent=2&discount_days=10&net_days=30&invoice_amount=1000
```

## Limitations

You need a plain price reduction without payment terms (use discount), or a late-payment penalty or interest charge. Informational; not financial advice. Standard cost-of-trade-credit formula: paying on the net date instead of the discount date is a loan of the discounted amount for (net − discount) days at interest equal to the discount. The simple rate is comparable with a nominal borrowing APR; the effective rate assumes the gain is reinvested every period. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why is 2 % worth 37 % per year?**

The 2 % is earned in only 20 days (day 10 to day 30). 2/98 = 2.04 % per 20 days, and there are 365/20 = 18.25 such periods in a year: 2.04 % × 18.25 ≈ 37.2 %.

**Which rate should I compare with my loan rate?**

Use the simple rate against a nominal APR on a short-term credit line, since the borrowed money is only needed for the 20 days; the effective rate shows the compounded equivalent for comparison with investment yields.

**What if the discount is 0 or the periods are equal?**

With no discount there is no cost of trade credit (rates are 0). net_days must exceed discount_days; equal periods would mean the discount is available until the due date, so there is nothing to give up.

## Related

- [Discount Calculator](https://tttkmbb.com/finance/discount.md) — Plain percentage discount on a price.
- [APY Calculator](https://tttkmbb.com/finance/apy.md) — Convert a nominal annual rate into its effective yield.
- [Simple Interest Calculator](https://tttkmbb.com/finance/simple-interest.md) — Interest for a short period at a simple rate.
