This API calculates Fannie Mae self-employed income for a borrower–business pair in a Book. Send only the fields you want to update. The API merges these fields with the existing income record and recalculates the income.
If a field is missing or empty, the system may apply organization-level default values based on the income type and guideline. These defaults act as fallback values and never override fields explicitly provided in the request.
Tips
After calling this API, call the Income calculations API to retrieve the updated income data.
Merge behavior
The API performs a deep merge of the provided meta_info into the existing income record (common or tax-return specific).
| Category | Merge behavior |
|---|---|
Top-level meta fields such as employment_start_date | Provided values overwrite existing values. Fields not included in the request are preserved. |
Common yearwise_details | Merged by year. Only the fields provided for a given year are updated. |
Per-type yearwise_details such as s_corporation_earnings.yearwise_details | Merged by year. Existing fields are preserved unless explicitly overridden. |
Organization-level defaults
Organizations can configure default values for self-employed income fields by org_uuid, income_type, and income_guideline.
Defaults act as fallback values during income updates. They are applied only when a supported field is missing or empty in the request. Explicit values, including false, 0, and None, are never overridden.
Default application rules
| Category | Field location | Fallback condition |
|---|---|---|
| Common scalar | meta_info.field | Applied when the value is null or an empty list [] |
| Common yearwise | meta_info.yearwise_details[].field | Applied per year when the field value is null or "" |
| Per-type yearwise | meta_info.<type>.yearwise_details[].field | Applied to each active tax year when the field value is null or "" |
Supported default fields
| Category | Supported Fields |
|---|---|
| Common defaults | employment_start_date, employment_history_consistent_indicator, du_case_file_id, extraordinary_one_time_expense, non_deductible_meal |
| Per-type defaults | Supported under s_corporation_earnings, partnership_income, regular_corporation, and individual_tax_return. |
| Per-type supported fields | adequate_business_liquidity, amortization, amortization_selection_type, is_final_return_override, is_borrower_trust_guaranter, compensation_of_officers_included_as_income, mortgages_notes_and_bonds_payable_less_than1_year, mortgages_notes_and_bonds_payable_less_than1_year_amount, guaranteed_payments_to_partners_alternative |
Per-type defaults are stored as flat key-value pairs in org config and are replicated into each active tax year's yearwise_details during update.