Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

Invoice Late Fee / Payment Terms Calculator implementation

A source-bound implementation contract for Invoice Late Fee / Payment Terms Calculator; deployment and executable qualification remain separate.

Status: VERIFIED_CLEANLifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-clean
Evidence ID
t5-052
Effect
Computation or source lookup only

Input and validation requirements

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.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "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%."
}

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche5/tranche5-results.json