{"product_id":"affo","title":"AFFO Calculator — Adjusted Funds From Operations","description":"\u003cstyle\u003e\n.affo-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  color: var(--ink);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  padding: 24px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n  container-type: inline-size;\n}\n.affo-calculator,\n.affo-calculator *,\n.affo-calculator *::before,\n.affo-calculator *::after {\n  box-sizing: border-box;\n  min-width: 0;\n}\n.affo-calculator h2,\n.affo-calculator h3,\n.affo-calculator p {\n  margin-top: 0;\n}\n.affo-calculator h2 {\n  font-size: 24px;\n  line-height: 1.25;\n  font-weight: 700;\n  margin-bottom: 8px;\n  letter-spacing: -.015em;\n}\n.affo-calculator h3 {\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n  margin-bottom: 12px;\n}\n.affo-calculator a {\n  color: var(--primary);\n  text-underline-offset: 2px;\n}\n.affo-calculator a:hover {\n  text-decoration-thickness: 2px;\n}\n.affo-calculator button,\n.affo-calculator input,\n.affo-calculator select {\n  font: inherit;\n}\n.affo-calculator button,\n.affo-calculator a,\n.affo-calculator input,\n.affo-calculator select,\n.affo-calculator summary {\n  outline: none;\n}\n.affo-calculator button:focus-visible,\n.affo-calculator a:focus-visible,\n.affo-calculator input:focus-visible,\n.affo-calculator select:focus-visible,\n.affo-calculator summary:focus-visible {\n  box-shadow: 0 0 0 3px rgba(29, 78, 216, .28);\n  border-color: var(--primary);\n}\n.affo-calculator .affo-header {\n  display: grid;\n  gap: 16px;\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-intro {\n  color: var(--muted);\n  margin-bottom: 0;\n  max-width: 760px;\n}\n.affo-calculator .affo-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.affo-calculator .affo-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-height: 32px;\n  padding: 5px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--surface);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n.affo-calculator .affo-pill strong {\n  color: var(--ink);\n  font-weight: 700;\n}\n.affo-calculator .affo-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-button {\n  min-height: 46px;\n  border-radius: 6px;\n  border: 1px solid transparent;\n  padding: 11px 18px;\n  font-size: 15px;\n  font-weight: 700;\n  cursor: pointer;\n  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;\n}\n.affo-calculator .affo-button:hover {\n  box-shadow: 0 2px 5px rgba(15, 23, 42, .12);\n}\n.affo-calculator .affo-button:active {\n  transform: translateY(1px);\n}\n.affo-calculator .affo-download {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  white-space: nowrap;\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n}\n.affo-calculator .affo-download:hover {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.affo-calculator .affo-download svg {\n  flex: 0 0 auto;\n  width: 18px;\n  height: 18px;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 2;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n.affo-calculator .affo-reset {\n  color: var(--ink);\n  background: var(--surface);\n  border-color: #cbd5e1;\n}\n.affo-calculator .affo-reset:hover {\n  background: #f1f5f9;\n  border-color: #94a3b8;\n}\n.affo-calculator .affo-workspace {\n  display: grid;\n  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);\n  gap: 16px;\n  align-items: start;\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-card {\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  padding: 20px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.affo-calculator .affo-section-copy {\n  color: var(--muted);\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-fieldset {\n  border: 0;\n  margin: 0;\n  padding: 0;\n}\n.affo-calculator .affo-fieldset + .affo-fieldset {\n  border-top: 1px solid var(--border);\n  margin-top: 20px;\n  padding-top: 20px;\n}\n.affo-calculator .affo-legend-title {\n  display: block;\n  color: var(--ink);\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n  margin-bottom: 4px;\n}\n.affo-calculator .affo-fieldset-note {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  margin: 0 0 14px;\n}\n.affo-calculator .affo-input-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 14px 12px;\n}\n.affo-calculator .affo-field {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.affo-calculator .affo-label {\n  color: var(--ink);\n  font-size: 14px;\n  line-height: 1.35;\n  font-weight: 600;\n}\n.affo-calculator .affo-control-wrap {\n  position: relative;\n}\n.affo-calculator .affo-prefix {\n  position: absolute;\n  left: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: #334155;\n  font-size: 15px;\n  font-weight: 600;\n  pointer-events: none;\n}\n.affo-calculator .affo-input {\n  width: 100%;\n  min-height: 44px;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  background: #ffffff;\n  color: var(--ink);\n  padding: 9px 12px 9px 28px;\n  font-size: 15px;\n  font-weight: 400;\n  font-variant-numeric: tabular-nums;\n}\n.affo-calculator .affo-input:hover {\n  border-color: #94a3b8;\n}\n.affo-calculator .affo-input[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n  background: #fff7f7;\n}\n.affo-calculator .affo-helper,\n.affo-calculator .affo-error {\n  min-height: 20px;\n  font-size: 13px;\n  line-height: 1.45;\n  font-weight: 500;\n}\n.affo-calculator .affo-helper {\n  color: var(--muted);\n}\n.affo-calculator .affo-error {\n  color: #991b1b;\n}\n.affo-calculator .affo-results {\n  display: grid;\n  gap: 16px;\n}\n.affo-calculator .affo-primary-result {\n  border-left: 4px solid var(--primary);\n  background: #eff6ff;\n  border-radius: 6px;\n  padding: 16px;\n}\n.affo-calculator .affo-primary-label {\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: .04em;\n  margin-bottom: 4px;\n}\n.affo-calculator .affo-primary-value {\n  color: var(--ink);\n  font-size: 30px;\n  line-height: 1.15;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n  overflow-wrap: anywhere;\n}\n.affo-calculator .affo-primary-caption {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  margin-top: 6px;\n}\n.affo-calculator .affo-result-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 12px;\n}\n.affo-calculator .affo-metric {\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n  padding: 12px;\n}\n.affo-calculator .affo-metric-label {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n  margin-bottom: 4px;\n}\n.affo-calculator .affo-metric-value {\n  color: var(--ink);\n  font-size: 20px;\n  line-height: 1.25;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n  overflow-wrap: anywhere;\n}\n.affo-calculator .affo-equation {\n  display: grid;\n  gap: 8px;\n  padding: 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: #ffffff;\n}\n.affo-calculator .affo-equation-line {\n  display: grid;\n  grid-template-columns: auto auto;\n  justify-content: start;\n  align-items: baseline;\n  gap: 10px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.affo-calculator .affo-equation-line strong {\n  color: var(--ink);\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.affo-calculator .affo-status {\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  padding: 12px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.affo-calculator .affo-status strong {\n  color: var(--ink);\n}\n.affo-calculator .affo-chart-card,\n.affo-calculator .affo-table-card {\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-chart-heading {\n  display: grid;\n  gap: 4px;\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-chart-heading p {\n  color: var(--muted);\n  margin-bottom: 0;\n}\n.affo-calculator .affo-chart-cluster {\n  display: grid;\n  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .75fr);\n  gap: 24px;\n  align-items: start;\n  max-width: 940px;\n  margin: 0 auto;\n}\n.affo-calculator .affo-plot-wrap {\n  width: 100%;\n  display: grid;\n  place-items: center;\n}\n.affo-calculator .affo-chart-svg {\n  display: block;\n  width: 100%;\n  max-width: 640px;\n  height: auto;\n  overflow: visible;\n}\n.affo-calculator .affo-chart-svg text {\n  font-family: inherit;\n  font-size: 13px;\n  fill: var(--muted);\n}\n.affo-calculator .affo-chart-svg .affo-chart-axis {\n  stroke: #64748b;\n  stroke-width: 1.5;\n}\n.affo-calculator .affo-chart-svg .affo-chart-grid {\n  stroke: #e2e8f0;\n  stroke-width: 1;\n}\n.affo-calculator .affo-chart-svg .affo-chart-value {\n  fill: var(--ink);\n  font-weight: 700;\n}\n.affo-calculator .affo-chart-svg .affo-chart-name {\n  fill: #334155;\n  font-weight: 600;\n}\n.affo-calculator .affo-chart-empty {\n  width: 100%;\n  max-width: 520px;\n  border: 1px dashed #94a3b8;\n  border-radius: 6px;\n  padding: 16px;\n  text-align: center;\n  color: var(--muted);\n  background: var(--tint);\n  font-size: 13px;\n  font-weight: 600;\n}\n.affo-calculator .affo-chart-side {\n  display: grid;\n  gap: 16px;\n  align-content: start;\n}\n.affo-calculator .affo-chart-legend {\n  display: grid;\n  gap: 8px;\n}\n.affo-calculator .affo-legend-row {\n  display: grid;\n  grid-template-columns: 12px auto auto;\n  justify-content: start;\n  align-items: center;\n  gap: 8px 12px;\n  font-size: 13px;\n  font-weight: 500;\n  color: var(--muted);\n}\n.affo-calculator .affo-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n}\n.affo-calculator .affo-legend-row strong {\n  color: var(--ink);\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.affo-calculator .affo-chart-summary {\n  margin: 0;\n  padding-left: 18px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.affo-calculator .affo-chart-summary li + li {\n  margin-top: 6px;\n}\n.affo-calculator .affo-chart-caption,\n.affo-calculator .affo-table-note {\n  margin-top: 16px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n  padding: 10px 12px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.affo-calculator .affo-safe-stack .affo-chart-cluster {\n  grid-template-columns: minmax(0, 1fr);\n  gap: 16px;\n}\n.affo-calculator .affo-safe-stack .affo-chart-side {\n  margin-top: 0;\n}\n.affo-calculator .affo-safe-stack .affo-chart-caption {\n  margin-top: 20px;\n}\n.affo-calculator .affo-table-overflow {\n  width: 100%;\n  overflow-x: auto;\n  overscroll-behavior-inline: contain;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--surface);\n}\n.affo-calculator .affo-table {\n  width: 100%;\n  min-width: 680px;\n  border-collapse: collapse;\n  font-variant-numeric: tabular-nums;\n}\n.affo-calculator .affo-table th,\n.affo-calculator .affo-table td {\n  padding: 10px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: left;\n  vertical-align: top;\n}\n.affo-calculator .affo-table th {\n  color: #ffffff;\n  background: #172554;\n  font-size: 13px;\n  font-weight: 700;\n  white-space: nowrap;\n}\n.affo-calculator .affo-table td {\n  color: var(--ink);\n  font-size: 14px;\n}\n.affo-calculator .affo-table td.affo-num {\n  text-align: right;\n  white-space: nowrap;\n}\n.affo-calculator .affo-table tbody tr:last-child td {\n  border-bottom: 0;\n}\n.affo-calculator .affo-table .affo-subtotal td {\n  background: #eff6ff;\n  font-weight: 700;\n}\n.affo-calculator .affo-table .affo-final td {\n  background: #ecfdf5;\n  font-weight: 700;\n}\n.affo-calculator .affo-safe-table-stack .affo-table-note {\n  margin-top: 20px;\n}\n.affo-calculator .affo-education {\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  padding: 24px;\n}\n.affo-calculator .affo-education h2 {\n  margin-top: 0;\n}\n.affo-calculator .affo-education h3 {\n  margin-top: 24px;\n}\n.affo-calculator .affo-education p,\n.affo-calculator .affo-education li {\n  color: #334155;\n}\n.affo-calculator .affo-education ul {\n  padding-left: 20px;\n  margin: 0 0 16px;\n}\n.affo-calculator .affo-education li + li {\n  margin-top: 8px;\n}\n.affo-calculator .affo-formula {\n  border-left: 4px solid var(--primary);\n  background: #eff6ff;\n  padding: 12px 14px;\n  border-radius: 0 6px 6px 0;\n  color: #172554;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n  margin-bottom: 16px;\n}\n.affo-calculator .affo-visually-hidden {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n@container (max-width: 899px) {\n  .affo-calculator .affo-workspace {\n    grid-template-columns: minmax(0, 1fr);\n  }\n}\n@container (max-width: 639px) {\n  .affo-calculator {\n    padding: 16px;\n  }\n  .affo-calculator .affo-card,\n  .affo-calculator .affo-education {\n    padding: 16px;\n  }\n  .affo-calculator .affo-chart-cluster {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 16px;\n  }\n  .affo-calculator .affo-chart-side {\n    justify-items: center;\n  }\n  .affo-calculator .affo-chart-legend,\n  .affo-calculator .affo-chart-summary {\n    width: min(100%, 420px);\n  }\n  .affo-calculator .affo-chart-caption {\n    margin-top: 16px;\n  }\n}\n@container (max-width: 479px) {\n  .affo-calculator .affo-input-grid,\n  .affo-calculator .affo-result-grid {\n    grid-template-columns: minmax(0, 1fr);\n  }\n  .affo-calculator .affo-toolbar {\n    align-items: stretch;\n  }\n  .affo-calculator .affo-button {\n    justify-content: center;\n  }\n}\n@media (max-width: 420px) {\n  .affo-calculator {\n    border-left: 0;\n    border-right: 0;\n    border-radius: 0;\n    padding: 12px;\n  }\n  .affo-calculator .affo-primary-value {\n    font-size: 27px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"affo-calculator\" data-calculator-root\u003e\n  \u003cheader class=\"affo-header\"\u003e\n    \u003cdiv\u003e\n      \u003ch2\u003eAdjusted Funds From Operations Calculator\u003c\/h2\u003e\n      \u003cp class=\"affo-intro\"\u003eReconcile a REIT's reported net income to funds from operations (FFO), then adjust recurring property-level cash requirements to estimate AFFO.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"affo-pills\" aria-label=\"Live calculation highlights\"\u003e\n      \u003cspan class=\"affo-pill\"\u003eFFO \u003cstrong data-affo-pill=\"ffo\"\u003e$530,000.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"affo-pill\"\u003eAFFO \u003cstrong data-affo-pill=\"affo\"\u003e$485,000.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"affo-pill\"\u003eAFFO \/ FFO \u003cstrong data-affo-pill=\"ratio\"\u003e91.51%\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"affo-pill\"\u003eNet adjustment \u003cstrong data-affo-pill=\"adjustment\"\u003e-$15,000.00\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/header\u003e\n\n  \u003cdiv class=\"affo-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"affo-button affo-download\" type=\"button\" data-affo-action=\"download\"\u003e\n      \u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3v12\"\u003e\u003c\/path\u003e\u003cpath d=\"m7 10 5 5 5-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 21h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"affo-button affo-reset\" type=\"button\" data-affo-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"affo-workspace\"\u003e\n    \u003csection class=\"affo-card affo-inputs\" aria-labelledby=\"affo-inputs-title\"\u003e\n      \u003ch3 id=\"affo-inputs-title\"\u003eREIT financial inputs\u003c\/h3\u003e\n      \u003cp class=\"affo-section-copy\"\u003eUse one consistent reporting period and currency basis for every field. The starting example uses annual U.S. dollar amounts.\u003c\/p\u003e\n\n      \u003cfieldset class=\"affo-fieldset\"\u003e\n        \u003clegend class=\"affo-legend-title\"\u003eFunds from operations\u003c\/legend\u003e\n        \u003cp class=\"affo-fieldset-note\"\u003eStart with net income, add back real estate depreciation and qualifying losses, then remove gains and interest income.\u003c\/p\u003e\n        \u003cdiv class=\"affo-input-grid\"\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-net-income\"\u003eNet income\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-net-income\" data-affo-field=\"netIncome\" type=\"text\" inputmode=\"decimal\" value=\"500,000\" aria-describedby=\"affo-net-income-help affo-net-income-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-net-income-help\"\u003eGAAP net income; negative values are allowed.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-net-income-error\" data-affo-error=\"netIncome\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-depreciation\"\u003eDepreciation and amortization\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-depreciation\" data-affo-field=\"depreciation\" type=\"text\" inputmode=\"decimal\" value=\"150,000\" aria-describedby=\"affo-depreciation-help affo-depreciation-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-depreciation-help\"\u003eQualifying real estate depreciation and amortization.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-depreciation-error\" data-affo-error=\"depreciation\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-sale-gains\"\u003eGains from property sales\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-sale-gains\" data-affo-field=\"saleGains\" type=\"text\" inputmode=\"decimal\" value=\"125,000\" aria-describedby=\"affo-sale-gains-help affo-sale-gains-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-sale-gains-help\"\u003eProperty-sale gains excluded from recurring FFO.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-sale-gains-error\" data-affo-error=\"saleGains\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-sale-losses\"\u003eLosses from property sales\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-sale-losses\" data-affo-field=\"saleLosses\" type=\"text\" inputmode=\"decimal\" value=\"80,000\" aria-describedby=\"affo-sale-losses-help affo-sale-losses-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-sale-losses-help\"\u003eProperty-sale losses added back in the reconciliation.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-sale-losses-error\" data-affo-error=\"saleLosses\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-interest-income\"\u003eInterest income\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-interest-income\" data-affo-field=\"interestIncome\" type=\"text\" inputmode=\"decimal\" value=\"75,000\" aria-describedby=\"affo-interest-income-help affo-interest-income-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-interest-income-help\"\u003eNon-property interest income removed from this model's FFO.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-interest-income-error\" data-affo-error=\"interestIncome\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/fieldset\u003e\n\n      \u003cfieldset class=\"affo-fieldset\"\u003e\n        \u003clegend class=\"affo-legend-title\"\u003eAFFO adjustments\u003c\/legend\u003e\n        \u003cp class=\"affo-fieldset-note\"\u003eAdjust FFO for recurring rent changes and property cash needs that are not fully reflected in the FFO subtotal.\u003c\/p\u003e\n        \u003cdiv class=\"affo-input-grid\"\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-rent-increases\"\u003eStraight-line rent adjustments\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-rent-increases\" data-affo-field=\"rentIncreases\" type=\"text\" inputmode=\"decimal\" value=\"50,000\" aria-describedby=\"affo-rent-increases-help affo-rent-increases-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-rent-increases-help\"\u003eEnter a positive increase or negative reversal\/decrease.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-rent-increases-error\" data-affo-error=\"rentIncreases\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-capex\"\u003eCapital expenditures\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-capex\" data-affo-field=\"capex\" type=\"text\" inputmode=\"decimal\" value=\"60,000\" aria-describedby=\"affo-capex-help affo-capex-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-capex-help\"\u003eRecurring capital improvements needed to sustain properties.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-capex-error\" data-affo-error=\"capex\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"affo-field\"\u003e\n            \u003clabel class=\"affo-label\" for=\"affo-maintenance\"\u003eRoutine maintenance\u003c\/label\u003e\n            \u003cdiv class=\"affo-control-wrap\"\u003e\n\u003cspan class=\"affo-prefix\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"affo-input\" id=\"affo-maintenance\" data-affo-field=\"maintenance\" type=\"text\" inputmode=\"decimal\" value=\"35,000\" aria-describedby=\"affo-maintenance-help affo-maintenance-error\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"affo-helper\" id=\"affo-maintenance-help\"\u003eRecurring maintenance not already captured as an AFFO deduction.\u003c\/span\u003e\n            \u003cspan class=\"affo-error\" id=\"affo-maintenance-error\" data-affo-error=\"maintenance\" aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/fieldset\u003e\n    \u003c\/section\u003e\n\n    \u003caside class=\"affo-card affo-results\" aria-labelledby=\"affo-results-title\"\u003e\n      \u003ch3 id=\"affo-results-title\"\u003eLive results\u003c\/h3\u003e\n      \u003cdiv class=\"affo-primary-result\"\u003e\n        \u003cdiv class=\"affo-primary-label\"\u003eAdjusted funds from operations\u003c\/div\u003e\n        \u003cdiv class=\"affo-primary-value\" data-affo-output=\"affo\"\u003e$485,000.00\u003c\/div\u003e\n        \u003cdiv class=\"affo-primary-caption\" data-affo-output=\"interpretation\"\u003eAFFO is positive and equals 91.51% of FFO for this period.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"affo-result-grid\"\u003e\n        \u003cdiv class=\"affo-metric\"\u003e\n\u003cdiv class=\"affo-metric-label\"\u003eFunds from operations\u003c\/div\u003e\n\u003cdiv class=\"affo-metric-value\" data-affo-output=\"ffo\"\u003e$530,000.00\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"affo-metric\"\u003e\n\u003cdiv class=\"affo-metric-label\"\u003eAFFO \/ FFO\u003c\/div\u003e\n\u003cdiv class=\"affo-metric-value\" data-affo-output=\"ratio\"\u003e91.51%\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"affo-metric\"\u003e\n\u003cdiv class=\"affo-metric-label\"\u003eTotal additions\u003c\/div\u003e\n\u003cdiv class=\"affo-metric-value\" data-affo-output=\"additions\"\u003e$280,000.00\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"affo-metric\"\u003e\n\u003cdiv class=\"affo-metric-label\"\u003eTotal deductions\u003c\/div\u003e\n\u003cdiv class=\"affo-metric-value\" data-affo-output=\"deductions\"\u003e$295,000.00\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"affo-equation\" aria-label=\"Calculation reconciliation\"\u003e\n        \u003cdiv class=\"affo-equation-line\"\u003e\n\u003cspan\u003eNet income to FFO:\u003c\/span\u003e\u003cstrong data-affo-output=\"ffoBridge\"\u003e+$30,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"affo-equation-line\"\u003e\n\u003cspan\u003eFFO to AFFO:\u003c\/span\u003e\u003cstrong data-affo-output=\"affoBridge\"\u003e-$45,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"affo-equation-line\"\u003e\n\u003cspan\u003eTotal net adjustment:\u003c\/span\u003e\u003cstrong data-affo-output=\"netAdjustment\"\u003e-$15,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"affo-status\" data-affo-output=\"status\"\u003e\n\u003cstrong\u003eInterpretation:\u003c\/strong\u003e Positive AFFO indicates recurring operating funds remain after the selected capital and maintenance adjustments.\u003c\/div\u003e\n      \u003cdiv class=\"affo-visually-hidden\" aria-live=\"polite\" data-affo-live\u003eAdjusted funds from operations are $485,000.00.\u003c\/div\u003e\n    \u003c\/aside\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"affo-card affo-chart-card\" aria-labelledby=\"affo-chart-title\" data-affo-chart-card\u003e\n    \u003cdiv class=\"affo-chart-heading\"\u003e\n      \u003ch3 id=\"affo-chart-title\"\u003eAFFO reconciliation chart\u003c\/h3\u003e\n      \u003cp data-affo-chart-intro\u003eThe chart shows each signed contribution from net income to the final AFFO result.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"affo-chart-cluster\"\u003e\n      \u003cdiv class=\"affo-plot-wrap\" data-affo-plot\u003e\u003c\/div\u003e\n      \u003cdiv class=\"affo-chart-side\"\u003e\n        \u003cdiv class=\"affo-chart-legend\" data-affo-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n        \u003cul class=\"affo-chart-summary\" data-affo-chart-summary aria-label=\"Exact chart values\"\u003e\u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"affo-chart-caption\" data-affo-chart-caption\u003eThe largest positive and negative adjustments are highlighted so the recurring earnings bridge can be reviewed without relying on the chart alone.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"affo-card affo-table-card\" aria-labelledby=\"affo-table-title\" data-affo-table-card\u003e\n    \u003ch3 id=\"affo-table-title\"\u003eReconciliation detail\u003c\/h3\u003e\n    \u003cdiv class=\"affo-table-overflow\" data-affo-table-wrap\u003e\n      \u003ctable class=\"affo-table\"\u003e\n        \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eStage\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eLine item\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eTreatment\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eAmount\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eRunning result\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n        \u003ctbody data-affo-table-body\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"affo-table-note\" data-affo-table-note\u003eAll rows use the same current-state model as the result cards, chart, accessible summary, and Excel workbook. Negative AFFO is permitted and should be investigated rather than suppressed.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"affo-education\" aria-labelledby=\"affo-education-title\"\u003e\n    \u003ch2 id=\"affo-education-title\"\u003eHow to use and interpret the AFFO calculation\u003c\/h2\u003e\n    \u003cp\u003eAdjusted funds from operations is a non-GAAP analytical measure used to estimate the recurring funds generated by a real estate investment trust after selected property-level cash requirements. It begins with funds from operations, then adjusts for items such as recurring capital expenditures and maintenance. Because AFFO definitions vary among issuers and analysts, the result is most useful when the same methodology is applied consistently across periods and compared with the company's own reconciliation disclosures.\u003c\/p\u003e\n\n    \u003ch3\u003eWhat the calculator estimates\u003c\/h3\u003e\n    \u003cp\u003eThe calculator performs two linked reconciliations. First, it converts net income to FFO by adding depreciation and amortization and property-sale losses, while subtracting property-sale gains and interest income under this model. Second, it converts FFO to AFFO by adding the rent adjustment and subtracting recurring capital expenditures and routine maintenance. The principal formulas are:\u003c\/p\u003e\n    \u003cdiv class=\"affo-formula\"\u003eFFO = net income + depreciation and amortization + property-sale losses − property-sale gains − interest income\u003c\/div\u003e\n    \u003cdiv class=\"affo-formula\"\u003eAFFO = FFO + straight-line rent adjustments − capital expenditures − routine maintenance\u003c\/div\u003e\n    \u003cp\u003eIndustry definitions are not perfectly uniform. Nareit's \u003ca href=\"https:\/\/www.reit.com\/glossary\/funds-operation-ffo\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFFO definition\u003c\/a\u003e explains why real estate depreciation is commonly adjusted, while its \u003ca href=\"https:\/\/www.reit.com\/glossary\/adjusted-funds-operations-affo\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eAFFO glossary entry\u003c\/a\u003e describes AFFO as a recurring or normalized FFO measure after capital improvement funding. Public-company users should reconcile the inputs to the issuer's filed reports and non-GAAP disclosures rather than treating any generic formula as authoritative.\u003c\/p\u003e\n\n    \u003ch3\u003eField-by-field guidance\u003c\/h3\u003e\n    \u003cul\u003e\n      \u003cli\u003e\n\u003cstrong\u003eNet income\u003c\/strong\u003e is the GAAP bottom-line result for the selected reporting period. It is required for a meaningful reconciliation and may be negative. A higher net income generally raises both FFO and AFFO dollar for dollar. Do not mix quarterly net income with annual adjustments.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eDepreciation and amortization\u003c\/strong\u003e should include the qualifying real estate amounts used in the company's FFO reconciliation. It is normally nonnegative and increases FFO. A common mistake is adding back depreciation that the issuer does not classify as a real estate FFO adjustment.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eGains from property sales\u003c\/strong\u003e are entered as a positive amount and deducted. Larger gains lower FFO in this reconciliation because property dispositions are separated from recurring property operations. Do not enter a gain as a negative number.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eLosses from property sales\u003c\/strong\u003e are entered as a positive amount and added back. Larger losses raise the reconciled FFO, not because the loss is beneficial, but because the property-sale effect is removed from the recurring operating measure.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eInterest income\u003c\/strong\u003e is deducted under the selected model. Use the same category and scope as the source reconciliation. If an issuer keeps certain interest income in FFO, enter zero here and document the difference outside the calculator.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eStraight-line rent adjustments\u003c\/strong\u003e capture the selected rent-related normalization. Positive values raise AFFO; negative reversals or rent decreases reduce it. Confirm the sign convention used in the issuer's supplemental package because many published AFFO reconciliations deduct straight-line rent rather than add a broadly labeled rent increase.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eCapital expenditures\u003c\/strong\u003e represent recurring capital funding needed to maintain the productive capacity of the property portfolio. They reduce AFFO. Separate recurring maintenance capital from acquisitions, development spending, or major expansions unless the chosen methodology explicitly includes them.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eRoutine maintenance\u003c\/strong\u003e captures recurring property upkeep not already included in another deduction. It reduces AFFO. Avoid double counting amounts already included in capital expenditures or operating expenses embedded in net income.\u003c\/li\u003e\n    \u003c\/ul\u003e\n\n    \u003ch3\u003eUnderstanding every result\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eFFO\u003c\/strong\u003e is the intermediate operating measure after the first reconciliation. A positive FFO does not automatically mean the REIT can fully fund dividends, debt service, and recurring property investment. \u003cstrong\u003eAFFO\u003c\/strong\u003e is the primary output after the selected recurring adjustments. Positive AFFO means funds remain under the entered assumptions; zero indicates the additions and deductions exactly absorb the starting economics; negative AFFO indicates the selected recurring cash requirements exceed the reconciled operating funds.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eAFFO \/ FFO\u003c\/strong\u003e shows how much of FFO remains after the second-stage adjustments. A ratio below 100% means the net AFFO adjustments are deductive; above 100% means the entered rent adjustment exceeds capital and maintenance deductions. When FFO is zero, the ratio is shown as unavailable rather than producing an infinite or misleading percentage. \u003cstrong\u003eTotal additions\u003c\/strong\u003e aggregates depreciation, property-sale losses, and positive rent adjustments. \u003cstrong\u003eTotal deductions\u003c\/strong\u003e aggregates property-sale gains, interest income, capital expenditures, maintenance, and any negative rent adjustment. \u003cstrong\u003eNet adjustment\u003c\/strong\u003e is AFFO minus net income.\u003c\/p\u003e\n\n    \u003ch3\u003eReading the chart and reconciliation table\u003c\/h3\u003e\n    \u003cp\u003eThe horizontal chart assigns positive adjustments to one color, deductions to another, and the final AFFO result to a distinct outcome color. Bar length represents absolute magnitude, while position around the center line shows direction. The adjacent legend explains the visual roles, and the exact-value list provides the underlying amounts for users who cannot or prefer not to interpret the graphic. The table presents the same model as a running bridge: each row shows the stage, treatment, signed amount, and cumulative result. The FFO subtotal and final AFFO row are emphasized for faster review.\np\u0026gt;\n\n    \u003c\/p\u003e\n\u003ch3\u003ePractical comparison and common limitations\u003c\/h3\u003e\n    \u003cp\u003eUse consistent reporting periods, currencies, consolidation scopes, and sign conventions. Compare AFFO with prior periods, management guidance, dividends, and debt obligations only after checking how the issuer defines its adjustments. The SEC's \u003ca href=\"https:\/\/www.sec.gov\/resources-for-investors\/investor-alerts-bulletins\/ib_reits\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eREIT investor bulletin\u003c\/a\u003e provides general background on publicly traded REITs, and the SEC's \u003ca href=\"https:\/\/www.sec.gov\/rules-regulations\/staff-guidance\/disclosure-guidance\/cf-disclosure-guidance-topic-no-6\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eREIT disclosure guidance\u003c\/a\u003e discusses the sector's reporting context. AFFO is not a substitute for GAAP cash flow, liquidity analysis, property-level net operating income, leverage review, or a complete assessment of the REIT's dividend policy. This calculator is an analytical aid, not personalized investment, accounting, tax, or legal advice.\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909485895923,"sku":"affo","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/affo.webp?v=1783935487","url":"https:\/\/financialmodelslab.com\/products\/affo","provider":"Financial Models Lab","version":"1.0","type":"link"}