Page actions
instrument / verified-clean
Invoice Late Fee / Payment Terms Calculator
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Finance, Economics & Business (educational only — never individualized investment, tax, or legal advice)
- Tranche
- tranche-5
- Evidence ID
- t5-052
- Ledger rows
- 1
No ledger note is attached.
Review findings
The formulas are conditionally standard, but the exact ambiguity is whether rate and disc% are entered as decimal fractions or percentage points, and whether 'effective annualized cost/benefit %' means the cost of foregoing the discount or the benefit of taking it. Retain the 'Educational estimate' label and state that the result does not determine contractual or legally permissible late fees.
Formula and scope findings
- late_fee=balance*rate*days_late/365 is standard simple-interest accrual only when rate is an annual decimal rate and a 365-day convention applies; it does not model compounding, contractual grace periods, minimum fees, caps, or jurisdiction-specific rules.
- The discount formula is the standard simple annualized cost of foregoing a cash discount, not a compounded effective APR and not a benefit rate when the customer takes the discount. The output label must distinguish 'cost of not taking discount' from 'benefit of taking discount'.
- The specification does not state whether percentage inputs such as rate and disc% are supplied as decimals (0.12) or percentage points (12).
Unit assumptions
- balance is in the invoice currency.
- rate is an annual nominal rate represented as a decimal, such as 0.12 for 12% per year.
- days_late, discount_days, and net_days are nonnegative calendar-day counts.
- The late-fee formula uses a fixed 365-day year, including leap years.
- disc% is represented as a decimal, such as 0.02 for 2%.
- effective annualized cost is reported as a percentage after multiplying the decimal result by 100.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
The calculator encounters an undefined effective annualized discount cost when net_days equals discount_days. It also has a potential behavioral break at negative days_late: the raw formula returns a negative fee unless the implementation explicitly switches to an early/on-time branch and clamps the fee to zero.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"balance": 1200,
"rate_decimal": 0.12,
"days_late": 45,
"discount_decimal": 0.02,
"discount_days": 10,
"net_days": 30
},
"expected_outputs": {
"late_fee_usd": 17.75342466,
"effective_annualized_cost_percent": 37.24489796
},
"working": "Late fee: 1200 × 0.12 = 144; 144 × 45 = 6480; 6480 ÷ 365 = 17.75342466. Discount cost: 0.02 ÷ (1 − 0.02) = 0.02 ÷ 0.98 = 0.02040816327; net interval = 30 − 10 = 20 days; 365 ÷ 20 = 18.25; 0.02040816327 × 18.25 = 0.3724489796; 0.3724489796 × 100 = 37.24489796%."
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json