Debt-to-Income Calculator
calculate_debt_to_incomeCalculation, not advice. Verify with a professional before acting. Calculate your debt-to-income ratio and check qualification for conventional, FHA, VA, and USDA mortgage programs. Accepts existing debts and an optional proposed new debt or home price. Pick this to measure DTI ratios and mortgage-program qualification against existing debts; pick compare_debt_consolidation when the question is whether a consolidation loan costs less than keeping the current credit cards, and pick compare_rent_vs_buy when the question is whether to buy a home at all rather than what DTI a given price implies.
Returns current DTI, front-end and back-end ratios with proposed housing, maximum affordable home price, and what-if scenarios showing the resulting DTI and which programs would then qualify if a given debt were paid off, plus income-increase and home-price-reduction variants. Includes the 10-month rule (Fannie Mae) for debts near payoff.
qualification.<program>.qualification_status is a tri-state verdict ('qualifies' | 'underwriting_dependent' | 'ineligible'):
'underwriting_dependent' means the manual-underwriting baseline is exceeded but further underwriting can still approve it, an automated-underwriting system for conventional and FHA, either automated or manual underwriting for USDA, or a supervisory underwriter's written justification under 38 CFR 36.4340(c)(2) for VA (never an automated decision), so
qualification.<program>.qualifies=falsedoes NOT by itself mean the borrower is blockedRead qualification_status, not the bare qualifies boolean, for the real answer;
qualification.<program>.noteexplains the specific underwriting or hard-cap context, naming which mechanism appliesVA's back-end overage alone never returns 'ineligible' either (38 CFR 36.4340(c)(2)/(c)(3) both contemplate approval above 41%), and conventional is now the only program that ever returns 'ineligible', since FHA, VA and USDA are each disclosure-only above their baselines
what_if.scenarios[].qualifies_vaandchanges_qualification_vaare decided on the scenario's unrounded VA ratio rounded to a whole percent under 38 CFR 36.4340(d), not onnew_back_end_dti_va(two decimals), so a scenario showing 41.44 can qualify;qualification.va.your_back_end_comparedstates the rounded figure VA's row compares withmax_back_end
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| family_size | No | Household size for the VA residual income guideline. Supply family_size and property_state together, or neither. Optional; must be between 1 and 20. | |
| hoa_monthly | No | Monthly homeowners association dues in dollars. Optional; defaults to 0 when omitted. Must be zero or more. | |
| pmi_monthly | No | Monthly PMI (private mortgage insurance) in dollars. Optional; if omitted, auto-estimated at 0.5% of the loan annually when loan-to-value exceeds 80%. Feeds the conventional-basis PITI, so it moves with_proposed.front_end_dti, with_proposed.back_end_dti, with_proposed.front_end_breakdown, the conventional qualification row, and what_if.scenarios[].new_front_end_dti and new_back_end_dti. VA carries no PMI, and FHA and USDA always compute their own upfront-plus-annual mortgage insurance instead, at every loan-to-value, never this override. Must be zero or more. | |
| annual_income | No | Annual gross income in dollars, divided by 12 to get monthly income. Exactly one of gross_monthly_income or annual_income is required. Must be at least $0.01, one cent, the smallest amount of money. | |
| proposed_debt | No | A proposed new debt, as an alternative to proposed_home_price. Provide at most one of proposed_debt or proposed_home_price; providing neither computes the current DTI only. Optional; a JSON null is treated as omitted, the same as leaving the field out. | |
| existing_debts | No | Existing debts to include in the DTI calculation. Optional; omit it or send an empty array for no existing debts. A JSON null is rejected; omit the field instead. At most 50 debts are allowed. | |
| property_state | No | Two-letter USPS state code, or 'DC'/'PR'/'GU'/'VI'/'AS'/'MP'. Supply family_size and property_state together, or neither. Together these compute the VA residual income guideline (38 CFR 36.4340(e)) in va_residual_income_guideline: the dollar amount VA's tables require for this family size, region, and loan amount (derived from proposed_home_price; not computable without it), plus the 38 CFR 36.4340(c)(3) review-waiver figure. Computed only for family_size 1-7 and a property_state among the 50 states, DC, or PR (not GU, VI, AS, or MP; 38 CFR 36.4340(e) assigns no region to those four); outside those bounds, or without proposed_home_price, va_residual_income_guideline.status reads 'not_computable' with the reason instead. This block alone is a LOOKUP, not a verdict: it never compares against your actual residual income by itself. Optional. | |
| include_what_if | No | Whether to generate what-if scenarios showing how paying off a debt, increasing income, or reducing the home price would improve DTI. Optional; defaults to true when omitted. | |
| additional_income | No | Additional monthly income: side income, rental income, or bonuses. Optional; defaults to 0 when omitted. Must be zero or more. | |
| proposed_rate_pct | No | Proposed mortgage interest rate as a percent, e.g. 7.0 for 7.0%. Optional; the 7.0% default applies whenever this field is omitted, whether the proposal is proposed_debt or proposed_home_price. The default-rate warning fires only when proposed_home_price is used. Must be between 0 and 20. | |
| property_tax_annual | No | Annual property tax in dollars. Optional; if omitted, estimated at 0.88% of the proposed home price. Must be zero or more. | |
| proposed_home_price | No | Proposed home purchase price in dollars. Provide at most one of proposed_debt or proposed_home_price; providing neither computes the current DTI only. Auto-calculates full PITI (principal, interest, taxes, insurance). Optional; must be at least $0.01, one cent, the smallest amount of money. | |
| proposed_term_years | No | Proposed mortgage term in years. Optional; defaults to 30 when omitted. Must be between 1 and 40. | |
| transaction_purpose | No | Mortgage transaction purpose: 'purchase', 'refinance', or 'streamlined_assist'. Optional, defaults to 'purchase' when omitted. Affects USDA only, and only what is disclosed. USDA's 32% PITI and 44% Total Debt figures are purchase-transaction waiver conditions (HB-1-3555 11.3.A.2), disclosed rather than applied as ceilings: Senaro cannot observe how the file is underwritten, so a USDA ratio overage is never 'ineligible' on any transaction purpose. For a refinance, 11.3.B states debt ratios 'are not limited to the maximum purchase debt ratio thresholds', so where the note fires it names both figures and states that neither applies. Streamlined-assist refinances require no debt ratio calculation at all. Conventional, FHA and VA are unaffected. | |
| gross_monthly_income | No | Gross monthly income in dollars. Exactly one of gross_monthly_income or annual_income is required. Must be at least $0.01, one cent, the smallest amount of money. | |
| home_insurance_annual | No | Annual home insurance in dollars. Optional; if omitted, estimated at 0.65% of the proposed home price. Must be zero or more. | |
| proposed_down_payment_pct | No | Down payment as a percent of the proposed home price, e.g. 20 for 20%. Optional; defaults to 20 when omitted. Must be between 0 and 99.9 (100% cash purchases are not supported). | |
| va_funding_fee_financed_monthly | No | The additional monthly payment from financing a VA funding fee into the loan balance, if any. 38 CFR 36.4313(e)'s applicable percentage depends on down payment, prior VA-loan use, and service category, none of which Senaro collects, so there is no default. If omitted while any VA figure that depends on it is produced, meaning qualification.va.your_back_end and its verdict, any what_if VA ratio, what_if.max_affordable_home.va, or qualification.va.residual_income_comparison, a VA_FUNDING_FEE_NOT_MODELED warning discloses that no fee is assumed. The home-price-reduction what_if scenario's hypothetical price is fixed before the fee is considered, so a supplied fee is scaled to that EXACT hypothetical loan size, since 38 CFR 36.4313(e)'s fee is a percentage of loan principal. what_if.max_affordable_home.va is a two-pass approximation instead, so its supplied fee is scaled to an ESTIMATE of the hypothetical loan size, not the exact figure reported; the published price itself passes an exact forward VA check under 38 CFR 36.4340(d) with that reserved fee, and one dollar more fails it, so only this fee-scaling step is approximate. Without proposed_home_price there is no reference loan size to scale from either way, so the raw fee is reserved unscaled instead, and a VA_FUNDING_FEE_NOT_SCALED warning discloses it. This is mutually exclusive with VA_FUNDING_FEE_NOT_MODELED by construction, since one requires the fee omitted and the other requires it supplied. Optional; must be zero or more. | |
| monthly_maintenance_and_utilities | No | Estimated monthly maintenance and utilities for the proposed property. 38 CFR 36.4340 calls for a realistic estimate of this figure for the property and local utility rates and sets no numeric multiplier itself, but VA underwriting guidance (the Lender's Handbook, Pamphlet 26-7) publishes a per-square-foot multiplier for this same estimate. Applying it needs the property's square footage, which this tool does not currently collect, so Senaro has no default to offer here and you supply the aggregate monthly amount instead. Supplying BOTH this field and monthly_taxes_and_retirement_withholding, together with proposed_home_price and a computable family_size/property_state, computes qualification.va.residual_income_comparison: your ACTUAL monthly residual income, its ratio to the va_residual_income_guideline figure, and whether residual_income_meets_review_waiver_margin (residual income at or above 120% of the guideline) is met. The shelter expense used here excludes any PMI (VA loans carry no monthly PMI; 38 CFR 36.4313(e) sets a funding fee instead, commonly financed into the loan; see va_funding_fee_financed_monthly for the financed-fee field). 38 CFR 36.4340(c)(3)'s review-waiver condition is CONJUNCTIVE: it also requires the back-end debt-to-income ratio, rounded to a whole percent under 38 CFR 36.4340(d) (qualification.va.your_back_end_compared), to exceed 41%, which this field does not by itself confirm. Check both fields together. Even when both hold, (c)(3) only WAIVES a second-level review requirement; it is not itself an approval. Whether this file is actually approved is an underwriting determination Senaro does not make and no input combination here determines. Missing any one of the needed inputs reads qualification.va.residual_income_comparison.status 'not_computable' with every reason named. Optional; must be zero or more. | |
| monthly_taxes_and_retirement_withholding | No | Your federal, state, and FICA tax withholding, plus any amount paid or withheld for retirement, monthly. 38 CFR 36.4340(f)(13) treats these as one class of deduction from gross income. Optional; must be zero or more. |