lending.loan-payment Unreviewed
Level repayment for a loan (annuity formula), computed exactly and rounded once, the way you choose.
loan_payment in Rust
1.0.1
py rs ts
23 tests
lending.ltv Unreviewed
Loan-to-value ratio in basis points, and the band it falls in from a band table you supply.
loan_to_value in Rust
1.0.1
py rs ts
17 tests
lending.overpayment-effect Unreviewed
What a one-off overpayment does to a loan: a shorter term at the same payment, or a lower payment over the same term.
overpayment_effect in Rust
1.0.1
py rs ts
14 tests
lending.affordability Unreviewed
Debt-to-income and a stressed-rate affordability test for a proposed loan's monthly repayment.
affordability in Rust
1.0.1
py rs ts
13 tests
lending.apr Unreviewed
Consumer-credit APR from drawdowns and repayments, by the FCA CONC App 1.2.6 equation, to one decimal place.
apr in Rust
1.0.1
py rs ts
22 tests
lending.amortisation-schedule Unreviewed
Repayment schedule for a level-payment loan: interest, principal and balance per period, ending at exactly zero.
amortisation_schedule in Rust
1.0.1
py rs ts
13 tests
lending.early-settlement Unreviewed
Early settlement figure and rebate on UK regulated consumer credit, per the Early Settlement Regulations 2004.
early_settlement in Rust
1.0.1
py rs ts
18 tests
lending.daily-interest Unreviewed
Interest accrued day by day on a changing balance under a day-count convention, summed exactly and rounded once.
daily_interest in Rust
1.0.1
py rs ts
21 tests
property.mortgage-affordability Unreviewed
Mortgage affordability: the loan-to-income multiple and a stress-tested repayment against income, both checked.
mortgage_affordability in Rust
1.0.1
py rs ts
13 tests
insurance.instalment-plan Unreviewed
Pay a premium by monthly instalments: deposit, flat credit charge, instalments exact to the penny, and the APR.
instalment_plan in Rust
1.0.1
py rs ts
15 tests
banking.overdraft-interest
Overdraft interest for a statement period from daily balances, with an interest-free buffer.
overdraft_interest in Rust
1.0.0
py rs ts
15 tests
legal.statutory-interest Unreviewed
Statutory interest on a judgment debt (8% simple, daily) or a late commercial debt, England and Wales.
statutory_interest in Rust
1.0.1
py rs ts
19 tests
finance.margin
Profit on a sale with both the margin and the markup, so the two are never confused.
margin in Rust
1.0.0
py rs ts
13 tests
charity.donation-matching
Employer match on a donation: a ratio in basis points, limited by a per-donor cap and a programme budget.
donation_match in Rust
1.0.0
py rs ts
17 tests
money.allocate
Split an amount across ratios without losing or inventing a single minor unit.
allocate in Rust
1.0.1
py rs ts
17 tests
finance.compound-interest
Compound interest accrued period by period in minor units, the way a statement is built.
compound_interest in Rust
1.0.0
py rs ts
18 tests
payroll.student-loan Unreviewed
Student loan or postgraduate loan deduction from one period's pay, by plan, rounded down to whole pounds.
student_loan in Rust
1.0.2
py rs ts
24 tests
finance.accruals-prepayments
Split an invoice across accounting periods by days of service, for accruals, prepayments and deferred income.
allocate_to_periods in Rust
1.0.0
py rs ts
17 tests
retail.loyalty-points
Loyalty points for a purchase: redeem in blocks, earn on what is paid, with tier multipliers.
loyalty_points in Rust
1.0.0
py rs ts
19 tests
education.student-loan-repayment
A graduate's student or postgraduate loan repayment for a tax year, as Self Assessment works it out.
student_loan_repayment in Rust
1.0.1
py rs ts
21 tests
finance.early-payment-discount
Early settlement discount available on a payment date under "2/10 net 30" style terms, and the amount to pay.
early_payment_discount in Rust
1.0.0
py rs ts
16 tests
hospitality.tronc-allocation
Share a tips pool (tronc) between staff by hours worked, points, or hours times points, exactly to the penny.
tronc_allocation in Rust
1.0.0
py rs ts
19 tests
finance.proration
Split an amount into the part used and the part unused over a billing period, losing nothing.
prorate in Rust
1.0.0
py rs ts
16 tests
legal.retainer-drawdown Unreviewed
Apply money held on account in client account to bills in order: what each bill takes, what stays due, what is left.
retainer_drawdown in Rust
1.0.1
py rs ts
11 tests
money.apply-rate
Apply a rate expressed in basis points to a monetary amount, with an explicit rounding mode.
apply_rate in Rust
1.0.1
py rs ts
22 tests
money.add
Add, subtract and negate monetary amounts, refusing to mix currencies.
add_money in Rust
1.0.1
py rs ts
12 tests
property.service-charge-apportion Unreviewed
Apportion a service charge across units by lease fraction, floor area or fixed percentage, exact to the penny.
apportion_service_charge in Rust
1.0.1
py rs ts
19 tests
banking.savings-aer
AER (annual equivalent rate) from a gross nominal rate and how often interest is paid, to two decimal places.
savings_aer in Rust
1.0.0
py rs ts
14 tests
charity.restricted-funds
Allocate charity spending to restricted funds first, then unrestricted funds, never overdrawing a restricted fund.
allocate_fund_spend in Rust
1.0.0
py rs ts
17 tests
banking.fees-cap
Apply a monthly fee cap to a list of account charges: charge up to the cap, waive the rest.
apply_fee_cap in Rust
1.0.0
py rs ts
18 tests
retail.promotion-apply
Apply BOGOF, 3-for-2, percent off, amount off and multibuy deals to a basket, best for the customer, allocated to lines.
apply_promotions in Rust
1.0.0
py rs ts
23 tests
1.0.0
py rs ts
17 tests
retail.refund-calculate
Refund for returned items, sharing basket discounts back across the sale so every refund is exact to the penny.
calculate_refund in Rust
1.0.0
py rs ts
16 tests
retail.gift-card-balance
Apply a payment from a gift card, redeeming part of the balance or all of it, and say what is still due.
redeem_gift_card in Rust
1.0.0
py rs ts
11 tests
money.convert
Convert an amount to another currency at a supplied exact rate, with an explicit rounding mode.
convert_money in Rust
1.0.0
py rs ts
19 tests
finance.markup-price
Selling price from a cost and a target margin or markup in basis points, with explicit rounding.
markup_price in Rust
1.0.0
py rs ts
21 tests
subscriptions.ltv-cac
Customer lifetime value, LTV to CAC ratio and CAC payback months from ARPA, gross margin, churn and CAC.
ltv_cac in Rust
1.0.0
py rs ts
14 tests
insurance.loss-ratio Unreviewed
Loss ratio, expense ratio and combined ratio in basis points, from earned premium, incurred claims and expenses.
loss_ratios in Rust
1.0.1
py rs ts
12 tests
construction.cis-deduction
Construction Industry Scheme deduction (0, 20 or 30%) on the labour part of a subcontractor payment.
cis_deduction in Rust
1.0.2
py rs ts
24 tests
banking.faster-payments-limit
Whether a Faster Payment fits the scheme maximum, the bank's per-payment limit and what is left of its daily limit.
faster_payments_check in Rust
1.0.1
py rs ts
24 tests
money.split-even
Split an amount into n near-equal parts that add back up to exactly the whole.
split_even in Rust
1.0.0
py rs ts
13 tests
property.holding-deposit-cap Unreviewed
Maximum holding deposit to reserve a rental property: one week's rent (annual rent ÷ 52), rounded down.
holding_deposit_cap in Rust
1.0.1
py rs ts
11 tests
education.fee-instalments
Tuition fee instalment schedule from a total, shares and due dates, exact to the penny.
fee_instalments in Rust
1.0.0
py rs ts
20 tests
finance.bank-reconcile-match
Match bank statement lines to ledger entries by exact amount, a date window and reference similarity, deterministically.
match_bank_lines in Rust
1.0.0
py rs ts
19 tests
1.0.0
py rs ts
15 tests
construction.roof-pitch
Roof pitch in degrees, rafter length and roof slope area from span, rise and length.
roof_pitch in Rust
1.0.0
py rs ts
15 tests
finance.ledger.trial-balance
Trial balance from journal lines: debit or credit balance per account, and proof that debits equal credits.
trial_balance in Rust
1.0.0
py rs ts
13 tests
property.rent-proration Unreviewed
Rent for part of a month from the monthly rent, by the annual-daily or the calendar-month method.
prorate_rent in Rust
1.0.1
py rs ts
21 tests
finance.credit-note.calculate
Credit note against an original invoice, by units or by amount, with VAT at the original tax point's rates.
calculate_credit_note in Rust
1.0.0
py rs ts
21 tests
retail.shipping-rate
Delivery charge from a dated rate table by service, zone, chargeable weight and size, with a free-over threshold.
shipping_rate in Rust
1.0.1
py rs ts
20 tests