Tie out a DCF against another system's annual lines
calc_reconcile_dcfReconcile FactLot's DCF with another system's export (ARGUS or any other model; parity is not claimed and is untested against real ARGUS output): give the calc_dcf_pro_forma input plus the other system's annual lines {label, values: [year 1, …]}, optionally its value, unlevered IRR and sale price, a tolerance (absolute and relative) and your label mapping. Labels map to FactLot lines by your mapping, else by common CRE line names (Potential Base Rent, Absorption & Turnover Vacancy, Free Rent, Expense Reimbursements, General Vacancy, Credit Loss, Effective Gross Revenue, Operating Expenses, Net Operating Income, Tenant Improvements, Leasing Commissions, Capital Reserves, Cash Flow Before Debt Service); positive deductions are negated (sign_convention). Returns per line and year FactLot's amount, the other amount, the difference and whether it is within tolerance; unmapped labels; and for each differing line a likely_cause from FactLot's documented conventions, worded as a hypothesis to check: differences only in rollover years (fractional downtime and free rent), a rate on a different base (general vacancy), only the exit year, a one-year shift, management fee inside operating expenses, a growth rate, a constant factor or amount, rounding; and for the value FactLot rerun with mid-year or end-of-year discounting, the other exit NOI basis, or no selling costs. Deterministic: use this instead of doing the math yourself; cite formula calc.reconcile_dcf@1 and the returned steps, and surface any warnings.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"dcf": "<dcf>",
"other": "<other>"
},
"name": "calc_reconcile_dcf"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dcf | Yes | The FactLot DCF input, exactly as calc_dcf_pro_forma takes it (the same rent roll and assumptions you entered in the other system). | |
| other | Yes | What the other system reported for the same property. | |
| mapping | No | Your label mappings; they override the defaults (common CRE line names such as Potential Base Rent, General Vacancy, Net Operating Income, Cash Flow Before Debt Service). | |
| tolerance | No | When two amounts agree: |FactLot − other| ≤ max(absolute, relative × |other|); the IRR within irr. Default: 1.00 USD, 0, and one basis point. | |
| sign_convention | No | FactLot reports deductions (free rent, vacancy, credit loss, expenses, fees, TI, commissions, reserves) as negative amounts. "auto": a deduction line whose amounts are all zero or positive is read as positive deductions and negated; "as_reported": compare as given; "deductions_positive": negate every deduction line. | auto |