房地 合一 稅 2.0 試算 為什麼 持有 期間 影響 這麼 大 公式 怎麼 算 這個 工具 沒 涵 蓋 的 最後 更新 2026 年 9 月 9 日 持有 2 年內 45 2 5 年 35 5 10 年 20 10 年 以上 15 符合 自用 住宅 要件 則 課稅 所得 超過 400 萬 部分 按 10 算出 交易 所得 適用 稅率 應 納稅 額 來源 所得稅 法 財政部 賦稅 署 房地 合一 稅 2.0 的 稅率 完全 綁 定 持有 期間 2 年內 出售 的 稅率 是 10 年 以上 出售 的 3 倍 45 vs 15 這 不是 意外 是 刻意 的 政策 設計 抑制 短期 炒作 鼓勵 長期 持有 同一 筆 300 萬 的 交易 所得 持有 18 個月 要 繳 135 萬 持有 12 年 只要 繳 45 萬 差 了 90 萬 自用 住宅 優惠 是 另一 個 量 級 的 差異 符合 條件 的 話 前 400 萬 交易 所得 完全 免稅 超過 的 部分 只 課 10 比 最 短期 的 45 低 了 35 個 百分點 但 要件 很 嚴 本人 或 配偶 未成年 子女 必須 設 籍 持有 並 連續 居住 滿 6 年 且 這 6 年內 不能 出租 或 供 營業 使用 而且 6 年內 只能 用 這個 優惠 一次 資料 來源 所得稅 法 第 14 4 條 第 14 8 條 全國 法規 資料庫 財政部 賦稅 署 計算 在 你的 瀏覽器 執行 資料 不 送到 任何 伺服器 原始碼 在 GitHub astro island astro slot astro static slot display:contents function let e async e await await e self.Astro self.Astro only e window.dispatchEvent new Event astro:only function function e t babel helpers typeof return e typeof Symbol function typeof Symbol.iterator symbol function e return typeof e function e return e typeof Symbol function e.constructor Symbol e Symbol.prototype symbol typeof e e t function t t n if e t object t return t var r t Symbol.toPrimitive if r void 0 var i r.call t n default if e i object return i throw TypeError toPrimitive must return a primitive value return n string String:Number t function n n var r t n string return e r symbol r:r function r e t r return t n t in e Object.defineProperty e t value:r enumerable 0 configurable 0 writable 0 e t r e let i __PURE__ new Set __proto__ constructor prototype let e 0 e a e 1 e n e 2 e new RegExp e 3 e new Date e 4 e new Map n e 5 e new Set n e 6 e BigInt e 7 e new URL e 8 e new Uint8Array e 9 e new Uint16Array e 10 e new Uint32Array e 11 e 1 0 e t t let n r t return n in e e n r void 0 n e e.map t a e typeof e object e e:Object.fromEntries Object.entries e map e n e t n class o extends HTMLElement constructor e super e r this Component void 0 r this hydrator void 0 r this hydrate async var e if this.hydrator this.isConnected return let t e this.parentElement null void 0 e.closest astro island ssr if t t.addEventListener astro:hydrate this.hydrate once 0 return let n this.querySelectorAll astro slot r i this.querySelectorAll template data astro template for let e of i let t e.closest this.tagName t null t.isSameNode this r e.getAttribute data astro template default e.innerHTML e.remove for let e of n let t e.closest this.tagName t null t.isSameNode this r e.getAttribute name default e.innerHTML let o try o this.hasAttribute props a JSON.parse this.getAttribute props catch e let t this.getAttribute component url n this.getAttribute component export throw n t export n console.error hydrate Error parsing props for component t this.getAttribute props e e await this.hydrator this this.Component o r client:this.getAttribute client this.removeAttribute ssr this.dispatchEvent new CustomEvent astro:hydrate r this unmount this.isConnected this.dispatchEvent new CustomEvent astro:unmount disconnectedCallback document.removeEventListener astro:after swap this.unmount document.addEventListener astro:after swap this.unmount once 0 connectedCallback if this.hasAttribute await children document.readyState interactive document.readyState complete this.childrenConnectedCallback else let e document.removeEventListener DOMContentLoaded e t.disconnect this.childrenConnectedCallback t new MutationObserver var t t this.lastChild null void 0 t.nodeType Node.COMMENT_NODE this.lastChild.nodeValue astro:end this.lastChild.remove e t.observe this childList 0 document.addEventListener DOMContentLoaded e async childrenConnectedCallback let e this.getAttribute before hydration url e await import e this.start getRetryImportUrl e let t new URL e document.baseURI return t.searchParams.set astro retry Date.now toString t.toString async importWithRetry e try return await import e catch t return await new Promise e setTimeout e 1e3 import this.getRetryImportUrl e handleHydrationError e let t this.getAttribute component url n new CustomEvent astro:hydration error cancelable 0 bubbles 0 composed 0 detail error:e componentUrl:t this.dispatchEvent n console.error astro island Error hydrating t e async start let e JSON.parse this.getAttribute opts t this.getAttribute client if Astro t void 0 window.addEventListener astro t this.start once 0 return try await Astro t async let e this.getAttribute renderer url try let t default:n await Promise.all this.importWithRetry this.getAttribute component url e this.importWithRetry e Promise.resolve default r this.getAttribute component export default if r.includes this.Component t for let e of r.split if i.has e this.Component typeof this.Component object typeof this.Component function Object.hasOwn this.Component e throw Error Invalid component export path r this.Component this.Component e else if i.has r throw Error Invalid component export path r this.Component t r return this.hydrator n this.hydrate catch e return this.handleHydrationError e e this catch e this.handleHydrationError e attributeChangedCallback this.hydrate r o observedAttributes props customElements.get astro island customElements.define astro island o 為什麼 持有 期間 影響 這麼 大 房地 合一 稅 2.0 的 稅率 完全 綁 定 持有 期間 2 年內 出售 的 稅率 是 10 年 以上 出售 的 3 倍 45 vs 15 這 不是 意外 是 刻意 的 政策 設計 抑制 短期 炒作 鼓勵 長期 持有 同一 筆 300 萬 的 交易 所得 持有 18 個月 要 繳 135 萬 持有 12 年 只要 繳 45 萬 差 了 90 萬 自用 住宅 優惠 是 另一 個 量 級 的 差異 符合 條件 的 話 前 400 萬 交易 所得 完全 免稅 超過 的 部分 只 課 10 比 最 短期 的 45 低 了 35 個 百分點 但 要件 很 嚴 本人 或 配偶 未成年 子女 必須 設 籍 持有 並 連續 居住 滿 6 年 且 這 6 年內 不能 出租 或 供 營業 使用 而且 6 年內 只能 用 這個 優惠 一次 公式 怎麼 算 交易 所得 成交 價 額 原始 取得 成本 移轉 相關 費用 土地 漲價 總數 額 已 另外 課徵 土地 增值稅 的 部分 排除 避免 重複 課稅 適用 稅率 符合 自用 住宅 要件 連續 居住 滿 6 年 10 否則 依 持有 期間 2 年內 45 2 5 年 35 5 10 年 20 10 年 以上 15 課稅 所得 自用 住宅 優惠 可先 扣除 NT 4,000,000 免稅 額 超過 部分 才 課稅 一般 稅率 則 交易 所得 全額 課稅 應 納稅 額 課稅 所得 適用 稅率 資料 來源 所得稅 法 第 14 4 條 第 14 8 條 全國 法規 資料庫 財政部 賦稅 署 原始碼 在 GitHub 綜合所得稅 試算 一般 所得 的 累進稅 率 計算 遺產 贈與 稅 試算 繼承 或 贈與 不動產 前 先看 免稅 額 跟 級 距 租 vs 買 計算 器 含 機會 成本 的 完整 租 買 比較