{"id":1291,"date":"2026-04-23T16:02:46","date_gmt":"2026-04-23T06:02:46","guid":{"rendered":"https:\/\/out2china.com\/?p=1291"},"modified":"2026-07-18T01:06:33","modified_gmt":"2026-07-17T15:06:33","slug":"%e4%b8%ad%e5%9b%bd%e7%a4%be%e4%bf%9d%e5%92%8c%e4%bd%8f%e6%88%bf%e5%85%ac%e7%a7%af%e9%87%91%e8%ae%a1%e7%ae%97%e5%99%a8","status":"publish","type":"post","link":"https:\/\/out2china.com\/zh\/china-social-insurance-and-housing-provident-fund-calculator\/","title":{"rendered":"\u4e2d\u56fd\u793e\u4f1a\u4fdd\u9669\u4e0e\u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\uff082026\u5e74\u66f4\u65b0\uff09"},"content":{"rendered":"\n<div style=\"display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;background-color:#F4F1E8;border:1px solid #D6D0C4;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;color:#3A3A3A;line-height:1.4;margin-bottom:20px;\">\n  <span style=\"display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#0D4F3C;flex-shrink:0;\"><\/span>\n  <span>Last updated: <strong style=\"color:#0D4F3C;\">April 28, 2026<\/strong> \u00b7 Reviewed by Out2China Payroll &amp; Compliance Team<\/span>\n<\/div>\n\n\n\n\n<div style=\"background-color:#F4F1E8;border-left:5px solid #0D4F3C;padding:24px 28px;margin:24px 0 32px 0;border-radius:0 8px 8px 0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.7;color:#2A2A2A;\">\n  <p style=\"margin:0 0 4px 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.6px;color:#0D4F3C;\">Quick Answer<\/p>\n  <p style=\"margin:0 0 14px 0;font-size:17px;font-weight:700;color:#1A1A1A;\">\n    Employers in China must budget an additional <span style=\"color:#0D4F3C;\">30 %\u201340 %<\/span> on top of every employee's gross monthly salary to cover mandatory \"Five Insurances and One Fund\" (\u4e94\u9669\u4e00\u91d1) contributions \u2014 that is the single most important number for any overseas company planning headcount in China.\n  <\/p>\n  <p style=\"margin:0;font-size:15px;color:#444;\">\n    The exact rates depend on the city: <strong>Shenzhen<\/strong> uses a tiered structure based on the employee's <em>Hukou<\/em> registration, <strong>Suzhou<\/strong> differentiates between its Industrial Park (SIP) and regular zones, and <strong>Shanghai \/ Beijing<\/strong> update their salary \"ceiling\" and \"floor\" thresholds every <strong>July<\/strong>. This calculator covers <strong>13 major Chinese cities<\/strong> and reflects the latest <strong>2025-2026 policy year<\/strong> data, so you can instantly see both the employer cost and the employee's net take-home pay for any gross salary figure.\n  <\/p>\n<\/div>\n\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>China Social Insurance &amp; Housing Provident Fund Calculator<\/strong> is also commonly known as the <strong>China Social Security Calculator<\/strong>. It is an essential tool for determining the mandatory monthly contributions and net salary for employees in Mainland China.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is designed to calculate the <strong>\"Five Insurances and One Fund\"<\/strong>, which is a comprehensive statutory benefit system. The \"Five Insurances\" include Pension (retirement), Medical Insurance (healthcare), Unemployment Insurance (job loss support), Work-related Injury Insurance (occupational safety), and Maternity Insurance (childbirth costs). The \"One Fund\" refers to the Housing Provident Fund, which is a long-term savings account used for home purchases or rentals.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because contribution rates and salary \"ceilings\" vary significantly between cities like Beijing, Shanghai, and Shenzhen, this calculator is vital for ensuring local legal compliance and accurate financial planning.<\/p>\n\n\n\n<p style=\"background:#e7f0fb;border:1px solid #c9dcf5;border-radius:12px;padding:12px 16px\"><strong>\u26a1 Just want the number?<\/strong> Try our dedicated <a href=\"\/china-employment-cost-calculator\/\">China Employment Cost Calculator<\/a> \u2014 enter a salary, instantly see the employer cost and employee take-home.<\/p>\n<style>\n\/* \u2550\u2550\u2550 Out2China Cost Calculator v2 \u2014 scoped under .o2c-calc \u2550\u2550\u2550 *\/\n.o2c-calc{--oc-navy:#0c4ba8;--oc-navy-d:#063a87;--oc-blue:#0053c8;--oc-blue-l:#e7f0fb;--oc-red:#ce4847;--oc-red-l:#fcebee;--oc-green:#1aa06a;--oc-ink:#22344E;--oc-mut:#6B7A90;--oc-line:#dde5ee;--oc-bg:#eef3fb;--oc-card:#fff;--oc-sh:0 1px 2px rgba(31,56,100,.04),0 6px 20px rgba(31,56,100,.05);\n  margin:28px auto;max-width:960px;color:var(--oc-ink);font-size:15px;line-height:1.55}\n.o2c-calc *{box-sizing:border-box}\n.o2c-calc h2.oc-title{font-size:26px;line-height:1.25;margin:0 0 6px;font-weight:800}\n.o2c-calc .oc-cities{font-size:12.5px;color:var(--oc-mut);margin:0 0 18px}\n\/* \u2500\u2500 inputs \u2500\u2500 *\/\n.o2c-calc .ctrl-panel{background:rgba(255,255,255,.72);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.92);border-radius:18px;padding:20px 22px;box-shadow:var(--oc-sh),inset 0 1px 0 rgba(255,255,255,.92)}\n.o2c-calc .ctrl-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}\n.o2c-calc .field label{display:block;font-size:12px;font-weight:600;color:var(--oc-mut);margin-bottom:6px;letter-spacing:.01em}\n.o2c-calc .field select,.o2c-calc .field input[type=number]{width:100%;padding:11px 12px;border:1.5px solid var(--oc-line);border-radius:9px;font-size:15px;color:var(--oc-ink);background:#fff;font-family:inherit}\n.o2c-calc .field select:focus,.o2c-calc .field input:focus{outline:none;border-color:var(--oc-navy);box-shadow:0 0 0 3px rgba(12,75,168,.12)}\n.o2c-calc .help-btn{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;border:1px solid var(--oc-mut);background:none;color:var(--oc-mut);font-size:11px;cursor:pointer;margin-left:5px;vertical-align:-2px}\n.o2c-calc .ind-help{margin-top:8px;background:var(--oc-bg);border:1px solid var(--oc-line);border-radius:9px;padding:12px;font-size:12.5px;color:var(--oc-mut)}\n.o2c-calc .ind-help table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}\n.o2c-calc .ind-help th,.o2c-calc .ind-help td{padding:5px 8px;border-bottom:1px solid var(--oc-line);text-align:left;vertical-align:top}\n.o2c-calc .ctrl-divider{grid-column:1\/-1;border:none;border-top:1px dashed var(--oc-line);margin:4px 0 0}\n.o2c-calc .section-label{font-size:12px;font-weight:700;color:var(--oc-ink);letter-spacing:.02em}\n.o2c-calc .slider-row{display:flex;align-items:center;gap:12px}\n.o2c-calc input[type=range]{flex:1;accent-color:var(--oc-navy);height:26px;cursor:pointer}\n.o2c-calc .slider-val{min-width:42px;text-align:right;font-weight:700;font-size:15px;color:var(--oc-navy)}\n.o2c-calc .ctrl-grid.oc-two{grid-template-columns:1fr 1fr}\n.o2c-calc .ctrl-grid.oc-two select,.o2c-calc .ctrl-grid.oc-two input[type=number]{padding:14px 14px;font-size:17px;font-weight:600}\n.o2c-calc details.oc-assume{margin-top:14px;border-top:1px dashed var(--oc-line);padding-top:12px}\n.o2c-calc details.oc-assume>summary{cursor:pointer;list-style:none;font-size:12.5px;color:var(--oc-mut)}\n.o2c-calc details.oc-assume>summary::-webkit-details-marker{display:none}\n.o2c-calc details.oc-assume>summary #oc-assump{font-weight:700;color:var(--oc-navy)}\n.o2c-calc details.oc-assume>summary:hover{color:var(--oc-ink)}\n\/* \u2500\u2500 rates \u91cd\u70b9\u5361(\u5e38\u5f00) \u2500\u2500 *\/\n.o2c-calc .oc-rates{margin-top:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1.5px solid rgba(12,75,168,.28);border-radius:18px;box-shadow:0 10px 34px rgba(31,56,100,.12),inset 0 1px 0 rgba(255,255,255,.92);overflow:hidden}\n.o2c-calc .oc-rates-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:16px 20px 2px}\n.o2c-calc .oc-rates-t{font-size:15px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--oc-navy)}\n.o2c-calc .oc-rates-s{font-size:12px;color:var(--oc-mut)}\n.o2c-calc .oc-rates-body{padding:0 18px 16px}\n\/* \u2500\u2500 warnings \u2500\u2500 *\/\n.o2c-calc .oc-warn{display:none;margin:14px 0 0;background:#fff8e8;border:1px solid #f0d9a8;color:#8a6414;border-radius:10px;padding:10px 14px;font-size:13px}\n\/* \u2500\u2500 hero \u2500\u2500 *\/\n.o2c-calc .oc-hero{margin-top:18px;background:linear-gradient(125deg,#4f82cf,#74a0dc);border-radius:18px;padding:26px 26px 22px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(31,56,100,.16)}\n.o2c-calc .oc-hero:before{content:\"\";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06)}\n.o2c-calc .oc-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}\n.o2c-calc .oc-hero-label{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}\n.o2c-calc .oc-view{display:inline-flex;border:1px solid rgba(255,255,255,.4);border-radius:99px;overflow:hidden}\n.o2c-calc .oc-view button{background:none;border:none;color:rgba(255,255,255,.8);font-size:12.5px;padding:5px 14px;cursor:pointer;font-family:inherit}\n.o2c-calc .oc-view button.on{background:#fff;color:var(--oc-navy);font-weight:700}\n.o2c-calc .oc-hero-num{font-size:clamp(34px,6vw,52px);font-weight:800;letter-spacing:-.03em;margin:8px 0 2px;font-variant-numeric:tabular-nums}\n.o2c-calc .oc-hero-sub{font-size:14px;color:rgba(255,255,255,.92)}\n.o2c-calc .oc-hero-sub b{font-weight:800}\n\/* \u2500\u2500 visual row: iceberg + donut \u2500\u2500 *\/\n.o2c-calc .oc-viz{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:14px}\n.o2c-calc .oc-vcard{background:rgba(255,255,255,.72);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.92);border-radius:18px;padding:16px 18px;box-shadow:var(--oc-sh),inset 0 1px 0 rgba(255,255,255,.92)}\n.o2c-calc .oc-vh{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--oc-ink);margin-bottom:2px}\n.o2c-calc .oc-vs{font-size:11.5px;color:var(--oc-mut);margin-bottom:10px}\n.o2c-calc .oc-berg{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}\n.o2c-calc .oc-berg svg{display:block}\n.o2c-calc .oc-blab{display:flex;flex-direction:column;gap:10px}\n.o2c-calc .oc-bl{padding:8px 10px;border-radius:10px;border:1px dashed var(--oc-line)}\n.o2c-calc .oc-bl .t{font-size:11.5px;color:var(--oc-mut)}\n.o2c-calc .oc-bl .v{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}\n.o2c-calc .oc-bl.sky .v{color:var(--oc-blue)}\n.o2c-calc .oc-bl.line .v{color:#3f6ab2}\n.o2c-calc .oc-bl.deep{background:rgba(12,75,168,.06);border-style:solid;border-color:rgba(12,75,168,.18)}\n.o2c-calc .oc-bl.deep .v{color:var(--oc-navy)}\n.o2c-calc .oc-donut{display:flex;align-items:center;gap:16px}\n.o2c-calc .oc-donut svg{display:block;flex:none}\n.o2c-calc .oc-dleg{display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--oc-mut)}\n.o2c-calc .oc-dleg b{color:var(--oc-ink);font-variant-numeric:tabular-nums}\n.o2c-calc .oc-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}\n\/* \u2500\u2500 split panels \u2500\u2500 *\/\n.o2c-calc .oc-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}\n.o2c-calc .oc-panel{background:rgba(255,255,255,.72);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.92);border-radius:18px;padding:18px 20px;box-shadow:var(--oc-sh),inset 0 1px 0 rgba(255,255,255,.92)}\n.o2c-calc .oc-panel-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;margin-bottom:12px}\n.o2c-calc .oc-panel-h .oc-ico{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}\n.o2c-calc .oc-panel.emp .oc-panel-h{color:var(--oc-red)} .o2c-calc .oc-panel.emp .oc-ico{background:var(--oc-red-l)}\n.o2c-calc .oc-panel.stf .oc-panel-h{color:var(--oc-blue)} .o2c-calc .oc-panel.stf .oc-ico{background:var(--oc-blue-l)}\n.o2c-calc .oc-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;color:var(--oc-mut);border-bottom:1px dashed var(--oc-line)}\n.o2c-calc .oc-row span:last-child{font-variant-numeric:tabular-nums;color:var(--oc-ink);font-weight:600;white-space:nowrap}\n.o2c-calc .oc-row.plus span:last-child{color:var(--oc-red)}\n.o2c-calc .oc-row.minus span:last-child{color:var(--oc-blue)}\n.o2c-calc .oc-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:12px;font-weight:800;font-size:15px}\n.o2c-calc .oc-total span:last-child{font-size:22px;font-variant-numeric:tabular-nums}\n.o2c-calc .oc-panel.emp .oc-total span:last-child{color:var(--oc-red)}\n.o2c-calc .oc-panel.stf .oc-total span:last-child{color:var(--oc-blue)}\n.o2c-calc .oc-tag{display:inline-block;font-size:11px;font-weight:600;color:var(--oc-mut);background:var(--oc-bg);border:1px solid var(--oc-line);border-radius:99px;padding:2px 9px;margin-top:10px}\n\/* \u2500\u2500 details (full table) \u2500\u2500 *\/\n.o2c-calc details.oc-details{margin-top:14px;background:rgba(255,255,255,.72);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.92);border-radius:18px;overflow:hidden;box-shadow:var(--oc-sh)}\n.o2c-calc details.oc-details>summary{cursor:pointer;list-style:none;padding:15px 20px;font-weight:700;font-size:14px;color:var(--oc-ink);display:flex;align-items:center;gap:8px}\n.o2c-calc details.oc-details>summary::-webkit-details-marker{display:none}\n.o2c-calc details.oc-details>summary:after{content:\"\u25be\";margin-left:auto;color:var(--oc-mut);transition:transform .2s}\n.o2c-calc details.oc-details[open]>summary:after{transform:rotate(180deg)}\n.o2c-calc details.oc-details[open]>summary{border-bottom:1px solid var(--oc-line)}\n.o2c-calc .oc-details-body{padding:6px 20px 18px}\n\/* kept classes from v1 (restyled) *\/\n.o2c-calc .result-card{margin-top:16px;border:1px solid var(--oc-line);border-radius:12px;overflow:hidden}\n.o2c-calc .card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--oc-bg);padding:11px 16px;font-weight:700;font-size:14px}\n.o2c-calc .badge{font-size:11px;font-weight:600;background:var(--oc-blue-l);color:var(--oc-blue);border-radius:99px;padding:2px 10px}\n.o2c-calc .badge-green{font-size:11px;font-weight:600;background:#e5f6ec;color:#177245;border-radius:99px;padding:2px 10px}\n.o2c-calc .badge-note{font-size:11px;color:var(--oc-mut)}\n.o2c-calc .tbl-wrap{overflow-x:auto}\n.o2c-calc table{width:100%;border-collapse:collapse;font-size:13.5px}\n.o2c-calc thead th{background:#fff;color:var(--oc-mut);font-size:12px;font-weight:600;text-align:left;padding:9px 12px;border-bottom:1px solid var(--oc-line)}\n.o2c-calc tbody td{padding:10px 12px;border-bottom:1px solid var(--oc-line);vertical-align:top}\n.o2c-calc td.r,.o2c-calc th.r{text-align:right;font-variant-numeric:tabular-nums}\n.o2c-calc tr.tot td{font-weight:800;background:var(--oc-bg)}\n.o2c-calc .sub{display:block;font-size:11px;color:var(--oc-mut);font-weight:400;margin-top:2px}\n.o2c-calc .dash{color:#c3ccd6}\n.o2c-calc .capped{font-size:10.5px;color:#e8930c;font-weight:700}\n.o2c-calc .hpf-body{padding:14px 16px}\n.o2c-calc .hpf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}\n.o2c-calc .hpf-item{background:var(--oc-bg);border:1px solid var(--oc-line);border-radius:10px;padding:12px 14px}\n.o2c-calc .hpf-item .lbl{font-size:11.5px;color:var(--oc-mut);margin-bottom:4px}\n.o2c-calc .hpf-item .val{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}\n.o2c-calc .hpf-note{margin-top:10px;font-size:11.5px;color:var(--oc-mut)}\n.o2c-calc .foot{display:flex;flex-direction:column;gap:5px;margin-top:14px;font-size:11.5px;color:var(--oc-mut)}\n\/* \u2500\u2500 CTA \u2500\u2500 *\/\n.o2c-calc .oc-cta{margin-top:18px;background:linear-gradient(35deg,#4172c2 0%,#4f63b2 38%,#8a5092 72%,#bd4640 100%);border-radius:18px;padding:24px 26px;color:#e9eff9;box-shadow:0 18px 40px rgba(31,56,100,.16)}\n.o2c-calc .oc-cta-t{font-size:18px;font-weight:800;margin:0 0 4px}\n.o2c-calc .oc-cta-d{font-size:13.5px;color:#dbe3f3;margin:0 0 14px}\n.o2c-calc .oc-cta-row{display:flex;gap:10px;flex-wrap:wrap}\n.o2c-calc .oc-cta-row input[type=email]{flex:1;min-width:220px;padding:12px 14px;border-radius:9px;border:none;font-size:15px;font-family:inherit}\n.o2c-calc .oc-cta-row input[type=email]:focus{outline:3px solid rgba(255,255,255,.35)}\n.o2c-calc .oc-cta-row button{background:#fff;border:none;color:var(--oc-navy);font-weight:800;font-size:15px;padding:12px 22px;border-radius:999px;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(31,56,100,.18)}\n.o2c-calc .oc-cta-row button:hover{background:var(--oc-blue-l)}\n.o2c-calc .oc-cta-row button:disabled{opacity:.6;cursor:wait}\n.o2c-calc .oc-cta-hint{font-size:11.5px;color:#c4cee6;margin-top:9px}\n.o2c-calc .oc-cta-ok{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:14px 16px;font-size:14.5px}\n.o2c-calc .oc-hp{position:absolute;left:-9999px;opacity:0}\n\/* \u2500\u2500 responsive \u2500\u2500 *\/\n@media (max-width:720px){\n  .o2c-calc .ctrl-grid{grid-template-columns:1fr}\n  .o2c-calc .oc-split{grid-template-columns:1fr}\n  .o2c-calc .hpf-grid{grid-template-columns:1fr}\n  .o2c-calc .oc-viz{grid-template-columns:1fr}\n  .o2c-calc .oc-berg{grid-template-columns:1fr;justify-items:center}\n}\n\/* \u2500\u2500 \u7acb\u4f53\u60ac\u6d6e \u2500\u2500 *\/\n.o2c-calc .ctrl-panel,.o2c-calc .oc-vcard,.o2c-calc .oc-panel,.o2c-calc .oc-rates,.o2c-calc .oc-hero,.o2c-calc .oc-cta{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}\n.o2c-calc .ctrl-panel:hover,.o2c-calc .oc-vcard:hover,.o2c-calc .oc-panel:hover{transform:translateY(-4px);box-shadow:0 2px 8px rgba(31,56,100,.06),0 22px 50px rgba(31,56,100,.15),inset 0 1px 0 rgba(255,255,255,.92)}\n.o2c-calc .oc-rates:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(12,75,168,.08),0 26px 56px rgba(31,56,100,.18),inset 0 1px 0 rgba(255,255,255,.92)}\n.o2c-calc .oc-hero:hover,.o2c-calc .oc-cta:hover{transform:translateY(-4px);box-shadow:0 26px 56px rgba(31,56,100,.24)}\n@media (prefers-reduced-motion:reduce){.o2c-calc *{animation:none!important;transition:none!important}}\n<\/style>\n<div class=\"o2c-calc notranslate\" id=\"o2c-calc\" translate=\"no\">\n  <h2 class=\"oc-title\">China Social Insurance + Housing Provident Fund Calculator<\/h2>\n  <p class=\"oc-cities\">Beijing \u00b7 Shanghai \u00b7 Guangzhou \u00b7 Shenzhen \u00b7 Tianjin \u00b7 Chengdu \u00b7 Hangzhou \u00b7 Chongqing \u00b7 Wuhan \u00b7 Suzhou \u00b7 Xi'an \u00b7 Nanjing \u00b7 Changsha \u2014 2025\u201326 policy year<\/p>\n\n  <div class=\"ctrl-panel\">\n    <div class=\"ctrl-grid oc-two\">\n      <div class=\"field\">\n        <label>Where will you hire?<\/label>\n        <select id=\"sel-city\" onchange=\"onCity()\">\n          <option value=\"bj\">Beijing<\/option><option value=\"sh\">Shanghai<\/option>\n          <option value=\"gz\">Guangzhou<\/option><option value=\"sz\">Shenzhen<\/option>\n          <option value=\"tj\">Tianjin<\/option><option value=\"cd\">Chengdu<\/option>\n          <option value=\"hz\">Hangzhou<\/option><option value=\"cq\">Chongqing<\/option>\n          <option value=\"wh\">Wuhan<\/option><option value=\"su\">Suzhou<\/option>\n          <option value=\"xa\">Xi'an<\/option><option value=\"nj\">Nanjing<\/option>\n          <option value=\"cs\">Changsha<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"field\">\n        <label>Monthly gross salary (RMB \u00a5)<\/label>\n        <input type=\"number\" id=\"inp-sal\" value=\"15000\" min=\"1\" step=\"100\" oninput=\"render()\">\n      <\/div>\n    <\/div>\n    <details class=\"oc-assume\">\n      <summary>\u2699\ufe0f Assumptions: <span id=\"oc-assump\">office industry \u00b7 housing fund 5% + 5%<\/span> \u2014 adjust<\/summary>\n      <div class=\"ctrl-grid\" style=\"margin-top:14px\">\n        <div class=\"field\" id=\"f-tier\" style=\"display:none\">\n          <label>Shenzhen Registration Type<\/label>\n          <select id=\"sel-tier\" onchange=\"render()\">\n            <option value=\"0\">Shenzhen Hukou \u2013 Tier 1<\/option>\n            <option value=\"1\">Non-Shenzhen Hukou \u2013 Tier 1<\/option>\n            <option value=\"2\">Non-Shenzhen Hukou \u2013 Tier 2<\/option>\n          <\/select>\n        <\/div>\n        <div class=\"field\" id=\"f-su\" style=\"display:none\">\n          <label>Suzhou Zone Type<\/label>\n          <select id=\"sel-su\" onchange=\"render()\">\n            <option value=\"0\">Regular Zone (Medical employer: 7%)<\/option>\n            <option value=\"1\">Industrial Park \/ SIP (Medical employer: 5%)<\/option>\n          <\/select>\n        <\/div>\n        <div class=\"field\">\n          <label>Industry Category (Work Injury Rate) <button type=\"button\" class=\"help-btn\" onclick=\"toggleIndHelp()\">?<\/button><\/label>\n          <select id=\"sel-ind\" onchange=\"render()\"><\/select>\n          <div id=\"ind-help\" class=\"ind-help\" style=\"display:none\"><\/div>\n        <\/div>\n        <div class=\"field\">\n          <label>Employer Housing Fund Rate<\/label>\n          <div class=\"slider-row\">\n            <input type=\"range\" id=\"inp-hpf-c\" min=\"5\" max=\"12\" step=\"1\" value=\"5\" oninput=\"onHpf('c')\">\n            <span class=\"slider-val\" id=\"sv-hpf-c\">5%<\/span>\n          <\/div>\n          <span id=\"lbl-hpf-c\" style=\"display:none\">5%<\/span>\n        <\/div>\n        <div class=\"field\">\n          <label>Employee Housing Fund Rate<\/label>\n          <div class=\"slider-row\">\n            <input type=\"range\" id=\"inp-hpf-e\" min=\"5\" max=\"12\" step=\"1\" value=\"5\" oninput=\"onHpf('e')\">\n            <span class=\"slider-val\" id=\"sv-hpf-e\">5%<\/span>\n          <\/div>\n          <span id=\"lbl-hpf-e\" style=\"display:none\">5%<\/span>\n        <\/div>\n      <\/div>\n    <\/details>\n  <\/div>\n\n  <div id=\"el-warn\" class=\"oc-warn\"><\/div>\n  <div id=\"el-out\"><\/div>\n\n  <div class=\"oc-cta\" id=\"oc-cta\">\n    <p class=\"oc-cta-t\">This is the statutory cost. Want the all-in number for your hires?<\/p>\n    <p class=\"oc-cta-d\">Out2China employs your team in China compliantly (EOR) \u2014 no local entity needed. Leave your email and our team will send a tailored all-in quote (statutory costs + our service fee) for your exact case within 1 business day.<\/p>\n    <div class=\"oc-cta-row\">\n      <input type=\"email\" id=\"oc-email\" placeholder=\"you@company.com\" autocomplete=\"email\">\n      <input type=\"text\" id=\"oc-web\" class=\"oc-hp\" tabindex=\"-1\" autocomplete=\"off\">\n      <button id=\"oc-btn\" onclick=\"ocLead()\">Get my exact quote \u2192<\/button>\n    <\/div>\n    <div class=\"oc-cta-hint\">Your current calculation (city, salary, employer cost) is attached to the request so we can quote precisely. No spam \u2014 one reply from a real consultant.<\/div>\n  <\/div>\n<\/div>\n\n<script>\n\n\/\/ \u2550\u2550 i18n:\u6309\u9875\u9762\u8bed\u8a00(\/zh\/ \u7b80\u3001\/zh_hk\/ \u7e41)\u6574\u4f53\u66ff\u6362\u82f1\u6587\u6587\u6848;?oclang= \u53ef\u5f3a\u5236 \u2550\u2550\nconst OC_LANG=(function(){\n  const q=new URLSearchParams(location.search).get('oclang');\n  if(q==='hans'||q==='hant'||q==='en') return q;\n  const p=location.pathname;\n  if(p.indexOf('\/zh_hk\/')===0) return 'hant';\n  if(p.indexOf('\/zh\/')===0) return 'hans';\n  const l=(document.documentElement.lang||'').toLowerCase();\n  if(l.indexOf('zh')===0) return (l.indexOf('hk')>=0||l.indexOf('tw')>=0||l.indexOf('hant')>=0)?'hant':'hans';\n  return 'en';\n})();\nconst OC_D=[[\"The HPF contribution rate (5%\u201312%) is negotiated between the employer and employee. The actual contribution base is based on the prior year's average monthly salary, and some cities set monthly contribution caps. Please verify with your local HPF management centre.\", \"\u516c\u79ef\u91d1\u7f34\u5b58\u6bd4\u4f8b(5%\u201312%)\u7531\u5355\u4f4d\u4e0e\u4e2a\u4eba\u534f\u5546;\u5b9e\u9645\u7f34\u5b58\u57fa\u6570\u6309\u4e0a\u5e74\u5ea6\u6708\u5747\u5de5\u8d44\u6838\u5b9a,\u90e8\u5206\u57ce\u5e02\u8bbe\u6709\u6708\u7f34\u5b58\u4e0a\u9650,\u8bf7\u4ee5\u5f53\u5730\u516c\u79ef\u91d1\u4e2d\u5fc3\u4e3a\u51c6\u3002\", \"\u516c\u7a4d\u91d1\u7e73\u5b58\u6bd4\u4f8b(5%\u201312%)\u7531\u55ae\u4f4d\u8207\u500b\u4eba\u5354\u5546;\u5be6\u969b\u7e73\u5b58\u57fa\u6578\u6309\u4e0a\u5e74\u5ea6\u6708\u5747\u5de5\u8cc7\u6838\u5b9a,\u90e8\u5206\u57ce\u5e02\u8a2d\u6709\u6708\u7e73\u5b58\u4e0a\u9650,\u8acb\u4ee5\u7576\u5730\u516c\u7a4d\u91d1\u4e2d\u5fc3\u70ba\u6e96\u3002\"], [\"All figures are for reference only. Actual rates are subject to official announcements from local social security bureaus. Work injury rates shown are benchmark rates and may be adjusted by the bureau based on the employer's injury record.\", \"\u4ee5\u4e0a\u6570\u636e\u4ec5\u4f9b\u53c2\u8003,\u5b9e\u9645\u4ee5\u5404\u5730\u793e\u4fdd\u5c40\u5b98\u65b9\u516c\u544a\u4e3a\u51c6\u3002\u5de5\u4f24\u8d39\u7387\u4e3a\u57fa\u51c6\u6863\u4f4d,\u793e\u4fdd\u5c40\u4f1a\u6309\u4f01\u4e1a\u5de5\u4f24\u8bb0\u5f55\u6d6e\u52a8\u8c03\u6574\u3002\", \"\u4ee5\u4e0a\u6578\u64da\u50c5\u4f9b\u53c3\u8003,\u5be6\u969b\u4ee5\u5404\u5730\u793e\u4fdd\u5c40\u5b98\u65b9\u516c\u544a\u70ba\u6e96\u3002\u5de5\u50b7\u8cbb\u7387\u70ba\u57fa\u6e96\u6a94\u4f4d,\u793e\u4fdd\u5c40\u6703\u6309\u4f01\u696d\u5de5\u50b7\u8a18\u9304\u6d6e\u52d5\u8abf\u6574\u3002\"], [\"Out2China employs your team in China compliantly (EOR) \u2014 no local entity needed. Leave your email and our team will send a tailored all-in quote (statutory costs + our service fee) for your exact case within 1 business day.\", \"Out2China \u4ee5\u5408\u89c4 EOR \u65b9\u5f0f\u4e3a\u4f60\u4ee3\u96c7\u4e2d\u56fd\u56e2\u961f\u2014\u2014\u65e0\u9700\u5728\u534e\u8bbe\u7acb\u516c\u53f8\u3002\u7559\u4e0b\u90ae\u7bb1,\u987e\u95ee\u4f1a\u5728 1 \u4e2a\u5de5\u4f5c\u65e5\u5185\u6309\u4f60\u7684\u5b9e\u9645\u60c5\u51b5\u53d1\u9001\u5168\u5305\u62a5\u4ef7(\u6cd5\u5b9a\u6210\u672c + \u670d\u52a1\u8d39)\u3002\", \"Out2China \u4ee5\u5408\u898f EOR \u65b9\u5f0f\u70ba\u4f60\u4ee3\u50f1\u4e2d\u570b\u5718\u968a\u2014\u2014\u7121\u9700\u5728\u83ef\u8a2d\u7acb\u516c\u53f8\u3002\u7559\u4e0b\u90f5\u7bb1,\u9867\u554f\u6703\u5728 1 \u500b\u5de5\u4f5c\u65e5\u5167\u6309\u4f60\u7684\u5be6\u969b\u60c5\u6cc1\u767c\u9001\u5168\u5305\u5831\u50f9(\u6cd5\u5b9a\u6210\u672c + \u670d\u52d9\u8cbb)\u3002\"], [\"\u2605 In practice, the HPF contribution base is based on the prior year's average monthly salary and may be subject to local upper\/lower limits. This calculator uses current gross salary as the base for reference only.\", \"\u2605 \u5b9e\u9645\u7f34\u5b58\u57fa\u6570\u6309\u4e0a\u5e74\u5ea6\u6708\u5747\u5de5\u8d44\u6838\u5b9a,\u5e76\u53d7\u5f53\u5730\u4e0a\u4e0b\u9650\u7ea6\u675f;\u672c\u5de5\u5177\u4ee5\u5f53\u524d\u6708\u85aa\u4e3a\u57fa\u6570,\u4ec5\u4f9b\u53c2\u8003\u3002\", \"\u2605 \u5be6\u969b\u7e73\u5b58\u57fa\u6578\u6309\u4e0a\u5e74\u5ea6\u6708\u5747\u5de5\u8cc7\u6838\u5b9a,\u4e26\u53d7\u7576\u5730\u4e0a\u4e0b\u9650\u7d04\u675f;\u672c\u5de5\u5177\u4ee5\u7576\u524d\u6708\u85aa\u70ba\u57fa\u6578,\u50c5\u4f9b\u53c3\u8003\u3002\"], [\"Guangzhou (Jul 2025 \u2013 Jun 2026): Pension base \u00a55,510\u2013\u00a527,549; Medical \u00a56,234\u2013\u00a531,179; Unemployment \u00a52,500\u2013\u00a541,112; Work injury floor \u00a52,500 (no ceiling). Medical includes maternity.\", \"\u5e7f\u5dde\uff082025.7\u20142026.6\uff09\uff1a\u517b\u8001\u57fa\u65705,510\u201427,549\u5143\uff1b\u533b\u75976,234\u201431,179\u5143\uff1b\u5931\u4e1a2,500\u201441,112\u5143\uff1b\u5de5\u4f24\u4e0b\u96502,500\u5143\u65e0\u4e0a\u9650\u3002\u533b\u7597\u542b\u751f\u80b2\u4fdd\u9669\u3002\", \"\u5ee3\u5dde\uff082025.7\u20142026.6\uff09\uff1a\u990a\u8001\u57fa\u65785,510\u201427,549\u5143\uff1b\u91ab\u76426,234\u201431,179\u5143\uff1b\u5931\u696d2,500\u201441,112\u5143\uff1b\u5de5\u50b7\u4e0b\u96502,500\u5143\u7121\u4e0a\u9650\u3002\u91ab\u7642\u542b\u751f\u80b2\u4fdd\u96aa\u3002\"], [\"Beijing (from Jul 2025): Unified contribution base \u00a57,162\u2013\u00a535,811. Work injury rate floats 0.2%\u20131.9%. Employee medical includes \u00a53\/mo serious illness supplement.\", \"\u5317\u4eac\uff082025.7\u8d77\uff09\uff1a\u7edf\u4e00\u57fa\u65707,162\u201435,811\u5143\u3002\u5de5\u4f240.2%\u20141.9%\u6d6e\u52a8\u3002\u4e2a\u4eba\u533b\u7597\u542b3\u5143\u91cd\u5927\u533b\u7597\u9669\u3002\", \"\u5317\u4eac\uff082025.7\u8d77\uff09\uff1a\u7d71\u4e00\u57fa\u65787,162\u201435,811\u5143\u3002\u5de5\u50b70.2%\u20141.9%\u6d6e\u52d5\u3002\u500b\u4eba\u91ab\u7642\u542b3\u5143\u91cd\u5927\u91ab\u7642\u96aa\u3002\"], [\"Your current calculation (city, salary, employer cost) is attached to the request so we can quote precisely. No spam \u2014 one reply from a real consultant.\", \"\u4f60\u7684\u5f53\u524d\u6d4b\u7b97(\u57ce\u5e02\/\u85aa\u8d44\/\u96c7\u4e3b\u6210\u672c)\u4f1a\u9644\u5728\u8bf7\u6c42\u4e2d,\u4fbf\u4e8e\u7cbe\u51c6\u62a5\u4ef7\u3002\u4e0d\u9a9a\u6270\u2014\u2014\u53ea\u6709\u4e00\u4f4d\u771f\u4eba\u987e\u95ee\u56de\u590d\u4e00\u6b21\u3002\", \"\u4f60\u7684\u7576\u524d\u6e2c\u7b97(\u57ce\u5e02\/\u85aa\u8cc7\/\u50f1\u4e3b\u6210\u672c)\u6703\u9644\u5728\u8acb\u6c42\u4e2d,\u4fbf\u65bc\u7cbe\u6e96\u5831\u50f9\u3002\u4e0d\u9a37\u64fe\u2014\u2014\u53ea\u6709\u4e00\u4f4d\u771f\u4eba\u9867\u554f\u56de\u8986\u4e00\u6b21\u3002\"], [\"Hangzhou: Unified base \u00a54,986\u2013\u00a525,299. Work injury rate floats 0.2%\u20131.5%. Medical (9.5%) includes maternity; separate maternity scheme at 0.8%.\", \"\u676d\u5dde\uff1a\u7edf\u4e00\u57fa\u65704,986\u201425,299\u5143\u3002\u5de5\u4f240.2%\u20141.5%\u6d6e\u52a8\u3002\u533b\u75979.5%\u542b\u751f\u80b2\uff1b\u53e6\u8bbe\u72ec\u7acb\u751f\u80b2\u4fdd\u96690.8%\u3002\", \"\u676d\u5dde\uff1a\u7d71\u4e00\u57fa\u65784,986\u201425,299\u5143\u3002\u5de5\u50b70.2%\u20141.5%\u6d6e\u52d5\u3002\u91ab\u76429.5%\u542b\u751f\u80b2\uff1b\u53e6\u8a2d\u7368\u7acb\u751f\u80b2\u4fdd\u96aa0.8%\u3002\"], [\"Chengdu: Unified base \u00a54,588\u2013\u00a522,938. Work injury rate floats 0.2%\u20131.9%. Serious illness insurance: employer 0.75% of base; employee exempt.\", \"\u6210\u90fd\uff1a\u7edf\u4e00\u57fa\u65704,588\u201422,938\u5143\u3002\u5de5\u4f240.2%\u20141.9%\u6d6e\u52a8\u3002\u5927\u75c5\u4fdd\u9669\u5355\u4f4d0.75%\uff08\u6309\u57fa\u6570\u8ba1\uff09\uff0c\u4e2a\u4eba\u4e0d\u7f34\u3002\", \"\u6210\u90fd\uff1a\u7d71\u4e00\u57fa\u65784,588\u201422,938\u5143\u3002\u5de5\u50b70.2%\u20141.9%\u6d6e\u52d5\u3002\u5927\u75c5\u4fdd\u96aa\u55ae\u4f4d0.75%\uff08\u6309\u57fa\u6578\u8a08\uff09\uff0c\u500b\u4eba\u4e0d\u7e73\u3002\"], [\"Shanghai (Jul 2025 \u2013 Jun 2026): Unified base \u00a57,460\u2013\u00a537,302. Work injury rate floats 0.2%\u20131.9%. Medical insurance includes maternity.\", \"\u4e0a\u6d77\uff082025.7\u20142026.6\uff09\uff1a\u7edf\u4e00\u57fa\u65707,460\u201437,302\u5143\u3002\u5de5\u4f240.2%\u20141.9%\u6d6e\u52a8\u3002\u533b\u7597\u542b\u751f\u80b2\u4fdd\u9669\u3002\", \"\u4e0a\u6d77\uff082025.7\u20142026.6\uff09\uff1a\u7d71\u4e00\u57fa\u65787,460\u201437,302\u5143\u3002\u5de5\u50b70.2%\u20141.9%\u6d6e\u52d5\u3002\u91ab\u7642\u542b\u751f\u80b2\u4fdd\u96aa\u3002\"], [\"Wuhan: Unified base \u00a54,498\u2013\u00a522,488. Work injury rate floats 0.2%\u20131.9%. Serious illness insurance: employee \u00a57\/mo; employer exempt.\", \"\u6b66\u6c49\uff1a\u7edf\u4e00\u57fa\u65704,498\u201422,488\u5143\u3002\u5de5\u4f240.2%\u20141.9%\u6d6e\u52a8\u3002\u5927\u75c5\u9669\u4e2a\u4eba7\u5143\/\u6708\uff0c\u5355\u4f4d\u4e0d\u7f34\u3002\", \"\u6b66\u6f22\uff1a\u7d71\u4e00\u57fa\u65784,498\u201422,488\u5143\u3002\u5de5\u50b70.2%\u20141.9%\u6d6e\u52d5\u3002\u5927\u75c5\u96aa\u500b\u4eba7\u5143\/\u6708\uff0c\u55ae\u4f4d\u4e0d\u7e73\u3002\"], [\"Chongqing: Unified base \u00a54,404\u2013\u00a522,017. Work injury rate floats 0.3%\u20132.2%. Serious illness: employer 1.5% + employee \u00a55\/mo fixed.\", \"\u91cd\u5e86\uff1a\u7edf\u4e00\u57fa\u65704,404\u201422,017\u5143\u3002\u5de5\u4f240.3%\u20142.2%\u6d6e\u52a8\u3002\u5927\u75c5\u9669\u5355\u4f4d1.5%+\u4e2a\u4eba5\u5143\/\u6708\uff08\u56fa\u5b9a\u989d\u5df2\u542b\u4e8e\u5408\u8ba1\uff09\u3002\", \"\u91cd\u6176\uff1a\u7d71\u4e00\u57fa\u65784,404\u201422,017\u5143\u3002\u5de5\u50b70.3%\u20142.2%\u6d6e\u52d5\u3002\u5927\u75c5\u96aa\u55ae\u4f4d1.5%+\u500b\u4eba5\u5143\/\u6708\uff08\u56fa\u5b9a\u984d\u5df2\u542b\u65bc\u5408\u8a08\uff09\u3002\"], [\"Changsha: Unified base \u00a54,072\u2013\u00a520,361. Work injury rate floats 0.6%\u20132.6%. Medical (8.7%) includes maternity insurance (0.7%).\", \"\u957f\u6c99\uff1a\u7edf\u4e00\u57fa\u65704,072\u201420,361\u5143\u3002\u5de5\u4f240.6%\u20142.6%\u6d6e\u52a8\u3002\u533b\u75978.7%\u542b\u751f\u80b2\u4fdd\u96690.7%\u3002\", \"\u9577\u6c99\uff1a\u7d71\u4e00\u57fa\u65784,072\u201420,361\u5143\u3002\u5de5\u50b70.6%\u20142.6%\u6d6e\u52d5\u3002\u91ab\u76428.7%\u542b\u751f\u80b2\u4fdd\u96aa0.7%\u3002\"], [\"Nanjing: Unified base \u00a54,952\u2013\u00a524,762. Work injury rate floats 0.2%\u20131.9%. Serious illness: employer \u00a510\/mo + employee \u00a510\/mo.\", \"\u5357\u4eac\uff1a\u7edf\u4e00\u57fa\u65704,952\u201424,762\u5143\u3002\u5de5\u4f240.2%\u20141.9%\u6d6e\u52a8\u3002\u5927\u75c5\u9669\u5355\u4f4d+\u4e2a\u4eba\u540410\u5143\/\u6708\u3002\", \"\u5357\u4eac\uff1a\u7d71\u4e00\u57fa\u65784,952\u201424,762\u5143\u3002\u5de5\u50b70.2%\u20141.9%\u6d6e\u52d5\u3002\u5927\u75c5\u96aa\u55ae\u4f4d+\u500b\u4eba\u540410\u5143\/\u6708\u3002\"], [\"Shenzhen: Pension base \u00a54,775\u2013\u00a527,549; Medical\/Maternity \u00a56,727\u2013\u00a533,633; Unemployment\/Work Injury \u00a52,520\u2013\u00a544,625.\", \"\u6df1\u5733\uff1a\u517b\u8001\u57fa\u65704,775\u201427,549\u5143\uff1b\u533b\u7597\/\u751f\u80b26,727\u201433,633\u5143\uff1b\u5931\u4e1a\/\u5de5\u4f242,520\u201444,625\u5143\u3002\", \"\u6df1\u5733\uff1a\u990a\u8001\u57fa\u65784,775\u201427,549\u5143\uff1b\u91ab\u7642\/\u751f\u80b26,727\u201433,633\u5143\uff1b\u5931\u696d\/\u5de5\u50b72,520\u201444,625\u5143\u3002\"], [\" within 1 business day. Meanwhile, feel free to ask Mia (bottom-right) anything about hiring in China.\", \" \u7684\u5168\u5305\u62a5\u4ef7\u53d1\u5230\u4f60\u7684\u90ae\u7bb1\u3002\u671f\u95f4\u53ef\u968f\u65f6\u95ee\u53f3\u4e0b\u89d2\u7684 Mia \u4efb\u4f55\u5728\u534e\u7528\u5de5\u95ee\u9898\u3002\", \" \u7684\u5168\u5305\u5831\u50f9\u767c\u5230\u4f60\u7684\u90f5\u7bb1\u3002\u671f\u9593\u53ef\u96a8\u6642\u554f\u53f3\u4e0b\u89d2\u7684 Mia \u4efb\u4f55\u5728\u83ef\u7528\u5de5\u554f\u984c\u3002\"], [\"What everyone sees is the salary \u2014 the employer's real burden sits below the surface.\", \"\u5927\u5bb6\u770b\u89c1\u7684\u53ea\u662f\u5de5\u8d44\u2014\u2014\u96c7\u4e3b\u7684\u771f\u5b9e\u8d1f\u62c5\u85cf\u5728\u6c34\u9762\u4e4b\u4e0b\u3002\", \"\u5927\u5bb6\u770b\u898b\u7684\u53ea\u662f\u5de5\u8cc7\u2014\u2014\u50f1\u4e3b\u7684\u771f\u5be6\u8ca0\u64d4\u85cf\u5728\u6c34\u9762\u4e4b\u4e0b\u3002\"], [\"Housing Provident Fund (HPF) \u2014 rate negotiated between employer & employee (5%\u201312%)\", \"\u4f4f\u623f\u516c\u79ef\u91d1(HPF)\u2014\u2014\u6bd4\u4f8b\u7531\u5355\u4f4d\u4e0e\u4e2a\u4eba\u534f\u5546(5%\u201312%)\", \"\u4f4f\u623f\u516c\u7a4d\u91d1(HPF)\u2014\u2014\u6bd4\u4f8b\u7531\u55ae\u4f4d\u8207\u500b\u4eba\u5354\u5546(5%\u201312%)\"], [\"\u2705 <b>Request received.<\/b> A consultant will email your tailored all-in quote for \", \"\u2705 <b>\u5df2\u6536\u5230\u8bf7\u6c42\u3002<\/b>\u987e\u95ee\u5c06\u5728 1 \u4e2a\u5de5\u4f5c\u65e5\u5185\u628a\u9488\u5bf9 \", \"\u2705 <b>\u5df2\u6536\u5230\u8acb\u6c42\u3002<\/b>\u9867\u554f\u5c07\u5728 1 \u500b\u5de5\u4f5c\u65e5\u5167\u628a\u91dd\u5c0d \"], [\" exceeds the contribution base ceiling \u2014 all schemes calculated at ceiling \u00a5\", \" \u9ad8\u4e8e\u7f34\u8d39\u57fa\u6570\u4e0a\u9650\u2014\u2014\u5404\u9669\u79cd\u7edf\u4e00\u6309\u4e0a\u9650 \u00a5\", \" \u9ad8\u65bc\u7e73\u8cbb\u57fa\u6578\u4e0a\u9650\u2014\u2014\u5404\u96aa\u7a2e\u7d71\u4e00\u6309\u4e0a\u9650 \u00a5\"], [\" is below the contribution base floor \u2014 all schemes calculated at floor \u00a5\", \" \u4f4e\u4e8e\u7f34\u8d39\u57fa\u6570\u4e0b\u9650\u2014\u2014\u5404\u9669\u79cd\u7edf\u4e00\u6309\u4e0b\u9650 \u00a5\", \" \u4f4e\u65bc\u7e73\u8cbb\u57fa\u6578\u4e0b\u9650\u2014\u2014\u5404\u96aa\u7a2e\u7d71\u4e00\u6309\u4e0b\u9650 \u00a5\"], [\"This is the statutory cost. Want the all-in number for your hires?\", \"\u8fd9\u662f\u6cd5\u5b9a\u6210\u672c\u3002\u60f3\u77e5\u9053\u96c7\u4eba\u7684\u300c\u5168\u5305\u4ef7\u300d\u5417?\", \"\u9019\u662f\u6cd5\u5b9a\u6210\u672c\u3002\u60f3\u77e5\u9053\u50f1\u4eba\u7684\u300c\u5168\u5305\u50f9\u300d\u55ce?\"], [\"Individual income tax not included \u2014 it varies with deductions\", \"\u672a\u542b\u4e2a\u4eba\u6240\u5f97\u7a0e\u2014\u2014\u56e0\u4e2a\u4eba\u4e13\u9879\u6263\u9664\u800c\u5f02\", \"\u672a\u542b\u500b\u4eba\u6240\u5f97\u7a05\u2014\u2014\u56e0\u500b\u4eba\u5c08\u9805\u6263\u9664\u800c\u7570\"], [\"China Social Insurance + Housing Provident Fund Calculator\", \"\u4e2d\u56fd\u793e\u4fdd + \u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\", \"\u4e2d\u570b\u793e\u4fdd + \u4f4f\u623f\u516c\u7a4d\u91d1\u8a08\u7b97\u5668\"], [\"Each scheme has independent contribution base limits\", \"\u5404\u9669\u79cd\u57fa\u6570\u4e0a\u4e0b\u9650\u72ec\u7acb\", \"\u5404\u96aa\u7a2e\u57fa\u6578\u4e0a\u4e0b\u9650\u7368\u7acb\"], [\"The official 2025\u201326 rates behind this calculation.\", \"\u672c\u6b21\u8ba1\u7b97\u6240\u4f9d\u636e\u7684 2025\u201326 \u5b98\u65b9\u8d39\u7387,\u9010\u9669\u79cd\u5217\u660e\u3002\", \"\u672c\u6b21\u8a08\u7b97\u6240\u4f9d\u64da\u7684 2025\u201326 \u5b98\u65b9\u8cbb\u7387,\u9010\u96aa\u7a2e\u5217\u660e\u3002\"], [\"Rate negotiated between employer & employee, 5%\u201312%\", \"\u6bd4\u4f8b\u7531\u5355\u4f4d\u4e0e\u4e2a\u4eba\u534f\u5546,5%\u201312%\", \"\u6bd4\u4f8b\u7531\u55ae\u4f4d\u8207\u500b\u4eba\u5354\u5546,5%\u201312%\"], [\"Employee: 2% + \u00a53\/mo serious illness supplement\", \"\u4e2a\u4eba 2% + \u6bcf\u6708 \u00a53 \u5927\u75c5\u8865\u5145\", \"\u500b\u4eba 2% + \u6bcf\u6708 \u00a53 \u5927\u75c5\u88dc\u5145\"], [\"Above water \u2014 employee take-home (before IIT)\", \"\u6c34\u9762\u4e0a\u2014\u2014\u5458\u5de5\u5230\u624b(\u672a\u6263\u4e2a\u7a0e)\", \"\u6c34\u9762\u4e0a\u2014\u2014\u54e1\u5de5\u5230\u624b(\u672a\u6263\u500b\u7a05)\"], [\"Industrial Park \/ SIP (Medical employer: 5%)\", \"\u5de5\u4e1a\u56ed\u533a SIP(\u5355\u4f4d\u533b\u7597 5%)\", \"\u5de5\u696d\u5712\u5340 SIP(\u55ae\u4f4d\u91ab\u7642 5%)\"], [\" contribution base ceiling \u2014 calculated at \u00a5\", \" \u7f34\u8d39\u57fa\u6570\u4e0a\u9650\u2014\u2014\u6309 \u00a5\", \" \u7e73\u8cbb\u57fa\u6578\u4e0a\u9650\u2014\u2014\u6309 \u00a5\"], [\" contribution base floor \u2014 calculated at \u00a5\", \" \u7f34\u8d39\u57fa\u6570\u4e0b\u9650\u2014\u2014\u6309 \u00a5\", \" \u7e73\u8cbb\u57fa\u6578\u4e0b\u9650\u2014\u2014\u6309 \u00a5\"], [\"At the waterline \u2014 employee contributions\", \"\u6c34\u7ebf\u5904\u2014\u2014\u5458\u5de5\u4e2a\u4eba\u7f34\u7eb3\", \"\u6c34\u7dda\u8655\u2014\u2014\u54e1\u5de5\u500b\u4eba\u7e73\u7d0d\"], [\"Below the surface \u2014 extra employer cost\", \"\u6c34\u9762\u4e0b\u2014\u2014\u96c7\u4e3b\u989d\u5916\u6210\u672c\", \"\u6c34\u9762\u4e0b\u2014\u2014\u50f1\u4e3b\u984d\u5916\u6210\u672c\"], [\"Composition of the total employer cost.\", \"\u96c7\u4e3b\u603b\u6210\u672c\u7684\u6784\u6210\u3002\", \"\u50f1\u4e3b\u7e3d\u6210\u672c\u7684\u69cb\u6210\u3002\"], [\"Employer 0.75% of base; employee exempt\", \"\u5355\u4f4d\u6309\u57fa\u6570 0.75%,\u4e2a\u4eba\u514d\u7f34\", \"\u55ae\u4f4d\u6309\u57fa\u6578 0.75%,\u500b\u4eba\u514d\u7e73\"], [\"Industry Category (Work Injury Rate)\", \"\u884c\u4e1a\u7c7b\u522b(\u5de5\u4f24\u8d39\u7387)\", \"\u884c\u696d\u985e\u5225(\u5de5\u50b7\u8cbb\u7387)\"], [\"Full rate table & contribution bases\", \"\u5b8c\u6574\u8d39\u7387\u8868\u4e0e\u7f34\u8d39\u57fa\u6570\", \"\u5b8c\u6574\u8cbb\u7387\u8868\u8207\u7e73\u8cbb\u57fa\u6578\"], [\"Basic Medical Insurance (incl. Mat.)\", \"\u57fa\u672c\u533b\u7597\u4fdd\u9669(\u542b\u751f\u80b2)\", \"\u57fa\u672c\u91ab\u7642\u4fdd\u96aa(\u542b\u751f\u80b2)\"], [\"Regular Zone (Medical employer: 7%)\", \"\u5e38\u89c4\u533a\u57df(\u5355\u4f4d\u533b\u7597 7%)\", \"\u5e38\u898f\u5340\u57df(\u55ae\u4f4d\u91ab\u7642 7%)\"], [\"+ Social insurance (employer share)\", \"+ \u793e\u4fdd(\u5355\u4f4d\u90e8\u5206)\", \"+ \u793e\u4fdd(\u55ae\u4f4d\u90e8\u5206)\"], [\"\u2212 Social insurance (employee share)\", \"\u2212 \u793e\u4fdd(\u4e2a\u4eba\u90e8\u5206)\", \"\u2212 \u793e\u4fdd(\u500b\u4eba\u90e8\u5206)\"], [\"Includes maternity insurance (0.7%)\", \"\u542b\u751f\u80b2\u4fdd\u9669(0.7%)\", \"\u542b\u751f\u80b2\u4fdd\u96aa(0.7%)\"], [\"Employer 1.5%; employee \u00a55\/mo fixed\", \"\u5355\u4f4d 1.5%,\u4e2a\u4eba\u6bcf\u6708 5 \u5143\", \"\u55ae\u4f4d 1.5%,\u500b\u4eba\u6bcf\u6708 5 \u5143\"], [\"Contribution base = monthly salary\", \"\u7f34\u8d39\u57fa\u6570 = \u6708\u85aa\", \"\u7e73\u8cbb\u57fa\u6578 = \u6708\u85aa\"], [\"Employer \u00a56.4\/mo; employee \u00a51.6\/mo\", \"\u5355\u4f4d\u6bcf\u6708 6.4 \u5143,\u4e2a\u4eba\u6bcf\u6708 1.6 \u5143\", \"\u55ae\u4f4d\u6bcf\u6708 6.4 \u5143,\u500b\u4eba\u6bcf\u6708 1.6 \u5143\"], [\"Includes maternity insurance (1%)\", \"\u542b\u751f\u80b2\u4fdd\u9669(1%)\", \"\u542b\u751f\u80b2\u4fdd\u96aa(1%)\"], [\"Employer \u00a510\/mo; employee \u00a510\/mo\", \"\u5355\u4f4d\u3001\u4e2a\u4eba\u6bcf\u6708\u5404 10 \u5143\", \"\u55ae\u4f4d\u3001\u500b\u4eba\u6bcf\u6708\u5404 10 \u5143\"], [\"Pension\/Unemployment\/Work Injury\", \"\u517b\u8001\u00b7\u5931\u4e1a\u00b7\u5de5\u4f24\", \"\u990a\u8001\u00b7\u5931\u696d\u00b7\u5de5\u50b7\"], [\"+ Housing fund (employer share)\", \"+ \u516c\u79ef\u91d1(\u5355\u4f4d\u90e8\u5206)\", \"+ \u516c\u7a4d\u91d1(\u55ae\u4f4d\u90e8\u5206)\"], [\"\u2212 Housing fund (employee share)\", \"\u2212 \u516c\u79ef\u91d1(\u4e2a\u4eba\u90e8\u5206)\", \"\u2212 \u516c\u7a4d\u91d1(\u500b\u4eba\u90e8\u5206)\"], [\"Employee \u00a57\/mo; employer exempt\", \"\u4e2a\u4eba\u6bcf\u6708 7 \u5143,\u5355\u4f4d\u514d\u7f34\", \"\u500b\u4eba\u6bcf\u6708 7 \u5143,\u55ae\u4f4d\u514d\u7e73\"], [\"Employee \u00a55\/mo; employer exempt\", \"\u4e2a\u4eba\u6bcf\u6708 5 \u5143,\u5355\u4f4d\u514d\u7f34\", \"\u500b\u4eba\u6bcf\u6708 5 \u5143,\u55ae\u4f4d\u514d\u7e73\"], [\"Monthly gross salary (RMB \u00a5)\", \"\u6708\u85aa(\u7a0e\u524d,\u4eba\u6c11\u5e01 \u00a5)\", \"\u6708\u85aa(\u7a05\u524d,\u4eba\u6c11\u5e63 \u00a5)\"], [\"Housing Provident Fund (HPF)\", \"\u4f4f\u623f\u516c\u79ef\u91d1(HPF)\", \"\u4f4f\u623f\u516c\u7a4d\u91d1(HPF)\"], [\"Includes maternity insurance\", \"\u542b\u751f\u80b2\u4fdd\u9669\", \"\u542b\u751f\u80b2\u4fdd\u96aa\"], [\"Non-Shenzhen Hukou \u2013 Tier 1\", \"\u975e\u6df1\u6237\u4e00\u6863\", \"\u975e\u6df1\u6236\u4e00\u6a94\"], [\"Non-Shenzhen Hukou \u2013 Tier 2\", \"\u975e\u6df1\u6237\u4e8c\u6863\", \"\u975e\u6df1\u6236\u4e8c\u6a94\"], [\"Shenzhen Registration Type\", \"\u6df1\u5733\u53c2\u4fdd\u6863\u4f4d\", \"\u6df1\u5733\u53c3\u4fdd\u6a94\u4f4d\"], [\"The iceberg of hiring cost\", \"\u96c7\u4f63\u6210\u672c\u51b0\u5c71\", \"\u50f1\u50ad\u6210\u672c\u51b0\u5c71\"], [\"Social Insurance Subtotal\", \"\u793e\u4fdd\u5c0f\u8ba1\", \"\u793e\u4fdd\u5c0f\u8a08\"], [\"Serious Illness Insurance\", \"\u5927\u75c5\u4fdd\u9669\", \"\u5927\u75c5\u4fdd\u96aa\"], [\"incl. \u00a53 serious illness\", \"\u542b \u00a53 \u5927\u75c5\", \"\u542b \u00a53 \u5927\u75c5\"], [\"From Jul 2025 \/ Jan 2026\", \"2025.7 \/ 2026.1 \u8d77\", \"2025.7 \/ 2026.1 \u8d77\"], [\"Unemployment\/Work Injury\", \"\u5931\u4e1a\u00b7\u5de5\u4f24\", \"\u5931\u696d\u00b7\u5de5\u50b7\"], [\"Shenzhen Hukou \u2013 Tier 1\", \"\u6df1\u6237\u4e00\u6863\", \"\u6df1\u6236\u4e00\u6a94\"], [\"What you pay (employer)\", \"\u96c7\u4e3b\u5b9e\u9645\u652f\u51fa\", \"\u50f1\u4e3b\u5be6\u969b\u652f\u51fa\"], [\"What your employee gets\", \"\u5458\u5de5\u5b9e\u9645\u6240\u5f97\", \"\u54e1\u5de5\u5be6\u969b\u6240\u5f97\"], [\"Employer Contribution (\", \"\u5355\u4f4d\u7f34\u5b58(\", \"\u55ae\u4f4d\u7e73\u5b58(\"], [\"Employee Contribution (\", \"\u4e2a\u4eba\u7f34\u5b58(\", \"\u500b\u4eba\u7e73\u5b58(\"], [\"Unemployment Insurance\", \"\u5931\u4e1a\u4fdd\u9669\", \"\u5931\u696d\u4fdd\u96aa\"], [\"Where your money goes\", \"\u94b1\u82b1\u5230\u4e86\u54ea\u91cc\", \"\u9322\u82b1\u5230\u4e86\u54ea\u88e1\"], [\"Work Injury Insurance\", \"\u5de5\u4f24\u4fdd\u9669\", \"\u5de5\u50b7\u4fdd\u96aa\"], [\"Where will you hire?\", \"\u5728\u54ea\u5ea7\u57ce\u5e02\u7528\u5de5?\", \"\u5728\u54ea\u5ea7\u57ce\u5e02\u7528\u5de5?\"], [\"Employer rate floats\", \"\u5355\u4f4d\u8d39\u7387\u6d6e\u52a8\", \"\u55ae\u4f4d\u8cbb\u7387\u6d6e\u52d5\"], [\"SIP employer rate 5%\", \"\u5de5\u4e1a\u56ed\u533a\u5355\u4f4d\u6bd4\u4f8b 5%\", \"\u5de5\u696d\u5712\u5340\u55ae\u4f4d\u6bd4\u4f8b 5%\"], [\"Get my exact quote \u2192\", \"\u83b7\u53d6\u7cbe\u786e\u62a5\u4ef7 \u2192\", \"\u7372\u53d6\u7cbe\u78ba\u5831\u50f9 \u2192\"], [\"Total employer cost\", \"\u96c7\u4e3b\u603b\u6210\u672c\", \"\u50f1\u4e3b\u7e3d\u6210\u672c\"], [\"Maternity Insurance\", \"\u751f\u80b2\u4fdd\u9669\", \"\u751f\u80b2\u4fdd\u96aa\"], [\"Jul 2025 \u2013 Jun 2026\", \"2025.7 \u2013 2026.6\", \"2025.7 \u2013 2026.6\"], [\"Oct 2025 \u2013 Dec 2026\", \"2025.10 \u2013 2026.12\", \"2025.10 \u2013 2026.12\"], [\"Employer HPF Rate\", \"\u5355\u4f4d\u516c\u79ef\u91d1\u6bd4\u4f8b\", \"\u55ae\u4f4d\u516c\u7a4d\u91d1\u6bd4\u4f8b\"], [\"Employee HPF Rate\", \"\u4e2a\u4eba\u516c\u79ef\u91d1\u6bd4\u4f8b\", \"\u500b\u4eba\u516c\u7a4d\u91d1\u6bd4\u4f8b\"], [\"Contribution Base\", \"\u7f34\u8d39\u57fa\u6570\", \"\u7e73\u8cbb\u57fa\u6578\"], [\"Pension Insurance\", \"\u517b\u8001\u4fdd\u9669\", \"\u990a\u8001\u4fdd\u96aa\"], [\"Medical Insurance\", \"\u533b\u7597\u4fdd\u9669\", \"\u91ab\u7642\u4fdd\u96aa\"], [\"Medical\/Maternity\", \"\u533b\u7597\u00b7\u751f\u80b2\", \"\u91ab\u7642\u00b7\u751f\u80b2\"], [\"\u2699\ufe0f Assumptions: \", \"\u2699\ufe0f \u9ed8\u8ba4\u5047\u8bbe:\", \"\u2699\ufe0f \u9810\u8a2d\u5047\u8a2d:\"], [\"Suzhou Zone Type\", \"\u82cf\u5dde\u533a\u57df\u7c7b\u578b\", \"\u8607\u5dde\u5340\u57df\u985e\u578b\"], [\" serious illness\", \" \u5927\u75c5\", \" \u5927\u75c5\"], [\"office industry\", \"\u529e\u516c\u7c7b\u884c\u4e1a\", \"\u8fa6\u516c\u985e\u884c\u696d\"], [\">Employer (\u00a5)<\", \">\u5355\u4f4d\u5e94\u7f34(\u00a5)<\", \">\u55ae\u4f4d\u61c9\u7e73(\u00a5)<\"], [\">Employee (\u00a5)<\", \">\u4e2a\u4eba\u5e94\u7f34(\u00a5)<\", \">\u500b\u4eba\u61c9\u7e73(\u00a5)<\"], [\" is below the \", \" \u4f4e\u4e8e\", \" \u4f4e\u65bc\"], [\" is above the \", \" \u9ad8\u4e8e\", \" \u9ad8\u65bc\"], [\">Unemployment<\", \">\u5931\u4e1a<\", \">\u5931\u696d<\"], [\" (indicative)\", \"(\u53c2\u8003)\", \"(\u53c3\u8003)\"], [\"employer load\", \"\u96c7\u4e3b\u8d1f\u62c5\", \"\u50f1\u4e3b\u8ca0\u64d4\"], [\" (before IIT)\", \"(\u672a\u6263\u4e2a\u7a0e)\", \"(\u672a\u6263\u500b\u7a05)\"], [\"From Jul 2025\", \"2025.7 \u8d77\", \"2025.7 \u8d77\"], [\">Work Injury<\", \">\u5de5\u4f24<\", \">\u5de5\u50b7<\"], [\"(indicative)\", \"(\u53c2\u8003)\", \"(\u53c3\u8003)\"], [\"Gross salary\", \"\u7a0e\u524d\u5de5\u8d44\", \"\u7a05\u524d\u5de5\u8cc7\"], [\">Employer %<\", \">\u5355\u4f4d\u6bd4\u4f8b<\", \">\u55ae\u4f4d\u6bd4\u4f8b<\"], [\">Employee %<\", \">\u4e2a\u4eba\u6bd4\u4f8b<\", \">\u500b\u4eba\u6bd4\u4f8b<\"], [\" on salary\", \"(\u5360\u5de5\u8d44)\", \"(\u4f54\u5de5\u8cc7)\"], [\">Base (\u00a5)<\", \">\u57fa\u6570(\u00a5)<\", \">\u57fa\u6578(\u00a5)<\"], [\" \u2014 adjust\", \" \u2014 \u70b9\u6b64\u8c03\u6574\", \" \u2014 \u9ede\u6b64\u8abf\u6574\"], [\">Monthly<\", \">\u6708\u5ea6<\", \">\u6708\u5ea6<\"], [\"Take-home\", \"\u5230\u624b\", \"\u5230\u624b\"], [\">Pension<\", \">\u517b\u8001<\", \">\u990a\u8001<\"], [\">Medical<\", \">\u533b\u7597<\", \">\u91ab\u7642<\"], [\"your city\", \"\u4f60\u7684\u57ce\u5e02\", \"\u4f60\u7684\u57ce\u5e02\"], [\"Guangzhou\", \"\u5e7f\u5dde\", \"\u5ee3\u5dde\"], [\"Chongqing\", \"\u91cd\u5e86\", \"\u91cd\u6176\"], [\">Annual<\", \">\u5e74\u5ea6<\", \">\u5e74\u5ea6<\"], [\">Scheme<\", \">\u9669\u79cd<\", \">\u96aa\u7a2e<\"], [\"Salary \u00a5\", \"\u5de5\u8d44 \u00a5\", \"\u5de5\u8cc7 \u00a5\"], [\"Shanghai\", \"\u4e0a\u6d77\", \"\u4e0a\u6d77\"], [\"Shenzhen\", \"\u6df1\u5733\", \"\u6df1\u5733\"], [\"Hangzhou\", \"\u676d\u5dde\", \"\u676d\u5dde\"], [\"Changsha\", \"\u957f\u6c99\", \"\u9577\u6c99\"], [\"Beijing\", \"\u5317\u4eac\", \"\u5317\u4eac\"], [\"Tianjin\", \"\u5929\u6d25\", \"\u5929\u6d25\"], [\"Chengdu\", \"\u6210\u90fd\", \"\u6210\u90fd\"], [\"Nanjing\", \"\u5357\u4eac\", \"\u5357\u4eac\"], [\"\/month\", \"\/\u6708\", \"\/\u6708\"], [\"Suzhou\", \"\u82cf\u5dde\", \"\u8607\u5dde\"], [\"\/year\", \"\/\u5e74\", \"\/\u5e74\"], [\"Wuhan\", \"\u6b66\u6c49\", \"\u6b66\u6f22\"], [\"Xi'an\", \"\u897f\u5b89\", \"\u897f\u5b89\"], [\"\/mo\", \"\/\u6708\", \"\/\u6708\"], [\"\/yr\", \"\/\u5e74\", \"\/\u5e74\"],[\"\u2014 2025\u201326 policy year\",\"\u2014 2025\u201326 \u653f\u7b56\u5e74\u5ea6\",\"\u2014 2025\u201326 \u653f\u7b56\u5e74\u5ea6\"],[\"Social insurance\",\"\u793e\u4fdd\",\"\u793e\u4fdd\"],[\"Housing fund\",\"\u516c\u79ef\u91d1\",\"\u516c\u7a4d\u91d1\"]];\nfunction applyDict(s){\n  if(OC_LANG==='en'||!s) return s;\n  const i=OC_LANG==='hans'?1:2;\n  s=s.replace(\/Category (\\d) work-injury\/g, OC_LANG==='hans'?'$1\u7c7b\u5de5\u4f24':'$1\u985e\u5de5\u50b7');\n  s=s.replace(\/Category (\\d)\/g, OC_LANG==='hans'?'$1\u7c7b':'$1\u985e');\n  s=s.replace(\/housing fund\/g, OC_LANG==='hans'?'\u516c\u79ef\u91d1':'\u516c\u7a4d\u91d1');\n  for(let k=0;k<OC_D.length;k++){ s=s.split(OC_D[k][0]).join(OC_D[k][i]); }\n  return s;\n}\nconst OC_X=applyDict;\n\n\n\/\/ \u2500\u2500 Work Injury Rate Tables \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst INDS_STD = [\n  ['Category 1 (0.2%)',0.002],['Category 2 (0.4%)',0.004],['Category 3 (0.7%)',0.007],['Category 4 (0.9%)',0.009],\n  ['Category 5 (1.1%)',0.011],['Category 6 (1.3%)',0.013],['Category 7 (1.6%)',0.016],['Category 8 (1.9%)',0.019],\n];\nconst INDS_GD = [\n  ['Category 1 (0.2%)',0.002],['Category 2 (0.4%)',0.004],['Category 3 (0.6%)',0.006],['Category 4 (0.8%)',0.008],\n  ['Category 5 (0.9%)',0.009],['Category 6 (1.0%)',0.010],['Category 7 (1.2%)',0.012],['Category 8 (1.4%)',0.014],\n];\nconst INDS_TJ = [\n  ['Category 1 (0.2%)',0.002],['Category 2 (0.4%)',0.004],['Category 3 (0.6%)',0.006],['Category 4 (0.8%)',0.008],\n  ['Category 5 (1.0%)',0.010],['Category 6 (1.2%)',0.012],['Category 7 (1.6%)',0.016],['Category 8 (2.0%)',0.020],\n];\nconst INDS_HZ = [\n  ['Category 1 (0.2%)',0.002],['Category 2 (0.4%)',0.004],['Category 3 (0.7%)',0.007],\n  ['Category 4 (0.9%)',0.009],['Category 5 (1.1%)',0.011],['Category 6 (1.3%)',0.013],['Category 7 (1.5%)',0.015],\n];\nconst INDS_SU = [\n  ['Category 1 (0.2%)',0.002],['Category 2 (0.4%)',0.004],['Category 3 (0.7%)',0.007],['Category 4 (0.9%)',0.009],\n];\nconst INDS_CQ = [\n  ['Category 1 (0.3%)',0.003],['Category 2 (0.5%)',0.005],['Category 3 (0.8%)',0.008],['Category 4 (1.0%)',0.010],\n  ['Category 5 (1.3%)',0.013],['Category 6 (1.5%)',0.015],['Category 7 (1.8%)',0.018],['Category 8 (2.2%)',0.022],\n];\nconst INDS_CS = [\n  ['Category 1 (0.6%)',0.006],['Category 2 (0.9%)',0.009],['Category 3 (1.2%)',0.012],['Category 4 (1.4%)',0.014],\n  ['Category 5 (1.7%)',0.017],['Category 6 (2.1%)',0.021],['Category 7 (2.4%)',0.024],['Category 8 (2.6%)',0.026],\n];\n\n\/\/ \u2500\u2500 City Data \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst CITY = {\n  bj:{\n    label:'Beijing', period:'From Jul 2025', bMin:7162, bMax:35811, inds:INDS_STD,\n    rows:[\n      {n:'Pension Insurance',                  cr:0.16,  er:0.08},\n      {n:'Basic Medical Insurance (incl. Mat.)',cr:0.098, er:0.02, er_extra:3, cr_note:'Employee: 2% + \u00a53\/mo serious illness supplement'},\n      {n:'Unemployment Insurance',             cr:0.005, er:0.005},\n      {n:'Work Injury Insurance',              cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20131.9%'},\n    ]\n  },\n  sh:{\n    label:'Shanghai', period:'Jul 2025 \u2013 Jun 2026', bMin:7460, bMax:37302, inds:INDS_STD,\n    rows:[\n      {n:'Pension Insurance',       cr:0.16,  er:0.08},\n      {n:'Medical Insurance',       cr:0.09,  er:0.02, cr_note:'Includes maternity insurance'},\n      {n:'Unemployment Insurance',  cr:0.005, er:0.005},\n      {n:'Work Injury Insurance',   cr:'ind', er:null, cr_note:'Employer rate floats 0.2%\u20131.9%'},\n    ]\n  },\n  gz:{\n    label:'Guangzhou', period:'Jul 2025 \u2013 Jun 2026', inds:INDS_GD,\n    bases:{\n      pension:{min:5510, max:27549, label:'Pension'},\n      medical:{min:6234, max:31179, label:'Medical'},\n      unemp:  {min:2500, max:41112, label:'Unemployment'},\n      injury: {min:2500, max:null,  label:'Work Injury'},\n    },\n    rows:[\n      {n:'Pension Insurance',       cr:0.16,   er:0.08,  bk:'pension'},\n      {n:'Medical Insurance',       cr:0.0685, er:0.02,  bk:'medical', cr_note:'Includes maternity insurance'},\n      {n:'Unemployment Insurance',  cr:0.008,  er:0.002, bk:'unemp'},\n      {n:'Work Injury Insurance',   cr:'ind',  er:null,  bk:'injury'},\n    ]\n  },\n  sz:{\n    label:'Shenzhen', period:'From Jul 2025 \/ Jan 2026', inds:INDS_GD,\n    bases:{\n      pension:{min:4775, max:27549, label:'Pension'},\n      medical:{min:6727, max:33633, label:'Medical\/Maternity'},\n      unemp:  {min:2520, max:44625, label:'Unemployment\/Work Injury'},\n    },\n    tiers:[\n      { label:'Shenzhen Hukou \u2013 Tier 1', rows:[\n        {n:'Pension Insurance',      cr:0.17,  er:0.08,  bk:'pension'},\n        {n:'Medical Insurance',      cr:0.05,  er:0.02,  bk:'medical'},\n        {n:'Maternity Insurance',    cr:0.005, er:0,     bk:'medical'},\n        {n:'Unemployment Insurance', cr:0.008, er:0.002, bk:'unemp'},\n        {n:'Work Injury Insurance',  cr:'ind', er:0,     bk:'unemp'},\n      ]},\n      { label:'Non-SZ Hukou \u2013 Tier 1', rows:[\n        {n:'Pension Insurance',      cr:0.16,  er:0.08,  bk:'pension'},\n        {n:'Medical Insurance',      cr:0.05,  er:0.02,  bk:'medical'},\n        {n:'Maternity Insurance',    cr:0.005, er:0,     bk:'medical'},\n        {n:'Unemployment Insurance', cr:0.008, er:0.002, bk:'unemp'},\n        {n:'Work Injury Insurance',  cr:'ind', er:0,     bk:'unemp'},\n      ]},\n      { label:'Non-SZ Hukou \u2013 Tier 2', rows:[\n        {n:'Pension Insurance',      cr:0.16,  er:0.08,  bk:'pension'},\n        {n:'Medical Insurance',      cr:0.015, er:0.005, bk:'medical'},\n        {n:'Maternity Insurance',    cr:0.005, er:0,     bk:'medical'},\n        {n:'Unemployment Insurance', cr:0.008, er:0.002, bk:'unemp'},\n        {n:'Work Injury Insurance',  cr:'ind', er:0,     bk:'unemp'},\n      ]},\n    ]\n  },\n  tj:{\n    label:'Tianjin', period:'Oct 2025 \u2013 Dec 2026', bMin:5124, bMax:25620, inds:INDS_TJ,\n    rows:[\n      {n:'Pension Insurance',       cr:0.16,  er:0.08},\n      {n:'Medical Insurance',       cr:0.10,  er:0.02},\n      {n:'Unemployment Insurance',  cr:0.005, er:0.005},\n      {n:'Work Injury Insurance',   cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20132%'},\n      {n:'Maternity Insurance',     cr:0.005, er:0},\n    ]\n  },\n  cd:{\n    label:'Chengdu', period:'', bMin:4588, bMax:22938, inds:INDS_STD,\n    rows:[\n      {n:'Pension Insurance',         cr:0.16,   er:0.08},\n      {n:'Medical Insurance',         cr:0.0675, er:0.02},\n      {n:'Unemployment Insurance',    cr:0.006,  er:0.004},\n      {n:'Maternity Insurance',       cr:0.008,  er:0},\n      {n:'Work Injury Insurance',     cr:'ind',  er:0, cr_note:'Employer rate floats 0.2%\u20131.9%'},\n      {n:'Serious Illness Insurance', cr_pct:0.0075, er:0, cr_note:'Employer 0.75% of base; employee exempt'},\n    ]\n  },\n  hz:{\n    label:'Hangzhou', period:'', bMin:4986, bMax:25299, inds:INDS_HZ,\n    rows:[\n      {n:'Pension Insurance',       cr:0.16,  er:0.08},\n      {n:'Medical Insurance',       cr:0.095, er:0.02, cr_note:'Includes maternity insurance'},\n      {n:'Maternity Insurance',     cr:0.008, er:0},\n      {n:'Unemployment Insurance',  cr:0.005, er:0.005},\n      {n:'Work Injury Insurance',   cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20131.5%'},\n    ]\n  },\n  cq:{\n    label:'Chongqing', period:'', bMin:4404, bMax:22017, inds:INDS_CQ,\n    rows:[\n      {n:'Pension Insurance',         cr:0.16,  er:0.08},\n      {n:'Medical Insurance',         cr:0.08,  er:0.02},\n      {n:'Serious Illness Insurance', cr:0.015, er:0, er_fixed:5, cr_note:'Employer 1.5%; employee \u00a55\/mo fixed'},\n      {n:'Unemployment Insurance',    cr:0.005, er:0.005},\n      {n:'Maternity Insurance',       cr:0.005, er:0},\n      {n:'Work Injury Insurance',     cr:'ind', er:0, cr_note:'Employer rate floats 0.3%\u20132.2%'},\n    ]\n  },\n  wh:{\n    label:'Wuhan', period:'', bMin:4498, bMax:22488, inds:INDS_STD,\n    rows:[\n      {n:'Pension Insurance',         cr:0.16,  er:0.08},\n      {n:'Medical Insurance',         cr:0.08,  er:0.02},\n      {n:'Unemployment Insurance',    cr:0.007, er:0.003},\n      {n:'Maternity Insurance',       cr:0.007, er:0},\n      {n:'Work Injury Insurance',     cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20131.9%'},\n      {n:'Serious Illness Insurance', cr:0,     er:0, er_fixed:7, cr_note:'Employee \u00a57\/mo; employer exempt'},\n    ]\n  },\n  su:{\n    label:'Suzhou', period:'', bMin:4952, bMax:24762, inds:INDS_SU,\n    zones:[\n      { label:'Regular Zone', rows:[\n        {n:'Pension Insurance',         cr:0.16,  er:0.08},\n        {n:'Medical Insurance',         cr:0.07,  er:0.02},\n        {n:'Unemployment Insurance',    cr:0.005, er:0.005},\n        {n:'Maternity Insurance',       cr:0.008, er:0},\n        {n:'Work Injury Insurance',     cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20130.9%'},\n        {n:'Serious Illness Insurance', cr:0,     er:0, er_fixed:5, cr_note:'Employee \u00a55\/mo; employer exempt'},\n      ]},\n      { label:'Industrial Park (SIP)', rows:[\n        {n:'Pension Insurance',         cr:0.16,  er:0.08},\n        {n:'Medical Insurance',         cr:0.05,  er:0.02, cr_note:'SIP employer rate 5%'},\n        {n:'Unemployment Insurance',    cr:0.005, er:0.005},\n        {n:'Maternity Insurance',       cr:0.008, er:0},\n        {n:'Work Injury Insurance',     cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20130.9%'},\n        {n:'Serious Illness Insurance', cr:0,     er:0, er_fixed:5, cr_note:'Employee \u00a55\/mo; employer exempt'},\n      ]},\n    ]\n  },\n  xa:{\n    label:\"Xi'an\", period:'', inds:INDS_STD,\n    bases:{\n      general:{min:4650, max:23250, label:'Pension\/Unemployment\/Work Injury'},\n      medical:{min:4990, max:24948, label:'Medical'},\n    },\n    rows:[\n      {n:'Pension Insurance',         cr:0.16,  er:0.08,  bk:'general'},\n      {n:'Medical Insurance',         cr:0.08,  er:0.02,  bk:'medical', cr_note:'Includes maternity insurance (1%)'},\n      {n:'Unemployment Insurance',    cr:0.007, er:0.003, bk:'general'},\n      {n:'Work Injury Insurance',     cr:'ind', er:0,     bk:'general', cr_note:'Employer rate floats 0.2%\u20131.9%'},\n      {n:'Serious Illness Insurance', cr:0,     er:0,     bk:'general', cr_fixed:6.4, er_fixed:1.6, cr_note:'Employer \u00a56.4\/mo; employee \u00a51.6\/mo'},\n    ]\n  },\n  nj:{\n    label:'Nanjing', period:'', bMin:4952, bMax:24762, inds:INDS_STD,\n    rows:[\n      {n:'Pension Insurance',         cr:0.16,  er:0.08},\n      {n:'Medical Insurance',         cr:0.07,  er:0.02},\n      {n:'Unemployment Insurance',    cr:0.005, er:0.005},\n      {n:'Maternity Insurance',       cr:0.008, er:0},\n      {n:'Work Injury Insurance',     cr:'ind', er:0, cr_note:'Employer rate floats 0.2%\u20131.9%'},\n      {n:'Serious Illness Insurance', cr:0,     er:0, cr_fixed:10, er_fixed:10, cr_note:'Employer \u00a510\/mo; employee \u00a510\/mo'},\n    ]\n  },\n  cs:{\n    label:'Changsha', period:'', bMin:4072, bMax:20361, inds:INDS_CS,\n    rows:[\n      {n:'Pension Insurance',       cr:0.16,  er:0.08},\n      {n:'Medical Insurance',       cr:0.087, er:0.02, cr_note:'Includes maternity insurance (0.7%)'},\n      {n:'Unemployment Insurance',  cr:0.007, er:0.003},\n      {n:'Work Injury Insurance',   cr:'ind', er:0, cr_note:'Employer rate floats 0.6%\u20132.6%'},\n    ]\n  },\n};\n\n\/\/ \u2500\u2500 Utilities \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction clamp(v, mn, mx){\n  if(v < mn) return {val:mn, flag:'floor'};\n  if(mx !== null && v > mx) return {val:mx, flag:'ceil'};\n  return {val:v, flag:null};\n}\nfunction isMultiCity(c){ return c==='sz'||c==='gz'||c==='xa'; }\n\nfunction onHpf(side){\n  const v = parseInt(document.getElementById('inp-hpf-'+side).value);\n  document.getElementById('lbl-hpf-'+side).textContent = v+'%';\n  document.getElementById('sv-hpf-'+side).textContent  = v+'%';\n  render();\n}\n\nfunction onCity(){\n  const c = document.getElementById('sel-city').value;\n  document.getElementById('f-tier').style.display = c==='sz' ? '' : 'none';\n  document.getElementById('f-su').style.display   = c==='su' ? '' : 'none';\n  buildInds();\n  if(indHelpOpen){ indHelpOpen=false; toggleIndHelp(); }\n  render();\n}\n\nfunction buildInds(){\n  const c = document.getElementById('sel-city').value;\n  const d = CITY[c];\n  const sel = document.getElementById('sel-ind');\n  const prev = parseInt(sel.value)||0;\n  sel.innerHTML = '';\n  d.inds.forEach(([name],i)=>{ const o=document.createElement('option'); o.value=i; o.textContent=OC_X(name); sel.appendChild(o); });\n  sel.value = Math.min(prev, d.inds.length-1);\n}\n\n\/\/ \u2500\u2500 Industry help panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst IND_DESC = {\n  STD:[\n    ['Cat. 1 (0.2%)','Software, internet, finance, education, consulting, law firms, accounting firms \u2014 pure office-based industries'],\n    ['Cat. 2 (0.4%)','Wholesale & retail, hospitality, real estate, property management, general trading companies'],\n    ['Cat. 3 (0.7%)','Light manufacturing (food, textiles, printing), electronics assembly, transportation & logistics'],\n    ['Cat. 4 (0.9%)','Machinery manufacturing, auto parts, timber processing, low-risk chemicals'],\n    ['Cat. 5 (1.1%)','Steel & non-ferrous metal smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (1.3%)','Petroleum refining, medium-risk chemicals, glass, ceramics'],\n    ['Cat. 7 (1.6%)','Coal mining, ferrous metal ore extraction, fireworks & explosives manufacturing'],\n    ['Cat. 8 (1.9%)','Asbestos & toxic mineral extraction, radioactive ore mining, and other high-risk industries'],\n  ],\n  GD:[\n    ['Cat. 1 (0.2%)','Software, internet, finance, education, consulting, law firms \u2014 pure office-based industries'],\n    ['Cat. 2 (0.4%)','Wholesale & retail, real estate, property management, general trading'],\n    ['Cat. 3 (0.6%)','Light manufacturing (food, textiles, electronics assembly), general services'],\n    ['Cat. 4 (0.8%)','Machinery manufacturing, auto parts, timber processing, transportation & logistics'],\n    ['Cat. 5 (0.9%)','Steel smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (1.0%)','Medium-risk petroleum\/chemical industry, glass, ceramics'],\n    ['Cat. 7 (1.2%)','Coal mining, medium-to-high-risk extractive industries'],\n    ['Cat. 8 (1.4%)','High-risk mining, toxic & hazardous chemicals, and other high-risk industries'],\n  ],\n  TJ:[\n    ['Cat. 1 (0.2%)','Software, internet, finance, education, consulting \u2014 pure office-based industries'],\n    ['Cat. 2 (0.4%)','Wholesale & retail, real estate, property management, general trading'],\n    ['Cat. 3 (0.6%)','Light manufacturing, food, textiles, electronics assembly'],\n    ['Cat. 4 (0.8%)','Machinery manufacturing, auto parts, transportation & logistics'],\n    ['Cat. 5 (1.0%)','Steel smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (1.2%)','Medium-risk chemicals, glass, ceramics'],\n    ['Cat. 7 (1.6%)','Coal mining, medium-to-high-risk extractive industries'],\n    ['Cat. 8 (2.0%)','High-risk mining, toxic & hazardous chemicals, and other high-risk industries'],\n  ],\n  HZ:[\n    ['Cat. 1 (0.2%)','Software, internet, finance, education, consulting \u2014 pure office-based industries'],\n    ['Cat. 2 (0.4%)','Wholesale & retail, real estate, general trading'],\n    ['Cat. 3 (0.7%)','Light manufacturing, food, textiles, electronics assembly'],\n    ['Cat. 4 (0.9%)','Machinery manufacturing, transportation & logistics'],\n    ['Cat. 5 (1.1%)','Steel smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (1.3%)','Medium-risk chemicals, glass, ceramics'],\n    ['Cat. 7 (1.5%)','Mining, high-risk manufacturing, and other high-risk industries'],\n  ],\n  SU:[\n    ['Cat. 1 (0.2%)','Software, internet, finance, education, consulting \u2014 pure office-based industries'],\n    ['Cat. 2 (0.4%)','Wholesale & retail, real estate, general services'],\n    ['Cat. 3 (0.7%)','Light manufacturing, food, textiles, electronics assembly, transportation'],\n    ['Cat. 4 (0.9%)','Machinery manufacturing, chemicals, mining, and higher-risk industries'],\n  ],\n  CQ:[\n    ['Cat. 1 (0.3%)','Software, internet, finance, education, consulting \u2014 pure office-based industries'],\n    ['Cat. 2 (0.5%)','Wholesale & retail, real estate, general trading'],\n    ['Cat. 3 (0.8%)','Light manufacturing, food, textiles, electronics assembly'],\n    ['Cat. 4 (1.0%)','Machinery manufacturing, auto parts, transportation & logistics'],\n    ['Cat. 5 (1.3%)','Steel smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (1.5%)','Medium-risk chemicals, glass, ceramics'],\n    ['Cat. 7 (1.8%)','Coal mining, medium-to-high-risk extractive industries'],\n    ['Cat. 8 (2.2%)','High-risk mining, toxic & hazardous chemicals, and other high-risk industries'],\n  ],\n  CS:[\n    ['Cat. 1 (0.6%)','Software, internet, finance, education, consulting \u2014 pure office-based industries'],\n    ['Cat. 2 (0.9%)','Wholesale & retail, real estate, general trading'],\n    ['Cat. 3 (1.2%)','Light manufacturing, food, textiles, electronics assembly'],\n    ['Cat. 4 (1.4%)','Machinery manufacturing, transportation & logistics'],\n    ['Cat. 5 (1.7%)','Steel smelting, rubber products, heavy machinery'],\n    ['Cat. 6 (2.1%)','Medium-risk chemicals, glass, ceramics'],\n    ['Cat. 7 (2.4%)','Coal mining, medium-to-high-risk extractive industries'],\n    ['Cat. 8 (2.6%)','High-risk mining, toxic & hazardous chemicals, and other high-risk industries'],\n  ],\n};\n\nfunction getCityIndKey(c){\n  if(c==='gz'||c==='sz') return 'GD';\n  if(c==='tj') return 'TJ';\n  if(c==='hz') return 'HZ';\n  if(c==='su') return 'SU';\n  if(c==='cq') return 'CQ';\n  if(c==='cs') return 'CS';\n  return 'STD';\n}\n\nlet indHelpOpen = false;\nfunction toggleIndHelp(){\n  const el = document.getElementById('ind-help');\n  indHelpOpen = !indHelpOpen;\n  if(!indHelpOpen){ el.style.display='none'; return; }\n  const c = document.getElementById('sel-city').value;\n  const key = getCityIndKey(c);\n  const rows = IND_DESC[key];\n  let html = '<strong>How to choose your industry category?<\/strong><br>The work injury insurance rate is determined by your industry\\'s risk level, and is registered by your company with the local social security bureau. Typical examples per category:';\n  html += '<table><thead><tr><th>Category<\/th><th>Typical Industries (for reference)<\/th><\/tr><\/thead><tbody>';\n  rows.forEach(([r,d])=>{ html+=`<tr><td>${r}<\/td><td>${d}<\/td><\/tr>`; });\n  html += '<\/tbody><\/table><div style=\"margin-top:6px;color:#aaa\">\u2605 When in doubt, most internet, finance, education, and consulting companies qualify for Category 1 (lowest rate).<\/div>';\n  el.innerHTML = html;\n  el.style.display = 'block';\n}\n\n\/\/ \u2500\u2500 Render \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction render(){\n  const c     = document.getElementById('sel-city').value;\n  const sal   = parseFloat(document.getElementById('inp-sal').value)||0;\n  const iIdx  = parseInt(document.getElementById('sel-ind').value)||0;\n  const hpfCR = parseInt(document.getElementById('inp-hpf-c').value)\/100;\n  const hpfER = parseInt(document.getElementById('inp-hpf-e').value)\/100;\n  const d     = CITY[c];\n  const iRate = d.inds[iIdx][1];\n  const multi = isMultiCity(c);\n  const warnEl = document.getElementById('el-warn');\n  const warnMsgs = [];\n  const capFlags = {};\n\n  function getBase(row){\n    if(!multi){\n      const r = clamp(sal, d.bMin, d.bMax);\n      if(r.flag==='floor'&&!capFlags.floor){ capFlags.floor=true; warnMsgs.push('Salary \u00a5'+sal.toLocaleString()+' is below the contribution base floor \u2014 all schemes calculated at floor \u00a5'+d.bMin.toLocaleString()); }\n      if(r.flag==='ceil' &&!capFlags.ceil ){ capFlags.ceil =true; warnMsgs.push('Salary \u00a5'+sal.toLocaleString()+' exceeds the contribution base ceiling \u2014 all schemes calculated at ceiling \u00a5'+d.bMax.toLocaleString()); }\n      return {val:r.val, flag:r.flag, bMin:d.bMin, bMax:d.bMax, bLabel:''};\n    } else {\n      const bDef = d.bases[row.bk||Object.keys(d.bases)[0]];\n      const r = clamp(sal, bDef.min, bDef.max);\n      return {val:r.val, flag:r.flag, bMin:bDef.min, bMax:bDef.max, bLabel:bDef.label};\n    }\n  }\n\n  function computeRows(rows){\n    return rows.map(row=>{\n      if(row.cr_fixed!==undefined||row.er_fixed!==undefined){\n        return {row, base:null, baseFlag:null, bMin:null, bMax:null, bLabel:'',\n                cr:0, ca:row.cr_fixed||0, ea:row.er_fixed||0, extra:0, isInd:false, isFixed:true};\n      }\n      if(row.cr_pct!==undefined){\n        const b = getBase(row);\n        const ca = Math.round(b.val * row.cr_pct * 100)\/100;\n        return {row, base:b.val, baseFlag:b.flag, bMin:b.bMin, bMax:b.bMax, bLabel:b.bLabel,\n                cr:row.cr_pct, ca, ea:0, extra:0, isInd:false, isFixed:false, isPct:true};\n      }\n      if(row.er_fixed!==undefined && row.cr!==undefined && row.cr!==0){\n        const b = getBase(row);\n        const cr2 = row.cr==='ind' ? iRate : row.cr;\n        const ca2 = Math.round(b.val * cr2 * 100)\/100;\n        return {row, base:b.val, baseFlag:b.flag, bMin:b.bMin, bMax:b.bMax, bLabel:b.bLabel,\n                cr:cr2, ca:ca2, ea:row.er_fixed, extra:0, isInd:row.cr==='ind', isFixed:false, mixFixed:true};\n      }\n      const b  = getBase(row);\n      const cr = row.cr==='ind' ? iRate : row.cr;\n      const ca = Math.round(b.val * cr * 100)\/100;\n      const ea = row.er===null ? null : Math.round(b.val * row.er * 100)\/100;\n      const extra = row.er_extra||0;\n      return {row, base:b.val, baseFlag:b.flag, bMin:b.bMin, bMax:b.bMax, bLabel:b.bLabel,\n              cr, ca, ea:ea===null?null:ea+extra, extra, isInd:row.cr==='ind', isFixed:false};\n    });\n  }\n\n  let html='', rows, cT, eT;\n\n  if(c==='sz'){\n    const tIdx = parseInt(document.getElementById('sel-tier').value)||0;\n    const tier = CITY.sz.tiers[tIdx];\n    rows = computeRows(tier.rows);\n    ({cT,eT} = totals(rows));\n    showCaps(warnEl, rows, sal, true);\n    html += buildTable('Shenzhen \u00b7 '+tier.label, CITY.sz.period, rows, cT, eT, iRate, true);\n  } else if(c==='su'){\n    const zIdx = parseInt(document.getElementById('sel-su').value)||0;\n    const zone = CITY.su.zones[zIdx];\n    rows = computeRows(zone.rows);\n    ({cT,eT} = totals(rows));\n    if(warnMsgs.length){warnEl.style.display='block';warnEl.innerHTML=OC_X(warnMsgs.map(w=>'\u26a0 '+w).join('<br>'));}else warnEl.style.display='none';\n    html += buildTable('Suzhou \u00b7 '+zone.label, d.period, rows, cT, eT, iRate, false);\n  } else {\n    rows = computeRows(d.rows);\n    ({cT,eT} = totals(rows));\n    if(multi) showCaps(warnEl, rows, sal, true);\n    else { if(warnMsgs.length){warnEl.style.display='block';warnEl.innerHTML=OC_X(warnMsgs.map(w=>'\u26a0 '+w).join('<br>'));}else warnEl.style.display='none'; }\n    html += buildTable(d.label, d.period, rows, cT, eT, iRate, multi);\n  }\n\n  const hpfC  = Math.round(sal * hpfCR * 100)\/100;\n  const hpfE  = Math.round(sal * hpfER * 100)\/100;\n  const hpfT  = Math.round((hpfC+hpfE)*100)\/100;\n  html += buildHpfCard(sal, hpfCR, hpfER, hpfC, hpfE, hpfT);\n\n  const totalC = Math.round((cT + hpfC)*100)\/100;\n  const employerCost = Math.round((sal + totalC)*100)\/100;\n  const totalE = Math.round((eT + hpfE)*100)\/100;\n  const takeHome = Math.round((sal - totalE)*100)\/100;\n  \/\/ v2: answer-first output \u2014 hero, bar, split panels; detail table folds away\n  window.__oc = {city:d.label, sal, employerCost, takeHome, totalC, cT, eT, hpfC, hpfE,\n                 ind:d.inds[iIdx][0], hpfCR, hpfER};\n  const asEl = document.getElementById('oc-assump');\n  if(asEl) asEl.textContent = OC_X(d.inds[iIdx][0].replace(\/\\s*\\(\/,' work-injury (') + ' \u00b7 housing fund ' + (hpfCR*100).toFixed(0) + '% + ' + (hpfER*100).toFixed(0) + '%');\n  let out = buildHero(sal, employerCost, totalC)\n          + buildViz(sal, cT, eT, hpfC, hpfE, employerCost, takeHome)\n          + buildSplit(sal, cT, eT, hpfC, hpfE, employerCost, takeHome)\n          + '<div class=\"oc-rates\"><div class=\"oc-rates-h\"><span class=\"oc-rates-t\">\ud83d\udccb Full rate table & contribution bases<\/span><span class=\"oc-rates-s\">The official 2025\u201326 rates behind this calculation.<\/span><\/div><div class=\"oc-rates-body\">'\n          + html + buildFoot(c) + '<\/div><\/div>';\n  document.getElementById('el-out').innerHTML = OC_X(out);\n}\n\nfunction totals(rows){\n  let cT=0, eT=0;\n  rows.forEach(r=>{ cT+=r.ca; if(r.ea!==null) eT+=r.ea; });\n  cT=Math.round(cT*100)\/100; eT=Math.round(eT*100)\/100;\n  return {cT, eT};\n}\n\nfunction showCaps(el, rows, sal, isM){\n  if(!isM){el.style.display='none';return;}\n  const caps=[], seen=new Set();\n  rows.forEach(r=>{\n    if(r.baseFlag&&!seen.has(r.bLabel)){\n      seen.add(r.bLabel);\n      const dir = r.baseFlag==='floor' ? 'below' : 'above';\n      const lim = r.baseFlag==='floor' ? 'floor' : 'ceiling';\n      const amt = r.baseFlag==='floor' ? r.bMin : r.bMax;\n      caps.push('Salary \u00a5'+sal.toLocaleString()+' is '+dir+' the '+r.bLabel+' contribution base '+lim+' \u2014 calculated at \u00a5'+amt.toLocaleString());\n    }\n  });\n  if(caps.length){el.style.display='block';el.innerHTML=OC_X(caps.map(w=>'\u26a0 '+w).join('<br>'));}\n  else el.style.display='none';\n}\n\nfunction buildTable(label, period, rows, cT, eT, iRate, isM){\n  let h=`<div class=\"result-card\"><div class=\"card-head\"><span>${label}<\/span>`;\n  if(period) h+=`<span class=\"badge\">${period}<\/span>`;\n  if(isM) h+='<span class=\"badge-note\">Each scheme has independent contribution base limits<\/span>';\n  h+=`<\/div><div class=\"tbl-wrap\"><table><thead><tr>\n    <th style=\"width:28%\">Scheme<\/th>\n    <th style=\"width:16%\" class=\"r\">Base (\u00a5)<\/th>\n    <th style=\"width:13%\" class=\"r\">Employer %<\/th>\n    <th style=\"width:14%\" class=\"r\">Employer (\u00a5)<\/th>\n    <th style=\"width:11%\" class=\"r\">Employee %<\/th>\n    <th style=\"width:18%\" class=\"r\">Employee (\u00a5)<\/th>\n  <\/tr><\/thead><tbody>`;\n\n  rows.forEach(r=>{\n    let crStr, erStr, baseCell, eaCell;\n    if(r.isFixed){\n      crStr    = r.row.cr_fixed ? '\u00a5'+r.row.cr_fixed+'\/mo' : '<span class=\"dash\">\u2014<\/span>';\n      erStr    = r.row.er_fixed ? '\u00a5'+r.row.er_fixed+'\/mo' : '<span class=\"dash\">\u2014<\/span>';\n      baseCell = '<span class=\"dash\">\u2014<\/span>';\n      eaCell   = (r.ea>0) ? r.ea.toFixed(2) : '<span class=\"dash\">\u2014<\/span>';\n    } else if(r.mixFixed){\n      crStr    = (r.cr*100).toFixed(2)+'%';\n      erStr    = '\u00a5'+r.row.er_fixed+'\/mo';\n      baseCell = r.base.toLocaleString();\n      eaCell   = r.ea.toFixed(2);\n    } else {\n      crStr    = r.isPct ? (r.cr*100).toFixed(2)+'%' : r.isInd ? (r.cr*100).toFixed(2)+'%' : (r.row.cr*100).toFixed(2)+'%';\n      erStr    = r.row.er===null ? '<span class=\"dash\">\u2014<\/span>' : (r.row.er*100).toFixed(2)+'%';\n      baseCell = r.base===null ? '<span class=\"dash\">\u2014<\/span>' : r.base.toLocaleString();\n      if(r.baseFlag==='floor') baseCell+='<span class=\"capped\"> \u2191floor<\/span>';\n      else if(r.baseFlag==='ceil') baseCell+='<span class=\"capped\"> \u2193ceiling<\/span>';\n      if(r.ea===null)    eaCell='<span class=\"dash\">\u2014<\/span>';\n      else if(r.extra>0) eaCell=r.ea.toFixed(2)+'<span class=\"sub\">incl. \u00a5'+r.extra+' serious illness<\/span>';\n      else               eaCell=r.ea.toFixed(2);\n    }\n    const note = r.row.cr_note ? `<span class=\"sub\">${r.row.cr_note}<\/span>` : '';\n    h+=`<tr><td>${r.row.n}${note}<\/td><td class=\"r\">${baseCell}<\/td><td class=\"r\">${crStr}<\/td><td class=\"r\">${r.ca.toFixed(2)}<\/td><td class=\"r\">${erStr}<\/td><td class=\"r\">${eaCell}<\/td><\/tr>`;\n  });\n\n  h+=`<tr class=\"tot\"><td colspan=\"3\">Social Insurance Subtotal<\/td><td class=\"r\">${cT.toFixed(2)}<\/td><td><\/td><td class=\"r\">${eT.toFixed(2)}<\/td><\/tr><\/tbody><\/table><\/div><\/div>`;\n  return h;\n}\n\nfunction buildHpfCard(sal, hpfCR, hpfER, hpfC, hpfE, hpfT){\n  return `<div class=\"result-card\">\n    <div class=\"card-head\">\n      <span>Housing Provident Fund (HPF)<\/span>\n      <span class=\"badge-green\">Contribution base = monthly salary<\/span>\n      <span class=\"badge-note\">Rate negotiated between employer & employee, 5%\u201312%<\/span>\n    <\/div>\n    <div class=\"hpf-body\">\n      <div class=\"hpf-grid\">\n        <div class=\"hpf-item\">\n          <div class=\"lbl\">Contribution Base<\/div>\n          <div class=\"val\">\u00a5 ${sal.toLocaleString()}<\/div>\n        <\/div>\n        <div class=\"hpf-item\">\n          <div class=\"lbl\">Employer Contribution (${(hpfCR*100).toFixed(0)}%)<\/div>\n          <div class=\"val\">\u00a5 ${hpfC.toFixed(2)}<\/div>\n        <\/div>\n        <div class=\"hpf-item\">\n          <div class=\"lbl\">Employee Contribution (${(hpfER*100).toFixed(0)}%)<\/div>\n          <div class=\"val\">\u00a5 ${hpfE.toFixed(2)}<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"hpf-note\">\u2605 In practice, the HPF contribution base is based on the prior year's average monthly salary and may be subject to local upper\/lower limits. This calculator uses current gross salary as the base for reference only.<\/div>\n    <\/div>\n  <\/div>`;\n}\n\nconst FOOT_NOTES = {\n  bj:'Beijing (from Jul 2025): Unified contribution base \u00a57,162\u2013\u00a535,811. Work injury rate floats 0.2%\u20131.9%. Employee medical includes \u00a53\/mo serious illness supplement.',\n  sh:'Shanghai (Jul 2025 \u2013 Jun 2026): Unified base \u00a57,460\u2013\u00a537,302. Work injury rate floats 0.2%\u20131.9%. Medical insurance includes maternity.',\n  gz:'Guangzhou (Jul 2025 \u2013 Jun 2026): Pension base \u00a55,510\u2013\u00a527,549; Medical \u00a56,234\u2013\u00a531,179; Unemployment \u00a52,500\u2013\u00a541,112; Work injury floor \u00a52,500 (no ceiling). Medical includes maternity.',\n  sz:'Shenzhen: Pension base \u00a54,775\u2013\u00a527,549; Medical\/Maternity \u00a56,727\u2013\u00a533,633; Unemployment\/Work Injury \u00a52,520\u2013\u00a544,625.',\n  tj:\"Tianjin (Oct 2025 \u2013 Dec 2026): Unified base \u00a55,124\u2013\u00a525,620. Work injury rate floats 0.2%\u20132%. Employer pays maternity; employee exempt.\",\n  cd:'Chengdu: Unified base \u00a54,588\u2013\u00a522,938. Work injury rate floats 0.2%\u20131.9%. Serious illness insurance: employer 0.75% of base; employee exempt.',\n  hz:'Hangzhou: Unified base \u00a54,986\u2013\u00a525,299. Work injury rate floats 0.2%\u20131.5%. Medical (9.5%) includes maternity; separate maternity scheme at 0.8%.',\n  cq:'Chongqing: Unified base \u00a54,404\u2013\u00a522,017. Work injury rate floats 0.3%\u20132.2%. Serious illness: employer 1.5% + employee \u00a55\/mo fixed.',\n  wh:'Wuhan: Unified base \u00a54,498\u2013\u00a522,488. Work injury rate floats 0.2%\u20131.9%. Serious illness insurance: employee \u00a57\/mo; employer exempt.',\n  su:\"Suzhou: Unified base \u00a54,952\u2013\u00a524,762. Work injury rate floats 0.2%\u20130.9%. Serious illness: employee \u00a55\/mo. Regular zone employer medical 7%; SIP (Industrial Park) employer medical 5%.\",\n  xa:\"Xi'an: Pension\/unemployment\/work injury base \u00a54,650\u2013\u00a523,250; Medical base \u00a54,990\u2013\u00a524,948. Medical includes maternity (1%). Serious illness: employer \u00a56.4\/mo + employee \u00a51.6\/mo.\",\n  nj:'Nanjing: Unified base \u00a54,952\u2013\u00a524,762. Work injury rate floats 0.2%\u20131.9%. Serious illness: employer \u00a510\/mo + employee \u00a510\/mo.',\n  cs:'Changsha: Unified base \u00a54,072\u2013\u00a520,361. Work injury rate floats 0.6%\u20132.6%. Medical (8.7%) includes maternity insurance (0.7%).',\n};\nfunction buildFoot(c){\n  return `<div class=\"foot\">\n    <span>\u2605 ${FOOT_NOTES[c]||''}<\/span>\n    <span>\u2605 All figures are for reference only. Actual rates are subject to official announcements from local social security bureaus. Work injury rates shown are benchmark rates and may be adjusted by the bureau based on the employer's injury record.<\/span>\n    <span>\u2605 The HPF contribution rate (5%\u201312%) is negotiated between the employer and employee. The actual contribution base is based on the prior year's average monthly salary, and some cities set monthly contribution caps. Please verify with your local HPF management centre.<\/span>\n  <\/div>`;\n}\n\n\/\/ \u2500\u2500 v2 renderers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst OC_USD = 0.140;   \/\/ indicative RMB\u2192USD, update occasionally\nlet OC_VIEW = 'm';      \/\/ m = monthly, y = annual\nfunction ocMoney(v){ return '\u00a5' + v.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}); }\nfunction ocMoney2(v){ return '\u00a5 ' + v.toLocaleString('en-US',{minimumFractionDigits:2,maximumFractionDigits:2}); }\nfunction ocView(v){ OC_VIEW=v; render(); }\n\nfunction buildHero(sal, employerCost, totalC){\n  const mult = OC_VIEW==='y' ? 12 : 1;\n  const unit = OC_VIEW==='y' ? '\/year' : '\/month';\n  const pct  = sal>0 ? (totalC\/sal*100) : 0;\n  const usd  = employerCost*mult*OC_USD;\n  const ratio = sal>0 ? (employerCost\/sal) : 0;\n  const cityT = OC_X(window.__oc.city);\n  let sub;\n  if(OC_LANG==='hans'){\n    sub = `\u5728<b>${cityT}<\/b>\u53d1 <b>${ocMoney(sal)}<\/b> \u6708\u85aa,\u5b9e\u9645\u652f\u51fa <b>${ocMoney(employerCost)}<\/b> \u2014\u2014 \u6bcf\u53d1 1 \u5143\u5de5\u8d44\u8981\u82b1 <b>${ratio.toFixed(2)} \u5143<\/b>(\u96c7\u4e3b\u8d1f\u62c5 +${pct.toFixed(1)}%) \u00b7 \u2248 <b>US$${Math.round(usd).toLocaleString()}<\/b>${OC_VIEW==='y'?'\/\u5e74':'\/\u6708'} <span style=\"opacity:.7\">(\u53c2\u8003)<\/span>`;\n  } else if(OC_LANG==='hant'){\n    sub = `\u5728<b>${cityT}<\/b>\u767c <b>${ocMoney(sal)}<\/b> \u6708\u85aa,\u5be6\u969b\u652f\u51fa <b>${ocMoney(employerCost)}<\/b> \u2014\u2014 \u6bcf\u767c 1 \u5143\u5de5\u8cc7\u8981\u82b1 <b>${ratio.toFixed(2)} \u5143<\/b>(\u50f1\u4e3b\u8ca0\u64d4 +${pct.toFixed(1)}%) \u00b7 \u2248 <b>US$${Math.round(usd).toLocaleString()}<\/b>${OC_VIEW==='y'?'\/\u5e74':'\/\u6708'} <span style=\"opacity:.7\">(\u53c3\u8003)<\/span>`;\n  } else {\n    sub = `To pay a <b>${ocMoney(sal)}<\/b> gross salary in <b>${window.__oc.city}<\/b>, you actually spend <b>${ocMoney(employerCost)}<\/b> \u2014 that's <b>\u00a5${ratio.toFixed(2)} for every \u00a51<\/b> of salary (+${pct.toFixed(1)}% employer load) &nbsp;\u00b7&nbsp; \u2248 <b>US$${Math.round(usd).toLocaleString()}<\/b>${unit} <span style=\"opacity:.7\">(indicative)<\/span>`;\n  }\n  return `<div class=\"oc-hero\">\n    <div class=\"oc-hero-top\">\n      <span class=\"oc-hero-label\">Total employer cost \u00b7 ${cityT}<\/span>\n      <span class=\"oc-view\">\n        <button type=\"button\" class=\"${OC_VIEW==='m'?'on':''}\" onclick=\"ocView('m')\">Monthly<\/button>\n        <button type=\"button\" class=\"${OC_VIEW==='y'?'on':''}\" onclick=\"ocView('y')\">Annual<\/button>\n      <\/span>\n    <\/div>\n    <div class=\"oc-hero-num\">${ocMoney(employerCost*mult)}<span style=\"font-size:.42em;font-weight:600;opacity:.85\"> ${unit}<\/span><\/div>\n    <div class=\"oc-hero-sub\">${sub}<\/div>\n  <\/div>`;\n}\n\nfunction buildViz(sal, cT, eT, hpfC, hpfE, employerCost, takeHome){\n  const m = OC_VIEW==='y' ? 12 : 1;\n  const empDed = Math.round((eT+hpfE)*100)\/100;      \/\/ \u5458\u5de5\u6263\u7f34\n  const hidden = Math.round((cT+hpfC)*100)\/100;      \/\/ \u96c7\u4e3b\u9690\u85cf\u6210\u672c\n  const hidPct = sal>0 ? (hidden\/sal*100).toFixed(1) : '0';\n  \/\/ \u73af\u5f62:\u96c7\u4e3b\u603b\u6210\u672c\u6784\u6210\n  const p = v => employerCost>0 ? Math.max(0.5, v\/employerCost*100) : 0;\n  const p1=p(sal), p2=p(cT), p3=Math.max(0, 100-p1-p2);\n  const donut = `\n  <svg width=\"150\" height=\"150\" viewBox=\"0 0 150 150\" role=\"img\" aria-label=\"Employer cost composition\">\n    <circle cx=\"75\" cy=\"75\" r=\"56\" fill=\"none\" stroke=\"#e7f0fb\" stroke-width=\"22\"\/>\n    <circle cx=\"75\" cy=\"75\" r=\"56\" fill=\"none\" stroke=\"#4574c9\" stroke-width=\"22\" pathLength=\"100\"\n      stroke-dasharray=\"${p1} ${100-p1}\" stroke-dashoffset=\"25\" transform=\"rotate(0 75 75)\"\/>\n    <circle cx=\"75\" cy=\"75\" r=\"56\" fill=\"none\" stroke=\"#1aa06a\" stroke-width=\"22\" pathLength=\"100\"\n      stroke-dasharray=\"${p2} ${100-p2}\" stroke-dashoffset=\"${25-p1}\"\/>\n    <circle cx=\"75\" cy=\"75\" r=\"56\" fill=\"none\" stroke=\"#0053c8\" stroke-width=\"22\" pathLength=\"100\"\n      stroke-dasharray=\"${p3} ${100-p3}\" stroke-dashoffset=\"${25-p1-p2}\"\/>\n    <text x=\"75\" y=\"70\" text-anchor=\"middle\" font-size=\"17\" font-weight=\"800\" fill=\"#22344E\">+${hidPct}%<\/text>\n    <text x=\"75\" y=\"88\" text-anchor=\"middle\" font-size=\"10\" fill=\"#6B7A90\">employer load<\/text>\n  <\/svg>`;\n  \/\/ \u51b0\u5c71 v2:\u6df1\u6d77\u6e10\u53d8\u886c\u6258\u767d\u8272\u51b0\u5c71,\u6c34\u4e0b\u51b0\u4f53\u534a\u900f\u660e\u6d45\u84dd,\u5bf9\u6bd4\u6e05\u6670\n  const berg = `\n  <svg width=\"190\" height=\"200\" viewBox=\"0 0 190 200\" role=\"img\" aria-label=\"Iceberg of hiring cost\">\n    <defs>\n      <linearGradient id=\"ocSky\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n        <stop offset=\"0\" stop-color=\"#eaf4fe\"\/><stop offset=\"1\" stop-color=\"#cfe4f9\"\/>\n      <\/linearGradient>\n      <linearGradient id=\"ocSea\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n        <stop offset=\"0\" stop-color=\"#5d8cc7\"\/><stop offset=\"1\" stop-color=\"#2c5290\"\/>\n      <\/linearGradient>\n      <clipPath id=\"ocClip\"><rect x=\"0\" y=\"0\" width=\"190\" height=\"200\" rx=\"14\"\/><\/clipPath>\n    <\/defs>\n    <g clip-path=\"url(#ocClip)\">\n      <rect x=\"0\" y=\"0\" width=\"190\" height=\"78\" fill=\"url(#ocSky)\"\/>\n      <rect x=\"0\" y=\"76\" width=\"190\" height=\"124\" fill=\"url(#ocSea)\"\/>\n      <rect x=\"0\" y=\"74\" width=\"190\" height=\"3\" fill=\"#ffffff\" opacity=\".7\"\/>\n      <path d=\"M14 96 q7 -5 14 0 q7 5 14 0\" stroke=\"#ffffff\" stroke-width=\"1.6\" fill=\"none\" opacity=\".35\"\/>\n      <path d=\"M148 88 q7 -5 14 0 q7 5 14 0\" stroke=\"#ffffff\" stroke-width=\"1.6\" fill=\"none\" opacity=\".3\"\/>\n      <polygon points=\"95,16 130,76 60,76\" fill=\"#ffffff\" stroke=\"#9cbfe4\" stroke-width=\"1\"\/>\n      <polygon points=\"95,16 112,48 78,54\" fill=\"#e2eefb\"\/>\n      <polygon points=\"112,48 130,76 95,76\" fill=\"#cadff4\"\/>\n      <polygon points=\"60,76 130,76 142,112 102,184 66,132\" fill=\"#bdd7f1\" opacity=\".85\"\/>\n      <polygon points=\"95,76 130,76 142,112 102,184\" fill=\"#8fb4de\" opacity=\".8\"\/>\n      <polygon points=\"66,132 102,184 78,120\" fill=\"#d8e8f8\" opacity=\".55\"\/>\n      <path d=\"M34 150 c6 -6 14 -6 18 0 c-4 6 -12 6 -18 0 z M52 148 l7 -5 v10 z\" fill=\"#1f3d6b\" opacity=\".55\"\/>\n      <path d=\"M150 132 c5 -5 12 -5 15 0 c-3 5 -10 5 -15 0 z M165 130 l6 -4 v8 z\" fill=\"#1f3d6b\" opacity=\".5\"\/>\n      <circle cx=\"118\" cy=\"40\" r=\"3.4\" fill=\"#e8930c\"\/>\n      <line x1=\"118\" y1=\"40\" x2=\"182\" y2=\"40\" stroke=\"#e8930c\" stroke-width=\"1.7\" stroke-dasharray=\"3 3\"\/>\n      <circle cx=\"126\" cy=\"94\" r=\"3.4\" fill=\"#ffd28a\"\/>\n      <line x1=\"126\" y1=\"94\" x2=\"182\" y2=\"94\" stroke=\"#ffd28a\" stroke-width=\"1.7\" stroke-dasharray=\"3 3\"\/>\n      <circle cx=\"108\" cy=\"158\" r=\"3.4\" fill=\"#ffd28a\"\/>\n      <line x1=\"108\" y1=\"158\" x2=\"182\" y2=\"158\" stroke=\"#ffd28a\" stroke-width=\"1.7\" stroke-dasharray=\"3 3\"\/>\n    <\/g>\n  <\/svg>`;\n  return `<div class=\"oc-viz\">\n    <div class=\"oc-vcard\">\n      <div class=\"oc-vh\">The iceberg of hiring cost<\/div>\n      <div class=\"oc-vs\">What everyone sees is the salary \u2014 the employer's real burden sits below the surface.<\/div>\n      <div class=\"oc-berg\">\n        ${berg}\n        <div class=\"oc-blab\">\n          <div class=\"oc-bl sky\"><div class=\"t\">Above water \u2014 employee take-home (before IIT)<\/div><div class=\"v\">${ocMoney(takeHome*m)}<\/div><\/div>\n          <div class=\"oc-bl line\"><div class=\"t\">At the waterline \u2014 employee contributions<\/div><div class=\"v\">${ocMoney(empDed*m)}<\/div><\/div>\n          <div class=\"oc-bl deep\"><div class=\"t\">Below the surface \u2014 extra employer cost<\/div><div class=\"v\">${ocMoney(hidden*m)} <span style=\"font-size:11.5px;font-weight:600;color:#6B7A90\">= +${hidPct}% on salary<\/span><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"oc-vcard\">\n      <div class=\"oc-vh\">Where your money goes<\/div>\n      <div class=\"oc-vs\">Composition of the total employer cost.<\/div>\n      <div class=\"oc-donut\">\n        ${donut}\n        <div class=\"oc-dleg\">\n          <span><i class=\"oc-dot\" style=\"background:#4574c9\"><\/i>Gross salary <b>${ocMoney(sal*m)}<\/b><\/span>\n          <span><i class=\"oc-dot\" style=\"background:#1aa06a\"><\/i>Social insurance <b>${ocMoney(cT*m)}<\/b><\/span>\n          <span><i class=\"oc-dot\" style=\"background:#0053c8\"><\/i>Housing fund <b>${ocMoney(hpfC*m)}<\/b><\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>`;\n}\n\nfunction buildSplit(sal, cT, eT, hpfC, hpfE, employerCost, takeHome){\n  const m = OC_VIEW==='y' ? 12 : 1;\n  const u = OC_VIEW==='y' ? '\/yr' : '\/mo';\n  return `<div class=\"oc-split\">\n    <div class=\"oc-panel emp\">\n      <div class=\"oc-panel-h\"><span class=\"oc-ico\">\ud83c\udfe2<\/span> What you pay (employer)<\/div>\n      <div class=\"oc-row\"><span>Gross salary<\/span><span>${ocMoney2(sal*m)}<\/span><\/div>\n      <div class=\"oc-row plus\"><span>+ Social insurance (employer share)<\/span><span>${ocMoney2(cT*m)}<\/span><\/div>\n      <div class=\"oc-row plus\"><span>+ Housing fund (employer share)<\/span><span>${ocMoney2(hpfC*m)}<\/span><\/div>\n      <div class=\"oc-total\"><span>Total employer cost ${u}<\/span><span>${ocMoney2(employerCost*m)}<\/span><\/div>\n    <\/div>\n    <div class=\"oc-panel stf\">\n      <div class=\"oc-panel-h\"><span class=\"oc-ico\">\ud83d\udc64<\/span> What your employee gets<\/div>\n      <div class=\"oc-row\"><span>Gross salary<\/span><span>${ocMoney2(sal*m)}<\/span><\/div>\n      <div class=\"oc-row minus\"><span>\u2212 Social insurance (employee share)<\/span><span>${ocMoney2(eT*m)}<\/span><\/div>\n      <div class=\"oc-row minus\"><span>\u2212 Housing fund (employee share)<\/span><span>${ocMoney2(hpfE*m)}<\/span><\/div>\n      <div class=\"oc-total\"><span>Take-home ${u} (before IIT)<\/span><span>${ocMoney2(takeHome*m)}<\/span><\/div>\n      <span class=\"oc-tag\">Individual income tax not included \u2014 it varies with deductions<\/span>\n    <\/div>\n  <\/div>`;\n}\n\nfunction ocLead(){\n  const email = (document.getElementById('oc-email').value||'').trim();\n  const hp    = (document.getElementById('oc-web').value||'').trim();\n  const btn   = document.getElementById('oc-btn');\n  if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/.test(email)){ alert(OC_LANG==='hans'?'\u8bf7\u8f93\u5165\u6709\u6548\u7684\u5de5\u4f5c\u90ae\u7bb1\u3002':OC_LANG==='hant'?'\u8acb\u8f38\u5165\u6709\u6548\u7684\u5de5\u4f5c\u90f5\u7bb1\u3002':'Please enter a valid work email.'); return; }\n  const st = window.__oc || {};\n  btn.disabled = true; btn.textContent = OC_LANG==='hans'?'\u53d1\u9001\u4e2d\u2026':OC_LANG==='hant'?'\u767c\u9001\u4e2d\u2026':'Sending\u2026';\n  fetch('https:\/\/zhixin.xlh1997.com\/o2c\/calc-lead', {\n    method:'POST', headers:{'Content-Type':'application\/json'},\n    body: JSON.stringify({ email:email, website:hp, city:st.city||'', salary:st.sal||0,\n      industry:st.ind||'', employer_cost:st.employerCost||0, take_home:st.takeHome||0,\n      hpf:( (st.hpfCR*100)||0 )+'% \/ '+( (st.hpfER*100)||0 )+'%',\n      page:'social-insurance-calculator' })\n  }).then(r=>r.json()).then(j=>{\n    if(j && j.ok){\n      document.getElementById('oc-cta').innerHTML =\n        OC_X('<div class=\"oc-cta-ok\">\u2705 <b>Request received.<\/b> A consultant will email your tailored all-in quote for '\n        + (st.city||'your city') + ' within 1 business day. Meanwhile, feel free to ask Mia (bottom-right) anything about hiring in China.<\/div>');\n    } else { throw new Error((j&&j.error)||'failed'); }\n  }).catch(e=>{\n    btn.disabled=false; btn.textContent=OC_X('Get my exact quote \u2192');\n    alert('Sorry, something went wrong ('+e.message+'). You can also reach us via the \"Get a free quote\" button at the top of the page.');\n  });\n}\n\nif(OC_LANG!=='en'){\n  const _c=document.getElementById('o2c-calc');\n  if(_c){ _c.innerHTML = applyDict(_c.innerHTML); }\n}\nbuildInds();\nrender();\n\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Managing \"Five Insurances and One Fund\" is Critical for Global Enterprises<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Navigating the Chinese labor market requires more than just understanding a gross salary figure. For overseas companies, the \"Five Insurances and One Fund\" represent a significant portion of the total cost of employment and a complex compliance landscape.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. The True Cost: The 35% Employer Load<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In China, the employer\u2019s contribution to social security and housing funds is a mandatory overhead. On average, an employer should budget an additional <strong>30% to 40%<\/strong> on top of the employee's gross monthly salary to cover these statutory benefits. Failing to account for this \"employer load\" can lead to significant budget deficits during market entry.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Annual Policy Updates (The July Cycle)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Major municipalities like Shanghai and Beijing typically update their contribution base \"ceilings\" and \"floors\" every <strong>July<\/strong>. Even if an employee's salary remains the same, your total cost of employment may fluctuate due to these mandatory adjustments. Our calculator is updated with the <strong>2025-2026 data<\/strong> to reflect the most current thresholds.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Geographic Complexity<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">China does not have a single national rate. Contribution structures vary by city. For instance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shenzhen<\/strong> has different tiers based on the employee's <em>Hukou<\/em> (household registration).<\/li>\n\n\n\n<li><strong>Shanghai<\/strong> and <strong>Beijing<\/strong> have unified bases but different medical and serious illness supplement rates.<\/li>\n\n\n\n<li><strong>Suzhou<\/strong> offers different rates for companies located within the Industrial Park (SIP) versus other zones.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Compliance and Talent Retention<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Accurate calculation is not just about math; it\u2019s about legal safety. Under-contributing can lead to labor disputes, high penalties, and a damaged reputation. Conversely, offering a transparent breakdown of \"Net Take-home Pay\" vs. \"Gross Salary\" is a powerful tool for recruiting top-tier Chinese talent who value these social benefits.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Optimise Your China HR Strategy with Out2China<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Calculating costs is only the first step of your Inbound-China journey. Designing a competitive compensation package that balances global standards with local expectations requires specialized expertise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Out2China<\/strong> provides end-to-end HR and payroll solutions for international firms, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Localised Compensation Benchmarking:<\/strong> Understand what your competitors are paying.<\/li>\n\n\n\n<li><strong>Labor Contract Compliance:<\/strong> Drafting localized contracts that protect your interests.<\/li>\n\n\n\n<li><strong>Cross-border Payroll &amp; Tax Planning:<\/strong> Streamlining the path from your headquarters to your local team\u2019s bank accounts.<\/li>\n<\/ul>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How much does it cost an employer to hire someone in China on top of salary?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Employers should budget an additional 30 %\u201340 % on top of the employee's gross monthly salary to cover China's mandatory 'Five Insurances and One Fund' (\u4e94\u9669\u4e00\u91d1). The exact percentage depends on the city, the chosen Housing Provident Fund rate (5 %\u201312 %), and the employee's industry risk category. Use the calculator on this page to get an exact breakdown for 13 major cities.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What are the 'Five Insurances and One Fund' in China?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The 'Five Insurances' are: Pension Insurance (retirement), Medical Insurance (healthcare), Unemployment Insurance, Work Injury Insurance, and Maternity Insurance. The 'One Fund' is the Housing Provident Fund (HPF), a compulsory savings account for home purchases or rentals. Together they form China's statutory social security system, commonly called \u4e94\u9669\u4e00\u91d1 (w\u01d4 xi\u01cen y\u012b j\u012bn).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Do China social insurance rates differ between cities like Beijing, Shanghai, and Shenzhen?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, there is no single national rate. Beijing's employer total is approximately 37 % of gross salary, Shanghai's is around 35 %, and Shenzhen's can be as low as 30 % depending on the employee's Hukou tier. Suzhou further distinguishes between companies inside the Industrial Park (SIP) and those in regular zones. Rates are updated every July.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"When do China social insurance contribution bases update each year?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Major cities such as Beijing and Shanghai typically adjust their salary 'ceiling' and 'floor' thresholds every July. Even if an employee's salary stays the same, the total cost of employment may change because the contribution base limits shift. The calculator on this page uses the most current 2025-2026 policy year data.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the Housing Provident Fund rate in China and can employers choose how much to contribute?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The Housing Provident Fund (HPF) rate is flexible within a government-set band, typically 5 % to 12 % of the employee's capped salary. Both employer and employee contribute the same percentage. Most companies default to 5 % to minimise cost, but offering a higher HPF rate is a common strategy for attracting top talent.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens if a foreign company in China under-contributes to social insurance?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Under-contributing is a compliance violation that can trigger back-payment orders, penalty interest, labour arbitration cases filed by employees, and reputational damage. Chinese labour bureaus conduct periodic audits, and employees can also file complaints directly. Accurate calculation and timely contribution are essential to avoid legal risk.\"\n      }\n    }\n  ]\n}\n<\/script>\n\n<div style=\"margin:48px 0 36px 0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\">\n  <h2 style=\"font-size:24px;font-weight:800;color:#0D4F3C;margin:0 0 28px 0;line-height:1.3;\">Frequently Asked Questions<\/h2>\n\n  <!-- FAQ 1 -->\n  <div style=\"margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8E4DA;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">How much does it cost an employer to hire someone in China on top of salary?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      Employers should budget an additional <strong>30 %\u201340 %<\/strong> on top of the employee's gross monthly salary to cover China's mandatory \"Five Insurances and One Fund.\" The exact percentage depends on the city, the chosen Housing Provident Fund rate (5 %\u201312 %), and the employee's industry risk category. Use the <a href=\"#calculator\" style=\"color:#0D4F3C;text-decoration:underline;\">calculator above<\/a> to get an exact breakdown for 13 major cities.\n    <\/p>\n  <\/div>\n\n  <!-- FAQ 2 -->\n  <div style=\"margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8E4DA;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">What are the \"Five Insurances and One Fund\" (\u4e94\u9669\u4e00\u91d1) in China?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      The \"Five Insurances\" are Pension, Medical, Unemployment, Work Injury, and Maternity Insurance. The \"One Fund\" is the Housing Provident Fund (HPF) \u2014 a compulsory savings account for home purchases or rentals. Together they form China's statutory social security system. For a full explanation of each component, see the <a href=\"#five-insurances\" style=\"color:#0D4F3C;text-decoration:underline;\">breakdown section<\/a> of this article.\n    <\/p>\n  <\/div>\n\n  <!-- FAQ 3 -->\n  <div style=\"margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8E4DA;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">Do social insurance rates differ between Beijing, Shanghai, and Shenzhen?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      Yes \u2014 there is no single national rate. Beijing's employer total is roughly <strong>37 %<\/strong>, Shanghai's is around <strong>35 %<\/strong>, and Shenzhen can be as low as <strong>30 %<\/strong> depending on the employee's Hukou tier. Suzhou further distinguishes between the Industrial Park (SIP) zone and regular zones. See the <a href=\"#geographic-complexity\" style=\"color:#0D4F3C;text-decoration:underline;\">Geographic Complexity<\/a> section for details.\n    <\/p>\n  <\/div>\n\n  <!-- FAQ 4 -->\n  <div style=\"margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8E4DA;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">When do China social insurance contribution bases update each year?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      Major cities typically adjust their salary \"ceiling\" and \"floor\" thresholds every <strong>July<\/strong>. Even if an employee's salary remains unchanged, total employment cost may shift because the base limits are recalculated. This calculator uses the latest <strong>2025-2026 policy year<\/strong> data \u2014 learn more in the <a href=\"#annual-policy-updates\" style=\"color:#0D4F3C;text-decoration:underline;\">Annual Policy Updates<\/a> section.\n    <\/p>\n  <\/div>\n\n  <!-- FAQ 5 -->\n  <div style=\"margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #E8E4DA;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">What is the Housing Provident Fund rate and can employers choose how much to contribute?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      The HPF rate is flexible within a government-set band \u2014 typically <strong>5 % to 12 %<\/strong> of the employee's capped salary. Both employer and employee contribute the same percentage. Most companies default to 5 %, but offering a higher rate is a proven strategy for attracting top talent. Adjust the HPF slider in the <a href=\"#calculator\" style=\"color:#0D4F3C;text-decoration:underline;\">calculator<\/a> to see the impact on total cost.\n    <\/p>\n  <\/div>\n\n  <!-- FAQ 6 -->\n  <div style=\"margin-bottom:0;\">\n    <h3 style=\"font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 8px 0;line-height:1.4;\">What happens if a foreign company in China under-contributes to social insurance?<\/h3>\n    <p style=\"font-size:15px;color:#444;margin:0;line-height:1.75;\">\n      Under-contributing is a compliance violation that can trigger back-payment orders, penalty interest, and labour arbitration cases. Chinese labour bureaus conduct periodic audits, and employees can file complaints directly. Read the <a href=\"#compliance-and-talent-retention\" style=\"color:#0D4F3C;text-decoration:underline;\">Compliance &amp; Talent Retention<\/a> section for risk-mitigation strategies.\n    <\/p>\n  <\/div>\n<\/div>\n\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button open-modal\"><a class=\"wp-block-button__link wp-element-button\"><strong>Contact an Out2China Consultant Today<\/strong><\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Last updated: April 28, 2026 \u00b7 Reviewed by Out2China Payroll &amp; Compliance Team Quick Answer Employers in China must budget an additional 30 %\u201340 % on top of every employee's gross monthly salary to cover mandatory \"Five Insurances and One Fund\" (\u4e94\u9669\u4e00\u91d1) contributions \u2014 that is the single most important number for any overseas company [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1293,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[88,89],"class_list":["post-1291","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-recruitment-and-employment","tag-china-social-insurance","tag-housing-fund"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated) - Out2China<\/title>\n<meta name=\"description\" content=\"Use the professional China Social Security Calculator to determine the Five Insurances and One Fund costs in Beijing, Shanghai, and more. Essential for HR compliance and financial planning.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/out2china.com\/zh\/\u4e2d\u56fd\u793e\u4fdd\u548c\u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated) - Out2China\" \/>\n<meta property=\"og:description\" content=\"Use the professional China Social Security Calculator to determine the Five Insurances and One Fund costs in Beijing, Shanghai, and more. Essential for HR compliance and financial planning.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/out2china.com\/zh\/\u4e2d\u56fd\u793e\u4fdd\u548c\u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\/\" \/>\n<meta property=\"og:site_name\" content=\"Out2China\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-23T06:02:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-17T15:06:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Out2China\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Out2China\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/\"},\"author\":{\"name\":\"Out2China\",\"@id\":\"https:\\\/\\\/out2china.com\\\/#\\\/schema\\\/person\\\/a2f1eb32a06c230823edbd17f9c177fe\"},\"headline\":\"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated)\",\"datePublished\":\"2026-04-23T06:02:46+00:00\",\"dateModified\":\"2026-07-17T15:06:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/\"},\"wordCount\":1201,\"image\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/out2china.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png\",\"keywords\":[\"China Social Insurance\",\"Housing Fund\"],\"articleSection\":[\"Recruitment and Employment\"],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/\",\"url\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/\",\"name\":\"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated) - Out2China\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/out2china.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png\",\"datePublished\":\"2026-04-23T06:02:46+00:00\",\"dateModified\":\"2026-07-17T15:06:33+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/#\\\/schema\\\/person\\\/a2f1eb32a06c230823edbd17f9c177fe\"},\"description\":\"Use the professional China Social Security Calculator to determine the Five Insurances and One Fund costs in Beijing, Shanghai, and more. Essential for HR compliance and financial planning.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/out2china.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png\",\"contentUrl\":\"https:\\\/\\\/out2china.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/out2china.com\\\/china-social-insurance-and-housing-provident-fund-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/out2china.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/out2china.com\\\/#website\",\"url\":\"https:\\\/\\\/out2china.com\\\/\",\"name\":\"Out2China\",\"description\":\"A professional human resources partner for global companies in China\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/out2china.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/out2china.com\\\/#\\\/schema\\\/person\\\/a2f1eb32a06c230823edbd17f9c177fe\",\"name\":\"Out2China\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g\",\"caption\":\"Out2China\"},\"sameAs\":[\"https:\\\/\\\/out2china.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u4e2d\u56fd\u793e\u4fdd\u4e0e\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\uff082026\u5e74\u66f4\u65b0\uff09- Out2China","description":"\u4f7f\u7528\u4e13\u4e1a\u7684\u4e2d\u56fd\u793e\u4fdd\u8ba1\u7b97\u5668\uff0c\u786e\u5b9a\u5317\u4eac\u3001\u4e0a\u6d77\u7b49\u5730\u7684\u4e94\u9669\u4e00\u91d1\u8d39\u7528\u3002\u5bf9\u4e8e\u4eba\u529b\u8d44\u6e90\u5408\u89c4\u548c\u8d22\u52a1\u89c4\u5212\u81f3\u5173\u91cd\u8981\u3002.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/out2china.com\/zh\/\u4e2d\u56fd\u793e\u4fdd\u548c\u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\/","og_locale":"zh_CN","og_type":"article","og_title":"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated) - Out2China","og_description":"Use the professional China Social Security Calculator to determine the Five Insurances and One Fund costs in Beijing, Shanghai, and more. Essential for HR compliance and financial planning.","og_url":"https:\/\/out2china.com\/zh\/\u4e2d\u56fd\u793e\u4fdd\u548c\u4f4f\u623f\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\/","og_site_name":"Out2China","article_published_time":"2026-04-23T06:02:46+00:00","article_modified_time":"2026-07-17T15:06:33+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png","type":"image\/png"}],"author":"Out2China","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Out2China","Est. reading time":"6 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#article","isPartOf":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/"},"author":{"name":"Out2China","@id":"https:\/\/out2china.com\/#\/schema\/person\/a2f1eb32a06c230823edbd17f9c177fe"},"headline":"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated)","datePublished":"2026-04-23T06:02:46+00:00","dateModified":"2026-07-17T15:06:33+00:00","mainEntityOfPage":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/"},"wordCount":1201,"image":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png","keywords":["China Social Insurance","Housing Fund"],"articleSection":["Recruitment and Employment"],"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/","url":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/","name":"\u4e2d\u56fd\u793e\u4fdd\u4e0e\u516c\u79ef\u91d1\u8ba1\u7b97\u5668\uff082026\u5e74\u66f4\u65b0\uff09- Out2China","isPartOf":{"@id":"https:\/\/out2china.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#primaryimage"},"image":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png","datePublished":"2026-04-23T06:02:46+00:00","dateModified":"2026-07-17T15:06:33+00:00","author":{"@id":"https:\/\/out2china.com\/#\/schema\/person\/a2f1eb32a06c230823edbd17f9c177fe"},"description":"\u4f7f\u7528\u4e13\u4e1a\u7684\u4e2d\u56fd\u793e\u4fdd\u8ba1\u7b97\u5668\uff0c\u786e\u5b9a\u5317\u4eac\u3001\u4e0a\u6d77\u7b49\u5730\u7684\u4e94\u9669\u4e00\u91d1\u8d39\u7528\u3002\u5bf9\u4e8e\u4eba\u529b\u8d44\u6e90\u5408\u89c4\u548c\u8d22\u52a1\u89c4\u5212\u81f3\u5173\u91cd\u8981\u3002.","breadcrumb":{"@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#primaryimage","url":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png","contentUrl":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/out2china.com\/china-social-insurance-and-housing-provident-fund-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/out2china.com\/"},{"@type":"ListItem","position":2,"name":"China Social Insurance &amp; Housing Provident Fund Calculator (2026 Updated)"}]},{"@type":"WebSite","@id":"https:\/\/out2china.com\/#website","url":"https:\/\/out2china.com\/","name":"\u76f4\u8fbe\u4e2d\u56fd","description":"\u4e2d\u56fd\u5168\u7403\u5316\u516c\u53f8\u7684\u4e13\u4e1a\u4eba\u529b\u8d44\u6e90\u5408\u4f5c\u4f19\u4f34","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/out2china.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/out2china.com\/#\/schema\/person\/a2f1eb32a06c230823edbd17f9c177fe","name":"\u76f4\u8fbe\u4e2d\u56fd","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/secure.gravatar.com\/avatar\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bd37c80c37f7bf71531c85499e5023e1832dd18ffbbeaeb3de975544347b1f51?s=96&d=mm&r=g","caption":"Out2China"},"sameAs":["https:\/\/out2china.com"]}]}},"featured_image_src":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9-600x400.png","featured_image_src_square":"https:\/\/out2china.com\/wp-content\/uploads\/2026\/04\/China-AI-Industry-Strategic-Policy-Investment-Activity-and-Market-Openness-9-600x600.png","author_info":{"display_name":"Out2China","author_link":"https:\/\/out2china.com\/zh\/author\/str1dev\/"},"_links":{"self":[{"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/posts\/1291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/comments?post=1291"}],"version-history":[{"count":8,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/posts\/1291\/revisions"}],"predecessor-version":[{"id":1445,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/posts\/1291\/revisions\/1445"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/media\/1293"}],"wp:attachment":[{"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/media?parent=1291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/categories?post=1291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/out2china.com\/zh\/wp-json\/wp\/v2\/tags?post=1291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}