{
  "example": "buy-here-pay-here \u2014 retail instalment contract",
  "source": "https://amortance.com/bhph",
  "note": "Synthetic data, real mechanics. Generated from the same engine the page runs, not read by it: this file fixes the inputs and the expected outputs so the numbers can be reproduced independently. verify.py does exactly that and is published beside it.",
  "deal": {
    "sold": "2026-01-16",
    "lines": [
      {
        "line": "Vehicle",
        "detail": "2018 Chevrolet Equinox LT, 96,412 mi",
        "amount": "13995"
      },
      {
        "line": "Service contract",
        "detail": "24 months / 24,000 miles",
        "amount": "1795"
      },
      {
        "line": "GAP waiver",
        "detail": "term of the contract",
        "amount": "495"
      },
      {
        "line": "Documentary fee",
        "detail": "",
        "amount": "199"
      },
      {
        "line": "Sales tax",
        "detail": "state and local",
        "amount": "874.69"
      },
      {
        "line": "Title and registration",
        "detail": "",
        "amount": "215"
      }
    ],
    "cash_down": "2175",
    "amount_financed": "15398.69"
  },
  "terms": {
    "apr": "0.1990",
    "accrual": "simple interest on outstanding principal, no compounding",
    "rounding": "half up to the cent, computed per interval, at posting",
    "allocation": "accrued interest first, then principal",
    "payment_pricing": "=PMT at the nominal periodic rate (APR x 14 / day-count basis)",
    "on_change": "payment holds, term moves",
    "gap_waiver": "waives the unpaid balance as of the date of loss, less any amount added to the balance after origination and any instalment due but unpaid at the loss; a waiver forgives debt, it does not pay"
  },
  "states": [
    {
      "policy": {
        "day_count": "actual/365",
        "refund_pro_rated_on": "elapsed days",
        "refund_effective": "POLICY FORK \u2014 all three columns below"
      },
      "payments": {
        "first": "2026-01-30",
        "every_days": 14,
        "count": 91,
        "amount": "235.35",
        "exceptions": [
          {
            "on": "2026-07-03",
            "not_collected": true,
            "moved_to": "2029-07-27",
            "reason": "skip clause"
          },
          {
            "after": "2026-10-02",
            "not_collected": true,
            "reason": "assumption of this example: nothing collected after the loss"
          }
        ]
      },
      "events": [
        {
          "on": "2026-07-03",
          "kind": "fee",
          "amount": "25.00",
          "note": "deferral fee, financed"
        },
        {
          "on": "2026-08-07",
          "kind": "principal",
          "amount": "-1245.84",
          "received": "2026-08-28",
          "note": "service contract cancelled, 203 of 730 days used, less $50.00 cancellation fee"
        },
        {
          "on": "2026-10-02",
          "kind": "total_loss",
          "acv": "9850.00",
          "insurer_paid": "2026-10-24"
        }
      ],
      "expected": {
        "pay0": "235.35",
        "refundGross": "1,295.84",
        "refund": "1,245.84",
        "p13Interest": "214.71",
        "p13Principal": "20.64",
        "p13Plain": "129.07",
        "endNoneDate": "2029-08-24",
        "endNoneFinal": "8.59",
        "endCancelDate": "2029-04-06",
        "endCancelFinal": "169.47",
        "endReceiptDate": "2029-04-06",
        "endReceiptFinal": "193.45",
        "float21": "14.26",
        "floatLife": "23.98",
        "payoffLoss": "12,173.19",
        "payoffSettle": "12,318.65",
        "deficiencyLoss": "2,323.19",
        "deficiencySettle": "2,468.65",
        "lossGap": "145.46",
        "daily": "6.61",
        "waiverWaives": "2,298.19",
        "remainder": "170.46",
        "acv": "9,850.00"
      }
    },
    {
      "policy": {
        "day_count": "actual/365",
        "refund_pro_rated_on": "started months",
        "refund_effective": "POLICY FORK \u2014 all three columns below"
      },
      "payments": {
        "first": "2026-01-30",
        "every_days": 14,
        "count": 91,
        "amount": "235.35",
        "exceptions": [
          {
            "on": "2026-07-03",
            "not_collected": true,
            "moved_to": "2029-07-27",
            "reason": "skip clause"
          },
          {
            "after": "2026-10-02",
            "not_collected": true,
            "reason": "assumption of this example: nothing collected after the loss"
          }
        ]
      },
      "events": [
        {
          "on": "2026-07-03",
          "kind": "fee",
          "amount": "25.00",
          "note": "deferral fee, financed"
        },
        {
          "on": "2026-08-07",
          "kind": "principal",
          "amount": "-1221.46",
          "received": "2026-08-28",
          "note": "service contract cancelled, 7 of 24 months used, less $50.00 cancellation fee"
        },
        {
          "on": "2026-10-02",
          "kind": "total_loss",
          "acv": "9850.00",
          "insurer_paid": "2026-10-24"
        }
      ],
      "expected": {
        "pay0": "235.35",
        "refundGross": "1,271.46",
        "refund": "1,221.46",
        "p13Interest": "214.71",
        "p13Principal": "20.64",
        "p13Plain": "129.07",
        "endNoneDate": "2029-08-24",
        "endNoneFinal": "8.59",
        "endCancelDate": "2029-04-06",
        "endCancelFinal": "210.77",
        "endReceiptDate": "2029-04-06",
        "endReceiptFinal": "234.31",
        "float21": "13.98",
        "floatLife": "23.54",
        "payoffLoss": "12,198.34",
        "payoffSettle": "12,344.09",
        "deficiencyLoss": "2,348.34",
        "deficiencySettle": "2,494.09",
        "lossGap": "145.75",
        "daily": "6.63",
        "waiverWaives": "2,323.34",
        "remainder": "170.75",
        "acv": "9,850.00"
      }
    },
    {
      "policy": {
        "day_count": "actual/360",
        "refund_pro_rated_on": "elapsed days",
        "refund_effective": "POLICY FORK \u2014 all three columns below"
      },
      "payments": {
        "first": "2026-01-30",
        "every_days": 14,
        "count": 91,
        "amount": "236.36",
        "exceptions": [
          {
            "on": "2026-07-03",
            "not_collected": true,
            "moved_to": "2029-07-27",
            "reason": "skip clause"
          },
          {
            "after": "2026-10-02",
            "not_collected": true,
            "reason": "assumption of this example: nothing collected after the loss"
          }
        ]
      },
      "events": [
        {
          "on": "2026-07-03",
          "kind": "fee",
          "amount": "25.00",
          "note": "deferral fee, financed"
        },
        {
          "on": "2026-08-07",
          "kind": "principal",
          "amount": "-1245.84",
          "received": "2026-08-28",
          "note": "service contract cancelled, 203 of 730 days used, less $50.00 cancellation fee"
        },
        {
          "on": "2026-10-02",
          "kind": "total_loss",
          "acv": "9850.00",
          "insurer_paid": "2026-10-24"
        }
      ],
      "expected": {
        "pay0": "236.36",
        "refundGross": "1,295.84",
        "refund": "1,245.84",
        "p13Interest": "217.79",
        "p13Principal": "18.57",
        "p13Plain": "128.55",
        "endNoneDate": "2029-08-24",
        "endNoneFinal": "12.70",
        "endCancelDate": "2029-04-06",
        "endCancelFinal": "166.43",
        "endReceiptDate": "2029-04-06",
        "endReceiptFinal": "190.91",
        "float21": "14.46",
        "floatLife": "24.48",
        "payoffLoss": "12,184.50",
        "payoffSettle": "12,332.10",
        "deficiencyLoss": "2,334.50",
        "deficiencySettle": "2,482.10",
        "lossGap": "147.60",
        "daily": "6.71",
        "waiverWaives": "2,309.50",
        "remainder": "172.60",
        "acv": "9,850.00"
      }
    },
    {
      "policy": {
        "day_count": "actual/360",
        "refund_pro_rated_on": "started months",
        "refund_effective": "POLICY FORK \u2014 all three columns below"
      },
      "payments": {
        "first": "2026-01-30",
        "every_days": 14,
        "count": 91,
        "amount": "236.36",
        "exceptions": [
          {
            "on": "2026-07-03",
            "not_collected": true,
            "moved_to": "2029-07-27",
            "reason": "skip clause"
          },
          {
            "after": "2026-10-02",
            "not_collected": true,
            "reason": "assumption of this example: nothing collected after the loss"
          }
        ]
      },
      "events": [
        {
          "on": "2026-07-03",
          "kind": "fee",
          "amount": "25.00",
          "note": "deferral fee, financed"
        },
        {
          "on": "2026-08-07",
          "kind": "principal",
          "amount": "-1221.46",
          "received": "2026-08-28",
          "note": "service contract cancelled, 7 of 24 months used, less $50.00 cancellation fee"
        },
        {
          "on": "2026-10-02",
          "kind": "total_loss",
          "acv": "9850.00",
          "insurer_paid": "2026-10-24"
        }
      ],
      "expected": {
        "pay0": "236.36",
        "refundGross": "1,271.46",
        "refund": "1,221.46",
        "p13Interest": "217.79",
        "p13Principal": "18.57",
        "p13Plain": "128.55",
        "endNoneDate": "2029-08-24",
        "endNoneFinal": "12.70",
        "endCancelDate": "2029-04-06",
        "endCancelFinal": "208.05",
        "endReceiptDate": "2029-04-06",
        "endReceiptFinal": "232.15",
        "float21": "14.18",
        "floatLife": "24.10",
        "payoffLoss": "12,209.64",
        "payoffSettle": "12,357.55",
        "deficiencyLoss": "2,359.64",
        "deficiencySettle": "2,507.55",
        "lossGap": "147.91",
        "daily": "6.72",
        "waiverWaives": "2,334.64",
        "remainder": "172.91",
        "acv": "9,850.00"
      }
    }
  ]
}
