{"id":2652,"date":"2026-07-01T19:53:53","date_gmt":"2026-07-01T17:53:53","guid":{"rendered":"https:\/\/www.auditia.ma\/simulateur-ras\/"},"modified":"2026-07-01T19:53:53","modified_gmt":"2026-07-01T17:53:53","slug":"withholding-tax-simulator","status":"publish","type":"page","link":"https:\/\/www.auditia.ma\/en\/withholding-tax-simulator\/","title":{"rendered":"Withholding Tax Simulator"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2652\" class=\"elementor elementor-2652\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-079d37b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"079d37b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-370a914\" data-id=\"370a914\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-52682ed elementor-widget elementor-widget-html\" data-id=\"52682ed\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n  \n  \n  #simu-ras{--brand:        #0049FF;   \n    --brand-2:      #0035BE;   \n    --accent:       #06ED06;   \n    --accent-2:     #5CFF5C;   \n    --ink:          #0A1633;\n    --muted:        #5A6A85;\n    --line:         #E2E7F5;\n    --bg:           #F3F6FF;\n    --card:         #FFFFFF;\n    --tva:          #0049FF;   \n    --tva-tint:     #E7EDFF;\n    --ht:           #0BA00B;   \n    --ht-tint:      #E7FBE7;\n    --both:         #5B34D6;   \n    --both-tint:    #ECE7FB;\n    --warn:         #E08A1E;   \n    --warn-tint:    #FCF2E0;\n    --radius:       18px;\n    --shadow:       0 12px 40px rgba(0,73,255,.16);\n    --shadow-sm:    0 4px 16px rgba(0,73,255,.10);\n    --font:         'Inter', 'Segoe UI', system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;\n    --font-head:    'Gilroy', 'Inter', 'Segoe UI', system-ui, sans-serif;}\n\n  #simu-ras *{box-sizing:border-box;margin:0;padding:0}\n  #simu-ras .card-head h1,#simu-ras .q-title,#simu-ras .verdict h2{font-family:var(--font-head)}\n  #simu-ras{-webkit-text-size-adjust:100%}\n  #simu-ras{font-family:var(--font);\n    color:var(--ink);\n    background:transparent;\n    line-height:1.5;\n    padding:0;}\n  #simu-ras .wrap{max-width:880px;margin:0 auto}\n  @media (min-width:1025px){#simu-ras .wrap{max-width:1200px}}\n\n  \n  #simu-ras .top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}\n  #simu-ras .brand{display:flex;align-items:center;gap:12px}\n  #simu-ras .brand-logo{height:46px;width:auto;display:block}\n  #simu-ras .tag{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;\n    color:var(--brand);background:#fff;border:1px solid var(--line);\n    padding:7px 12px;border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;}\n\n  \n  #simu-ras .card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);\n    overflow:hidden;border:1px solid rgba(11,46,79,.06);}\n  #simu-ras .card-head{padding:26px 28px 24px;\n    background:var(--brand);\n    color:#fff;position:relative;}\n  #simu-ras .card-head::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:4px;\n    background:var(--accent);}\n  #simu-ras .eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}\n  #simu-ras .card-head h1{font-size:23px;font-weight:700;letter-spacing:-.3px;line-height:1.25}\n  #simu-ras .card-head p{margin-top:8px;font-size:14px;color:rgba(255,255,255,.82);max-width:56ch}\n\n  \n  #simu-ras .progress{display:flex;align-items:center;gap:8px;padding:18px 28px 4px}\n  #simu-ras .step-dot{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600}\n  #simu-ras .step-dot .num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;\n    background:var(--line);color:var(--muted);font-size:12px;font-weight:800;transition:.25s;}\n  #simu-ras .step-dot.active .num{background:var(--brand);color:#fff}\n  #simu-ras .step-dot.done .num{background:var(--ht);color:#fff}\n  #simu-ras .step-dot.active{color:var(--brand)}\n  #simu-ras .bar{flex:1;height:2px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}\n  #simu-ras .bar>i{position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left;transform:scaleX(0);transition:transform .4s ease}\n\n  \n  #simu-ras .step{padding:24px 28px 30px;display:none;animation:fade .35s ease}\n  #simu-ras .step.show{display:block}\n  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}\n  #simu-ras .q-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-2);margin-bottom:6px}\n  #simu-ras .q-title{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.2px;margin-bottom:4px}\n  #simu-ras .q-help{font-size:13.5px;color:var(--muted);margin-bottom:18px}\n\n  \n  #simu-ras .scope{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}\n  #simu-ras .scope-card{background:var(--tva-tint);border:1px solid var(--line);border-radius:12px;padding:14px 16px}\n  #simu-ras .scope-card h4{font-size:13.5px;font-weight:800;color:var(--brand);margin-bottom:5px;line-height:1.35}\n  #simu-ras .scope-card p{font-size:12.5px;color:var(--muted);line-height:1.5}\n  #simu-ras .thresholds{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}\n  #simu-ras .th{background:var(--brand);border-radius:12px;padding:14px 10px;text-align:center;color:#fff}\n  #simu-ras .th b{display:block;font-size:19px;font-weight:800;letter-spacing:-.4px;line-height:1.1}\n  #simu-ras .th small{display:block;margin-top:8px;font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.3px;line-height:1.2}\n  @media (max-width:520px){\n    #simu-ras .scope{grid-template-columns:1fr}\n    #simu-ras .thresholds{grid-template-columns:1fr;gap:8px}\n    #simu-ras .th{display:flex;align-items:baseline;justify-content:center;gap:8px}\n    #simu-ras .th b{font-size:17px}\n    #simu-ras .th small{margin-top:0}\n  }\n\n  #simu-ras .options{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}\n  #simu-ras .opt{position:relative;white-space:normal;min-width:0;\n    display:flex;align-items:center;gap:14px;width:100%;text-align:left;\n    background:#fff;border:1.5px solid var(--line);border-radius:14px;\n    padding:16px 20px 16px 18px;cursor:pointer;font-family:inherit;\n    transition:border-color .18s, box-shadow .18s, transform .12s, background .18s;}\n  \n  #simu-ras .opt::after{content:\"\";position:absolute;right:9px;top:50%;\n    width:9px;height:9px;border-right:2.5px solid var(--brand);border-top:2.5px solid var(--brand);\n    transform:translateY(-50%) rotate(45deg) translateX(-4px);\n    opacity:0;transition:opacity .18s, transform .18s;}\n  #simu-ras .opt:hover{border-color:var(--brand);background:#F7F9FF;\n    box-shadow:0 8px 22px rgba(0,73,255,.16);transform:translateY(-2px);}\n  #simu-ras .opt:hover::after{opacity:1;transform:translateY(-50%) rotate(45deg) translateX(0)}\n  #simu-ras .opt:active{transform:translateY(0);box-shadow:0 3px 10px rgba(0,73,255,.18);background:#EEF3FF}\n  #simu-ras .opt:focus-visible{outline:3px solid rgba(0,73,255,.35);outline-offset:2px}\n  #simu-ras .opt .ic{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;\n    background:var(--tva-tint);color:var(--brand);font-size:20px;\n    border:1px solid rgba(0,73,255,.14);transition:.18s;}\n  #simu-ras .opt:hover .ic{background:#DCE5FF;border-color:rgba(0,73,255,.35);transform:scale(1.06)}\n  \n  #simu-ras .opt .ic.g{background:var(--ht-tint);border-color:rgba(11,160,11,.20);color:var(--ht)}\n  #simu-ras .opt:hover .ic.g{background:#D6F7D6}\n  #simu-ras .opt .ic.o{background:var(--warn-tint);border-color:rgba(224,138,30,.22);color:var(--warn)}\n  #simu-ras .opt:hover .ic.o{background:#FBE9CC}\n  #simu-ras .opt .ic.p{background:var(--both-tint);border-color:rgba(91,52,214,.20);color:var(--both)}\n  #simu-ras .opt:hover .ic.p{background:#E2D9F9}\n  #simu-ras .opt .ic svg{width:22px;height:22px;display:block;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}\n  #simu-ras .opt .txt b{display:block;font-size:15.5px;color:var(--ink);font-weight:700;margin-bottom:2px}\n  #simu-ras .opt .txt small{font-size:13px;color:var(--muted);line-height:1.45}\n\n  #simu-ras .back{margin-top:20px;background:none;border:none;color:var(--muted);font-family:inherit;\n    font-size:13.5px;font-weight:600;cursor:pointer;padding:8px 4px;display:inline-flex;align-items:center;gap:6px;}\n  #simu-ras .back:hover{color:var(--brand)}\n\n  \n  #simu-ras .result{padding:28px;display:none;animation:fade .4s ease}\n  #simu-ras .result.show{display:block}\n  #simu-ras .verdict{border-radius:16px;padding:24px;position:relative;overflow:hidden;\n    border:1.5px solid;}\n  #simu-ras .verdict h2{font-size:21px;font-weight:800;letter-spacing:-.3px;margin-bottom:6px;display:flex;align-items:center;gap:10px}\n  #simu-ras .verdict .sub{font-size:14px;color:var(--muted);margin-bottom:18px}\n  #simu-ras .badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}\n  #simu-ras .badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;\n    padding:9px 14px;border-radius:999px;color:#fff;}\n  #simu-ras .badge .r{font-weight:800;opacity:.9}\n  #simu-ras .b-tva{background:var(--tva)} #simu-ras .b-ht{background:var(--ht)} #simu-ras .b-warn{background:var(--warn)} #simu-ras .b-none{background:var(--muted)}\n\n  #simu-ras .detail{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}\n  #simu-ras .detail-row{display:flex;gap:14px;padding:13px 16px;font-size:13.5px;border-bottom:1px solid var(--line)}\n  #simu-ras .detail-row:last-child{border-bottom:none}\n  #simu-ras .detail-row .k{flex:none;width:120px;color:var(--muted);font-weight:600}\n  #simu-ras .detail-row .v{color:var(--ink)}\n  #simu-ras .detail-row .v b{color:var(--brand)}\n\n  #simu-ras .note{font-size:13px;color:var(--brand-2);background:var(--tva-tint);\n    border-left:3px solid var(--tva);border-radius:0 10px 10px 0;padding:12px 15px;margin-bottom:6px;}\n  #simu-ras .note.ht{background:var(--ht-tint);border-color:var(--ht);color:#0a6e3d}\n  #simu-ras .note.warn{background:var(--warn-tint);border-color:var(--warn);color:#8a5111}\n\n  #simu-ras .restart{margin-top:22px;width:100%;background:var(--brand);color:#fff;border:none;\n    font-family:inherit;font-size:15px;font-weight:700;padding:15px;border-radius:12px;cursor:pointer;\n    transition:.18s;display:flex;align-items:center;justify-content:center;gap:8px;}\n  #simu-ras .restart:hover{background:var(--brand-2)}\n  #simu-ras .restart:focus-visible{outline:3px solid rgba(23,182,167,.45);outline-offset:2px}\n\n  \n  #simu-ras .disclaimer{font-size:12px;color:var(--muted);line-height:1.55;margin-top:16px;\n    background:#fff;border:1px dashed var(--line);border-radius:12px;padding:14px 16px;}\n  #simu-ras .disclaimer b{color:var(--brand)}\n  #simu-ras .foot{text-align:center;margin-top:22px;font-size:12px;color:var(--muted)}\n  #simu-ras .foot b{color:var(--brand)} #simu-ras .foot span{color:var(--accent)}\n\n  @media (max-width:520px){\n    #simu-ras .card-head h1{font-size:20px}\n    #simu-ras .progress{padding:16px 18px 2px;gap:5px}\n    #simu-ras .step-dot .lbl{display:none}\n    #simu-ras .step, #simu-ras .result, #simu-ras .card-head{padding-left:20px;padding-right:20px}\n    #simu-ras .detail-row{flex-direction:column;gap:2px}\n    #simu-ras .detail-row .k{width:auto}\n  }\n  @media (prefers-reduced-motion:reduce){#simu-ras *{animation:none!important;transition:none!important}}\n<\/style>\n<div id=\"simu-ras\" class=\"simu-ras-embed\">\n<div class=\"wrap\">\n\n\n  <div class=\"card\">\n    <div class=\"card-head\">\n      <div class=\"eyebrow\">Withholding tax<\/div>\n      <h1>Services&nbsp;: am I subject to withholding tax on the amount excluding VAT, withholding on the VAT, or both&nbsp;?<\/h1>\n      <p>Answer a few questions about your service. The simulator shows you the withholdings that may apply.<\/p>\n    <\/div>\n\n    <!-- Progress -->\n    <div class=\"progress\" id=\"progress\">\n      <div class=\"step-dot active\" data-s=\"0\"><span class=\"num\">1<\/span><span class=\"lbl\">Profile<\/span><\/div>\n      <div class=\"bar\"><i id=\"bar0\"><\/i><\/div>\n      <div class=\"step-dot\" data-s=\"1\"><span class=\"num\">2<\/span><span class=\"lbl\">Service provider<\/span><\/div>\n      <div class=\"bar\"><i id=\"barP\"><\/i><\/div>\n      <div class=\"step-dot\" data-s=\"2\"><span class=\"num\">3<\/span><span class=\"lbl\">Nature<\/span><\/div>\n      <div class=\"bar\"><i id=\"bar1\"><\/i><\/div>\n      <div class=\"step-dot\" data-s=\"3\"><span class=\"num\">4<\/span><span class=\"lbl\">Clarification<\/span><\/div>\n      <div class=\"bar\"><i id=\"bar2\"><\/i><\/div>\n      <div class=\"step-dot\" data-s=\"4\"><span class=\"num\">5<\/span><span class=\"lbl\">Result<\/span><\/div>\n    <\/div>\n\n    <!-- STEP 0 : Profil du client (champ d'application) -->\n    <div class=\"step show\" id=\"step_profil\">\n      <div class=\"q-label\">Step 1 \/ 3 \u2014 Scope<\/div>\n      <div class=\"q-title\">Who pays the remuneration (the client&nbsp;\/&nbsp;debtor)?<\/div>\n      <div class=\"q-help\">The withholding at source is applied by the client paying for the service. First check whether they fall within its scope.<\/div>\n\n      <div class=\"scope\">\n        <div class=\"scope-card\">\n          <h4>Entity 1 \u2014 State, public institutions and their subsidiaries, credit institutions and insurance companies<\/h4>\n          <p>No turnover threshold condition. Liable from the 1<sup>st<\/sup> July 2026.<\/p>\n        <\/div>\n        <div class=\"scope-card\">\n          <h4>Entity 2 \u2014 Private companies<\/h4>\n          <p>Based on a progressive revenue threshold excluding VAT (below).<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"thresholds\">\n        <div class=\"th\"><b>500 M DH<\/b><small>Revenue excl. VAT \u00b7 July 1, 2026<\/small><\/div>\n        <div class=\"th\"><b>350 M DH<\/b><small>Revenue excl. VAT \u00b7 July 1, 2027<\/small><\/div>\n        <div class=\"th\"><b>200 M DH<\/b><small>Revenue excl. VAT \u00b7 July 1, 2028<\/small><\/div>\n      <\/div>\n\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"pickProfil('entite1')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><path d=\"M3 21h18M5 21V9l7-5 7 5v12M9 21v-6h6v6\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>State, public sector, credit or insurance<\/b><small>Liable with no threshold condition.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"pickProfil('prive_oui')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 12h15M13 6l6 6-6 6\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Private company above the threshold<\/b><small>Turnover excl. VAT \u2265 the threshold applicable on the date in force.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"pickProfil('prive_non')\">\n          <span class=\"ic o\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M6 6l12 12\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Private company below the threshold<\/b><small>Revenue (excl. VAT) below the applicable threshold.<\/small><\/span>\n        <\/button>\n      <\/div>\n    <\/div>\n\n    <!-- STEP : Statut du prestataire -->\n    <div class=\"step\" id=\"step_prestataire\">\n      <div class=\"q-label\">Step 2 \/ 4 \u2014 Service provider status<\/div>\n      <div class=\"q-title\">Is the service provider a natural person or a legal entity?<\/div>\n      <div class=\"q-help\">For an individual whose income is determined under the RNR or RNS regime, the withholding on the amount excluding VAT of intellectual services is increased to 10% (instead of 5%).<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"pickPrestataire('morale')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 21V5a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16M15 9h4a1 1 0 0 1 1 1v11M8 8h3M8 12h3M8 16h3\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Legal entity<\/b><small>Company subject to corporate tax (IS) or income tax (IR) (SARL, SA, SAS\u2026). 5% withholding on the amount excluding VAT.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"pickPrestataire('physique')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 21a8 8 0 0 1 16 0\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Individual (RNR \/ RNS)<\/b><small>Service provider whose income falls under the RNR or RNS regime. Withholding of 10 % on the amount excluding VAT.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"gotoProfil()\">\u2190 Back to scope<\/button>\n    <\/div>\n\n    <!-- STEP 1 -->\n    <div class=\"step\" id=\"step0\">\n      <div class=\"q-label\">Step 3 \/ 4 \u2014 Question 1 \/ 2<\/div>\n      <div class=\"q-title\">What is the nature of your service?<\/div>\n      <div class=\"q-help\">Choose the category that best matches the invoiced activity.<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"pick(0,'intello')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><path d=\"M9 3a2.5 2.5 0 0 0-2.5 2.5A2.5 2.5 0 0 0 4 8a2.5 2.5 0 0 0 1 2 2.5 2.5 0 0 0 0 4 2.5 2.5 0 0 0 2 4 2 2 0 0 0 3-1.5V4.5A1.5 1.5 0 0 0 9 3Z\"\/><path d=\"M15 3a2.5 2.5 0 0 1 2.5 2.5A2.5 2.5 0 0 1 20 8a2.5 2.5 0 0 1-1 2 2.5 2.5 0 0 1 0 4 2.5 2.5 0 0 1-2 4 2 2 0 0 1-3-1.5V4.5A1.5 1.5 0 0 1 15 3Z\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Intellectual service<\/b><small>Consulting, audit, expert services, training, IT, studies, R&amp;D, archiving\u2026<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"pick(0,'materiel')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><path d=\"M14.7 6.3a4 4 0 0 1-5.4 5.4L4 17v3h3l5.3-5.3a4 4 0 0 1 5.4-5.4l-2.6 2.6-2.4-.4-.4-2.4Z\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Material service<\/b><small>Cleaning, security guarding, transport, equipment maintenance, handling, reprographics\u2026<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"pick(0,'nuance')\">\n          <span class=\"ic o\"><svg viewbox=\"0 0 24 24\"><path d=\"M12 3v18M7 21h10M12 5l-6 2 6 2 6-2ZM6 7l-2.5 6a2.5 2.5 0 0 0 5 0ZM18 7l-2.5 6a2.5 2.5 0 0 0 5 0Z\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Special case<\/b><small>Equipment rental, advertising, patents &amp; trademarks, regulated professions, temporary staffing\u2026<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"gotoProfil()\">\u2190 Back to scope<\/button>\n    <\/div>\n\n    <!-- STEP 2 : intellectuel -->\n    <div class=\"step\" id=\"step1_intello\">\n      <div class=\"q-label\">Step 3 \/ 4 \u2014 Question 2 \/ 2<\/div>\n      <div class=\"q-title\">Does the service provider charge VAT?<\/div>\n      <div class=\"q-help\">A service that is VAT-exempt or outside the scope of VAT cannot be subject to VAT withholding.<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"finish('both')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 12.5 9 17.5 20 6.5\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Yes, with VAT<\/b><small>Service subject to VAT (the most common case).<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"finish('ht_only')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M6 6l12 12\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>No, without VAT<\/b><small>Service exempt from or outside the scope of VAT.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"goto(0)\">\u2190 Back to the previous question<\/button>\n    <\/div>\n\n    <!-- STEP 2 : materiel -->\n    <div class=\"step\" id=\"step1_materiel\">\n      <div class=\"q-label\">Step 3 \/ 4 \u2014 Question 2 \/ 2<\/div>\n      <div class=\"q-title\">Is this service subject to VAT?<\/div>\n      <div class=\"q-help\">Most physical services appear on the list of services whose VAT is withheld (art. 117-V).<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"finish('tva_only')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 12.5 9 17.5 20 6.5\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Yes, with VAT<\/b><small>Cleaning, transport, maintenance, handling\u2026<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"finish('none')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M6 6l12 12\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>No, without VAT<\/b><small>Transaction exempt from or outside the scope of VAT.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"goto(0)\">\u2190 Back to the previous question<\/button>\n    <\/div>\n\n    <!-- STEP 2 : nuance -->\n    <div class=\"step\" id=\"step1_nuance\">\n      <div class=\"q-label\">Step 3 \/ 4 \u2014 Question 2 \/ 2<\/div>\n      <div class=\"q-title\">Which special case is it?<\/div>\n      <div class=\"q-help\">These situations require case-by-case qualification.<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"finish('reglementee')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><path d=\"M12 3v18M7 21h10M12 5l-6 2 6 2 6-2ZM6 7l-2.5 6a2.5 2.5 0 0 0 5 0ZM18 7l-2.5 6a2.5 2.5 0 0 0 5 0Z\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Regulated profession<\/b><small>Lawyer, notary, architect, expert, consulting engineer\u2026<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"finish('location_mat')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><path d=\"M21 8 12 3 3 8v8l9 5 9-5Z\"\/><path d=\"M3 8l9 5 9-5M12 13v8\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Equipment \/ vehicle rental<\/b><small>Rental of movable property without purchase option.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"finish('immateriel')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><path d=\"M3 10v4h3l7 4V6L6 10Z\"\/><path d=\"M16 8a5 5 0 0 1 0 8\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Advertising, patents, trademarks<\/b><small>Purchase of ad space, transfers\/concessions of rights.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"finish('interim')\">\n          <span class=\"ic p\"><svg viewbox=\"0 0 24 24\"><circle cx=\"9\" cy=\"8\" r=\"3\"\/><path d=\"M3 20a6 6 0 0 1 12 0M16 5.5a3 3 0 0 1 0 5M17 20a6 6 0 0 0-2-4.5\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Provision of staff<\/b><small>Temporary staffing, employment of human resources.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"goto(0)\">\u2190 Back to the previous question<\/button>\n    <\/div>\n\n    <!-- STEP EXCLUSIONS : filtre RAS TVA -->\n    <div class=\"step\" id=\"step_excl\">\n      <div class=\"q-label\">Check \u2014 exclusions from VAT withholding tax<\/div>\n      <div class=\"q-title\">Does the transaction fall under a case excluded from VAT withholding?<\/div>\n      <div class=\"q-help\">Certain transactions are expressly excluded from withholding at source for VAT purposes, even when they are subject to VAT.<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"applyExcl('assur')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><path d=\"M6 3h8l4 4v14H6Z\"\/><path d=\"M14 3v4h4M9 12h6M9 16h6\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Insurance canvasser \/ broker<\/b><small>Services rendered by any insurance canvassing agent or broker.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"applyExcl('seuil')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 7v10M9.5 9.5a2.5 2 0 0 1 5 0c0 2.5-5 1.5-5 4a2.5 2 0 0 0 5 0\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Below the threshold (5,000 \/ 50,000 DH)<\/b><small>Service \u2264 5 000 DH, up to a limit of 50 000 DH per month.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"applyExcl('none')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 12h15M13 6l6 6-6 6\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>None of these situations<\/b><small>The transaction does not fall under any of the exclusion cases above.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"goto(0)\">\u2190 Back to the start<\/button>\n    <\/div>\n\n    <!-- STEP EXCLUSIONS (cas particuliers) : seuil uniquement -->\n    <div class=\"step\" id=\"step_excl_seuil\">\n      <div class=\"q-label\">Check \u2014 withholding tax threshold<\/div>\n      <div class=\"q-title\">What is the amount of the service?<\/div>\n      <div class=\"q-help\">Below the threshold, the transaction is excluded from withholding tax, even when it is subject to VAT.<\/div>\n      <div class=\"options\">\n        <button class=\"opt\" onclick=\"applyExcl('seuil')\">\n          <span class=\"ic\"><svg viewbox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 7v10M9.5 9.5a2.5 2 0 0 1 5 0c0 2.5-5 1.5-5 4a2.5 2 0 0 0 5 0\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Below the threshold (5,000 \/ 50,000 DH)<\/b><small>Service \u2264 5 000 DH, up to a limit of 50 000 DH per month.<\/small><\/span>\n        <\/button>\n        <button class=\"opt\" onclick=\"applyExcl('none')\">\n          <span class=\"ic g\"><svg viewbox=\"0 0 24 24\"><path d=\"M4 12h15M13 6l6 6-6 6\"\/><\/svg><\/span>\n          <span class=\"txt\"><b>Amount above 5,000 \/ 50,000 DH<\/b><small>Service &gt; 5,000 DH, or cumulative &gt; 50,000 DH per month.<\/small><\/span>\n        <\/button>\n      <\/div>\n      <button class=\"back\" onclick=\"goto(0)\">\u2190 Back to the start<\/button>\n    <\/div>\n\n    <!-- RESULT -->\n    <div class=\"result\" id=\"result\"><\/div>\n  <\/div>\n<\/div>\n<\/div>\n<script>\n(function(){\n  \"use strict\";\n  var bar0=document.getElementById('bar0'),barP=document.getElementById('barP'),bar1=document.getElementById('bar1'),bar2=document.getElementById('bar2');\n  var dots=[].slice.call(document.querySelectorAll('.step-dot'));\n  var debiteurStatut=null; \/\/ statut du client\/d\u00e9biteur au regard du champ d'application\n  var prestataireStatut=null; \/\/ 'physique' (RNR\/RNS -> 10%) ou 'morale' (5%)\n\n  var VERDICTS={\n    hors_champ:{\n      cls:'v-none', color:'var(--muted)', tint:'#F0F3F7',\n      title:'Pas de retenue \u00e0 la source',\n      sub:'Le client (d\u00e9biteur) est une entreprise priv\u00e9e dont le chiffre d\\'affaires HT n\\'atteint pas encore le seuil applicable. Il n\\'est donc pas tenu d\\'op\u00e9rer la retenue \u00e0 la source, quelle que soit la nature de la prestation.',\n      badges:[['b-none','RAS','non applicable']],\n      rows:[\n        ['RAS 5 % HT','Non applicable : le client est hors du champ d\\'application.'],\n        ['RAS TVA','Non applicable : le client est hors du champ d\\'application.'],\n        ['Seuils','500 M DH (d\u00e8s 2026) \u00b7 350 M DH (d\u00e8s 2027) \u00b7 200 M DH (d\u00e8s 2028), CA HT.']\n      ],\n      notes:[\n        ['warn','Ce statut \u00e9volue avec le chiffre d\\'affaires : d\u00e8s que le seuil applicable est franchi, le client devient redevable de la RAS. Refaites alors le test pour qualifier la prestation.']\n      ]\n    },\n    both:{\n      cls:'v-both', color:'var(--both)', tint:'var(--both-tint)',\n      title:'Les DEUX retenues s\\'appliquent',\n      sub:'Prestation intellectuelle soumise \u00e0 la TVA : la facture supporte \u00e0 la fois la retenue de TVA et la retenue de 5 % sur le montant HT.',\n      badges:[['b-ht','RAS 5 % HT','5 %'],['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS 5 % HT','<b>5 %<\/b> du montant brut hors taxes, au titre de l\\'IS ou de l\\'IR (imputable).'],\n        ['RAS TVA','<b>75 %<\/b> de la TVA avec attestation de r\u00e9gularit\u00e9 fiscale, <b>100 %<\/b> \u00e0 d\u00e9faut.'],\n        ['R\u00e9f\u00e9rences','Art. 15 bis \/ 45 bis-I (RAS HT) &nbsp;\u00b7&nbsp; Art. 117-V (RAS TVA) du CGI']\n      ],\n      notes:[\n        ['ht','Le montant retenu (5 %) n\\'est pas perdu : il s\\'impute sur l\\'imp\u00f4t d\u00fb par le prestataire.'],\n        ['','Isolez bien les deux retenues sur la facture : elles ont des assiettes diff\u00e9rentes (HT d\\'un c\u00f4t\u00e9, TVA de l\\'autre).']\n      ]\n    },\n    ht_only:{\n      cls:'v-ht', color:'var(--ht)', tint:'var(--ht-tint)',\n      title:'RAS sur le montant HT uniquement',\n      sub:'Prestation intellectuelle non soumise \u00e0 la TVA : seule la retenue de 5 % sur le montant HT est susceptible de s\\'appliquer.',\n      badges:[['b-ht','RAS 5 % HT','5 %']],\n      rows:[\n        ['RAS 5 % HT','<b>5 %<\/b> du montant brut hors taxes, au titre de l\\'IS ou de l\\'IR (imputable).'],\n        ['RAS TVA','Sans objet : la prestation ne facture pas de TVA.'],\n        ['R\u00e9f\u00e9rences','Art. 15 bis \/ 45 bis-I du CGI']\n      ],\n      notes:[\n        ['ht','V\u00e9rifiez l\\'exon\u00e9ration ou le hors-champ de TVA : s\\'il y a bien TVA factur\u00e9e, la retenue de TVA s\\'ajoute.']\n      ]\n    },\n    both_pp:{\n      cls:'v-both', color:'var(--both)', tint:'var(--both-tint)',\n      title:'Les DEUX retenues s\\'appliquent',\n      sub:'Prestataire personne physique (revenus d\u00e9termin\u00e9s selon le RNR ou le RNS) pour une prestation intellectuelle soumise \u00e0 la TVA : la facture supporte \u00e0 la fois la retenue de TVA et la retenue de 10 % sur le montant HT.',\n      badges:[['b-ht','RAS 10 % HT','10 %'],['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS 10 % HT','<b>10 %<\/b> du montant brut hors taxes (personne physique au RNR \/ RNS), au titre de l\\'IR (imputable).'],\n        ['RAS TVA','<b>75 %<\/b> de la TVA avec attestation de r\u00e9gularit\u00e9 fiscale, <b>100 %<\/b> \u00e0 d\u00e9faut.'],\n        ['R\u00e9f\u00e9rences','Art. 15 bis \/ 45 bis-I (RAS HT) &nbsp;\u00b7&nbsp; Art. 117-V (RAS TVA) du CGI']\n      ],\n      notes:[\n        ['ht','Le taux de 10 % vise le prestataire personne physique dont les revenus rel\u00e8vent du RNR ou du RNS (contre 5 % pour une personne morale).'],\n        ['','Isolez bien les deux retenues sur la facture : elles ont des assiettes diff\u00e9rentes (HT d\\'un c\u00f4t\u00e9, TVA de l\\'autre).']\n      ]\n    },\n    ht_only_pp:{\n      cls:'v-ht', color:'var(--ht)', tint:'var(--ht-tint)',\n      title:'RAS sur le montant HT uniquement',\n      sub:'Prestataire personne physique (revenus d\u00e9termin\u00e9s selon le RNR ou le RNS) pour une prestation intellectuelle non soumise \u00e0 la TVA : seule la retenue de 10 % sur le montant HT est susceptible de s\\'appliquer.',\n      badges:[['b-ht','RAS 10 % HT','10 %']],\n      rows:[\n        ['RAS 10 % HT','<b>10 %<\/b> du montant brut hors taxes (personne physique au RNR \/ RNS), au titre de l\\'IR (imputable).'],\n        ['RAS TVA','Sans objet : la prestation ne facture pas de TVA.'],\n        ['R\u00e9f\u00e9rences','Art. 15 bis \/ 45 bis-I du CGI']\n      ],\n      notes:[\n        ['ht','Le taux de 10 % vise le prestataire personne physique dont les revenus rel\u00e8vent du RNR ou du RNS (contre 5 % pour une personne morale).']\n      ]\n    },\n    tva_only:{\n      cls:'v-tva', color:'var(--tva)', tint:'var(--tva-tint)',\n      title:'RAS sur la TVA uniquement',\n      sub:'Prestation mat\u00e9rielle soumise \u00e0 la TVA : la retenue porte sur la TVA. Elle n\\'entre pas dans le champ de la retenue de 5 % sur le montant HT.',\n      badges:[['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS TVA','<b>75 %<\/b> de la TVA avec attestation de r\u00e9gularit\u00e9 fiscale, <b>100 %<\/b> \u00e0 d\u00e9faut.'],\n        ['RAS 5 % HT','Non applicable : prestation \u00e0 caract\u00e8re mat\u00e9riel (hors liste DGI).'],\n        ['R\u00e9f\u00e9rences','Art. 117-V (b et c) du CGI']\n      ],\n      notes:[\n        ['','L\\'attestation de r\u00e9gularit\u00e9 fiscale du prestataire est d\u00e9cisive : elle fait passer la retenue de 100 % \u00e0 75 %.']\n      ]\n    },\n    none:{\n      cls:'v-none', color:'var(--muted)', tint:'#F0F3F7',\n      title:'Aucune retenue a priori',\n      sub:'Prestation mat\u00e9rielle sans TVA : ni la retenue de TVA (pas de TVA factur\u00e9e), ni la retenue de 5 % (prestation non intellectuelle) ne s\\'appliquent en principe.',\n      badges:[['b-none','Aucune RAS','\u2014']],\n      rows:[\n        ['RAS TVA','Sans objet : pas de TVA factur\u00e9e.'],\n        ['RAS 5 % HT','Non applicable : prestation \u00e0 caract\u00e8re mat\u00e9riel.'],\n        ['\u00c0 v\u00e9rifier','Confirmez le r\u00e9gime de TVA de l\\'op\u00e9ration et la qualit\u00e9 du prestataire.']\n      ],\n      notes:[\n        ['warn','Ce cas est peu fr\u00e9quent : assurez-vous que l\\'op\u00e9ration est bien hors champ \/ exon\u00e9r\u00e9e de TVA.']\n      ]\n    },\n    reglementee:{\n      cls:'v-both', color:'var(--both)', tint:'var(--both-tint)',\n      title:'Les DEUX retenues, en principe',\n      sub:'Les honoraires des professions r\u00e9glement\u00e9es (avocat, notaire, architecte, expert\u2026) pr\u00e9sentent un caract\u00e8re intellectuel marqu\u00e9 et rel\u00e8vent des deux retenues lorsqu\\'ils sont soumis \u00e0 la TVA.',\n      badges:[['b-ht','RAS 5 % HT','5 %'],['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS 5 % HT','<b>5 %<\/b> du montant brut hors taxes (honoraires).'],\n        ['RAS TVA','<b>75 %<\/b> avec attestation, <b>100 %<\/b> \u00e0 d\u00e9faut.'],\n        ['R\u00e9f\u00e9rences','Art. 15 bis \/ 45 bis-I &nbsp;\u00b7&nbsp; Art. 117-V du CGI']\n      ],\n      notes:[\n        ['','Si l\\'honoraire est exon\u00e9r\u00e9 de TVA, seule la retenue de 5 % s\\'applique.']\n      ]\n    },\n    location_mat:{\n      cls:'v-tva', color:'var(--tva)', tint:'var(--tva-tint)',\n      title:'RAS sur la TVA uniquement',\n      sub:'La location sans option d\\'achat de biens meubles figure dans la liste des services dont la TVA est retenue. N\\'ayant pas de caract\u00e8re intellectuel, elle n\\'entre pas dans le champ de la retenue de 5 % sur le montant HT.',\n      badges:[['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS TVA','<b>75 % \/ 100 %<\/b> selon l\\'attestation de r\u00e9gularit\u00e9 fiscale.'],\n        ['RAS 5 % HT','Non applicable (prestation mat\u00e9rielle).'],\n        ['R\u00e9f\u00e9rences','Art. 117-V du CGI']\n      ],\n      notes:[\n        ['warn','Distinguez bien la location de mat\u00e9riel des loyers immobiliers, qui rel\u00e8vent d\\'un r\u00e9gime propre (LF 2026).']\n      ]\n    },\n    immateriel:{\n      cls:'v-warn', color:'var(--warn)', tint:'var(--warn-tint)',\n      title:'\u00c0 qualifier au cas par cas',\n      sub:'Publicit\u00e9, cessions ou concessions de brevets, droits et marques : la retenue de TVA s\\'applique le plus souvent, mais l\\'assujettissement \u00e0 la retenue de 5 % d\u00e9pend de la nature exacte de l\\'op\u00e9ration.',\n      badges:[['b-tva','RAS TVA','75 % \/ 100 %'],['b-warn','RAS 5 % HT','\u00e0 qualifier']],\n      rows:[\n        ['RAS TVA','<b>75 % \/ 100 %<\/b> selon l\\'attestation, si l\\'op\u00e9ration est soumise \u00e0 la TVA.'],\n        ['RAS 5 % HT','\u00c0 appr\u00e9cier : distinguer conseil\/r\u00e9gie (intellectuel) du simple achat d\\'espace.'],\n        ['R\u00e9f\u00e9rences','Art. 117-V &nbsp;\u00b7&nbsp; Art. 15 bis du CGI']\n      ],\n      notes:[\n        ['warn','Faites qualifier l\\'op\u00e9ration : la fronti\u00e8re entre prestation intellectuelle et achat mat\u00e9riel n\\'est pas toujours \u00e9vidente.']\n      ]\n    },\n    interim:{\n      cls:'v-tva', color:'var(--tva)', tint:'var(--tva-tint)',\n      title:'RAS sur la TVA uniquement',\n      sub:'La mise \u00e0 disposition de ressources humaines (int\u00e9rim) est trait\u00e9e comme une prestation mat\u00e9rielle : la retenue de TVA s\\'applique, mais pas la retenue de 5 % sur le montant HT.',\n      badges:[['b-tva','RAS TVA','75 % \/ 100 %']],\n      rows:[\n        ['RAS TVA','<b>75 % \/ 100 %<\/b> selon l\\'attestation de r\u00e9gularit\u00e9 fiscale.'],\n        ['RAS 5 % HT','Non applicable : mise \u00e0 disposition = mat\u00e9rielle selon la DGI.'],\n        ['R\u00e9f\u00e9rences','Art. 117-V du CGI']\n      ],\n      notes:[\n        ['','Ne pas confondre avec une prestation de conseil en ressources humaines, qui serait, elle, intellectuelle.']\n      ]\n    },\n    tva_exclu:{\n      cls:'v-none', color:'var(--muted)', tint:'#F0F3F7',\n      title:'RAS TVA non applicable (op\u00e9ration exclue)',\n      sub:'Cette op\u00e9ration figure parmi les cas express\u00e9ment exclus de la retenue \u00e0 la source en mati\u00e8re de TVA. La retenue de TVA ne s\\'applique donc pas, m\u00eame si l\\'op\u00e9ration est soumise \u00e0 la TVA.',\n      badges:[['b-none','RAS TVA','exclue']],\n      rows:[\n        ['RAS TVA','Non applicable : op\u00e9ration exclue de la retenue de TVA.'],\n        ['RAS 5 % HT','\u00c0 appr\u00e9cier s\u00e9par\u00e9ment selon la nature de la prestation.'],\n        ['R\u00e9f\u00e9rences','Art. 117-V du CGI (exclusions)']\n      ],\n      notes:[\n        ['','L\\'exclusion porte sur la retenue de TVA. V\u00e9rifiez s\u00e9par\u00e9ment si une retenue de 5 % sur le montant HT peut s\\'appliquer.']\n      ]\n    }\n  };\n\n  \/\/ Cas d'exclusion de la RAS TVA (libell\u00e9s affich\u00e9s dans le r\u00e9sultat)\n  var EXCL_LABELS={\n    assur:'Prestations rendues par tout agent d\u00e9marcheur ou courtier d\\'assurances.',\n    seuil:'Prestation de services d\\'un montant \u2264 5 000 DH, dans la limite de 50 000 DH par mois.'\n  };\n  \/\/ Verdicts qui contiennent une composante RAS TVA -> passent par l'\u00e9cran d'exclusion\n  var TVA_KEYS={both:1, tva_only:1, reglementee:1, location_mat:1, immateriel:1, interim:1};\n  \/\/ Cas particuliers -> \u00e9cran d'exclusion r\u00e9duit au seuil uniquement\n  var SEUIL_ONLY_KEYS={reglementee:1, location_mat:1, immateriel:1, interim:1};\n  var pendingKey=null; \/\/ verdict en attente pendant la v\u00e9rification des exclusions\n\n  \/\/ \u00c9tape 0 : profil du client \/ d\u00e9biteur (champ d'application)\n  window.pickProfil=function(profil){\n    debiteurStatut=profil;\n    if(profil==='prive_non'){\n      \/\/ Client sous le seuil : la RAS entre personnes morales ne s'applique pas,\n      \/\/ mais la RAS de 10 % due \u00e0 un prestataire personne physique (RNR\/RNS) reste due.\n      \/\/ On qualifie donc d'abord le statut du prestataire.\n      prestataireStatut=null;\n      document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n      document.getElementById('result').classList.remove('show');\n      document.getElementById('step_prestataire').classList.add('show');\n      setProgress(1);\n      scrollTopCard();\n      return;\n    }\n    \/\/ Client dans le champ (Entit\u00e9 1 ou entreprise priv\u00e9e au-dessus du seuil) :\n    \/\/ la RAS s'applique, pas besoin de distinguer le statut du prestataire.\n    prestataireStatut='morale';\n    goto(0); \/\/ passe directement \u00e0 l'\u00e9tape Nature\n  };\n\n  \/\/ Statut du prestataire (uniquement demand\u00e9 lorsque le client est sous le seuil)\n  window.pickPrestataire=function(statut){\n    prestataireStatut=statut;\n    \/\/ Sous le seuil + personne morale => hors champ, pas de RAS.\n    \/\/ Personne physique (RNR\/RNS) => RAS de 10 %, on poursuit la qualification.\n    if(debiteurStatut==='prive_non' && statut!=='physique'){\n      window.render('hors_champ', null);\n      return;\n    }\n    goto(0); \/\/ passe \u00e0 l'\u00e9tape Nature\n  };\n\n  window.pick=function(step,choice){\n    if(choice==='intello') goto('1_intello');\n    else if(choice==='materiel') goto('1_materiel');\n    else if(choice==='nuance') goto('1_nuance');\n  };\n\n  window.goto=function(id){\n    document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n    document.getElementById('result').classList.remove('show');\n    document.getElementById('step'+id).classList.add('show');\n    \/\/ id===0\/'0' => \u00e9cran Nature (progress index 2)\n    setProgress(2);\n    scrollTopCard();\n  };\n\n  \/\/ Retour \u00e0 l'\u00e9cran Profil (\u00e9tape 1)\n  window.gotoProfil=function(){\n    document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n    document.getElementById('result').classList.remove('show');\n    document.getElementById('step_profil').classList.add('show');\n    setProgress(0);\n    scrollTopCard();\n  };\n\n  \/\/ Retour \u00e0 l'\u00e9cran Statut du prestataire (\u00e9tape 2)\n  window.gotoPrestataire=function(){\n    document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n    document.getElementById('result').classList.remove('show');\n    document.getElementById('step_prestataire').classList.add('show');\n    setProgress(1);\n    scrollTopCard();\n  };\n\n  \/\/ Point d'entr\u00e9e depuis les boutons : route vers l'\u00e9cran d'exclusion si RAS TVA\n  window.finish=function(key){\n    if(TVA_KEYS[key]){\n      pendingKey=key;\n      document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n      document.getElementById('result').classList.remove('show');\n      var screen = SEUIL_ONLY_KEYS[key] ? 'step_excl_seuil' : 'step_excl';\n      document.getElementById(screen).classList.add('show');\n      setProgress(3);\n      scrollTopCard();\n      return;\n    }\n    window.render(key, null);\n  };\n\n  \/\/ Choix sur l'\u00e9cran d'exclusion\n  window.applyExcl=function(exclKey){\n    if(exclKey==='none'){ window.render(pendingKey, null); }\n    else { window.render('tva_exclu', exclKey); }\n    pendingKey=null;\n  };\n\n  window.render=function(key, exclKey){\n    \/\/ Prestataire personne physique (RNR\/RNS) + prestation intellectuelle -> RAS 10 % HT\n    if(prestataireStatut==='physique'){\n      if(key==='both') key='both_pp';\n      else if(key==='ht_only') key='ht_only_pp';\n    }\n    \/\/ Client sous le seuil : la RAS entre personnes morales ne s'applique pas encore.\n    \/\/ Seule subsiste la retenue de 10 % due \u00e0 un prestataire personne physique (RNR\/RNS),\n    \/\/ qui est ind\u00e9pendante du seuil. Tout autre r\u00e9sultat retombe donc \"hors champ\".\n    if(debiteurStatut==='prive_non' && key!=='both_pp' && key!=='ht_only_pp'){\n      key='hors_champ';\n    }\n    var v=VERDICTS[key];\n    var badges=v.badges.map(function(b){\n      return '<span class=\"badge '+b[0]+'\">'+b[1]+' <span class=\"r\">'+b[2]+'<\/span><\/span>';\n    }).join('');\n    var rows=v.rows.map(function(r){\n      return '<div class=\"detail-row\"><span class=\"k\">'+r[0]+'<\/span><span class=\"v\">'+r[1]+'<\/span><\/div>';\n    }).join('');\n    \/\/ Ligne d\u00e9di\u00e9e au motif d'exclusion, le cas \u00e9ch\u00e9ant\n    if(exclKey && EXCL_LABELS[exclKey]){\n      rows = '<div class=\"detail-row\"><span class=\"k\">Motif d\\'exclusion<\/span><span class=\"v\">'+EXCL_LABELS[exclKey]+'<\/span><\/div>' + rows;\n    }\n    var notes=v.notes.map(function(n){\n      return '<div class=\"note '+(n[0]||'')+'\">'+n[1]+'<\/div>';\n    }).join('');\n\n    \/\/ Note non bloquante sur le champ d'application (profil du client\/d\u00e9biteur)\n    var scopeNote='';\n    if(debiteurStatut==='entite1'){\n      scopeNote='<div class=\"note ht\"><b>Champ d\\'application&nbsp;:<\/b> le client rel\u00e8ve de l\\'Entit\u00e9 1 (\u00c9tat, \u00e9tablissement public, cr\u00e9dit ou assurance). Il est assujetti \u00e0 la RAS sans condition de seuil de CA.<\/div>';\n    } else if(debiteurStatut==='prive_oui'){\n      scopeNote='<div class=\"note ht\"><b>Champ d\\'application&nbsp;:<\/b> entreprise priv\u00e9e dont le CA HT atteint le seuil applicable (500 M DH d\u00e8s 2026, 350 M DH d\u00e8s 2027, 200 M DH d\u00e8s 2028). Le client est dans le champ de la RAS.<\/div>';\n    } else if(debiteurStatut==='prive_non' && prestataireStatut==='physique'){\n      scopeNote='<div class=\"note ht\"><b>Champ d\\'application&nbsp;:<\/b> le client est une entreprise priv\u00e9e sous le seuil de CA, mais la retenue de 10 % due au prestataire personne physique (RNR \/ RNS) s\\'applique <b>ind\u00e9pendamment<\/b> de ce seuil.<\/div>';\n    } else if(debiteurStatut==='prive_non' && key!=='hors_champ'){\n      scopeNote='<div class=\"note warn\"><b>Champ d\\'application&nbsp;:<\/b> entreprise priv\u00e9e sous le seuil de CA \u00e0 la date en vigueur. \u00c0 ce stade, le client n\\'est pas encore tenu d\\'op\u00e9rer la RAS \u2014 le r\u00e9sultat ci-dessous reste indicatif et s\\'appliquera d\u00e8s que le seuil sera franchi.<\/div>';\n    }\n    notes = scopeNote + notes;\n\n    \/\/ Note sur le statut du prestataire (personne physique RNR\/RNS)\n    if(prestataireStatut==='physique' && (key==='both_pp' || key==='ht_only_pp')){\n      notes = '<div class=\"note ht\"><b>Prestataire personne physique&nbsp;:<\/b> revenus d\u00e9termin\u00e9s selon le RNR ou le RNS. La retenue sur le montant HT est de 10 % (au lieu de 5 % pour une personne morale).<\/div>' + notes;\n    }\n\n    var html=''\n      +'<div class=\"verdict\" style=\"border-color:'+v.color+';background:'+v.tint+'\">'\n      +'  <h2 style=\"color:'+v.color+'\"><svg viewBox=\"0 0 24 24\" style=\"width:20px;height:20px;flex:none\"><circle cx=\"12\" cy=\"12\" r=\"8\" fill=\"'+v.color+'\"\/><\/svg> '+v.title+'<\/h2>'\n      +'  <div class=\"sub\">'+v.sub+'<\/div>'\n      +'  <div class=\"badges\">'+badges+'<\/div>'\n      +'  <div class=\"detail\">'+rows+'<\/div>'\n      +   notes\n      +'<\/div>'\n      +'<div class=\"disclaimer\"><b>Information &amp; aide \u00e0 la d\u00e9cision.<\/b> Ce simulateur repose sur le recoupement des listes du Code G\u00e9n\u00e9ral des Imp\u00f4ts (art. 117-V pour la TVA, art. 15 bis \/ 45 bis-I pour la retenue de 5 %). La qualification exacte d\\'une prestation d\u00e9pend de sa nature r\u00e9elle et de la qualit\u00e9 fiscale du prestataire ; le r\u00e9sultat n\\'est pas opposable \u00e0 l\\'administration. En cas de doute, rapprochez-vous de votre professionnel comptable.<\/div>'\n      +'<button class=\"restart\" onclick=\"restart()\">\u21bb Recommencer le test<\/button>';\n\n    var r=document.getElementById('result');\n    r.innerHTML=html;\n    document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n    r.classList.add('show');\n    setProgress(4);\n    scrollTopCard();\n  };\n\n  window.restart=function(){\n    debiteurStatut=null;\n    prestataireStatut=null;\n    document.getElementById('result').classList.remove('show');\n    document.querySelectorAll('.step').forEach(function(s){s.classList.remove('show')});\n    document.getElementById('step_profil').classList.add('show');\n    setProgress(0);\n    scrollTopCard();\n  };\n\n  function setProgress(i){\n    dots.forEach(function(d,idx){\n      d.classList.remove('active','done');\n      if(idx<i) d.classList.add('done');\n      else if(idx===i) d.classList.add('active');\n    });\n    bar0.style.transform='scaleX('+(i>=1?1:0)+')';\n    barP.style.transform='scaleX('+(i>=2?1:0)+')';\n    bar1.style.transform='scaleX('+(i>=3?1:0)+')';\n    bar2.style.transform='scaleX('+(i>=4?1:0)+')';\n  }\n  function scrollTopCard(){\n    var c=document.querySelector('.card');\n    if(c && c.scrollIntoView){ \/* keep view stable on mobile *\/ }\n  }\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2652","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Simulateur RAS - Auditia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.auditia.ma\/en\/withholding-tax-simulator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simulateur RAS - Auditia\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.auditia.ma\/en\/withholding-tax-simulator\/\" \/>\n<meta property=\"og:site_name\" content=\"Auditia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.auditia.ma\/simulateur-ras\/\",\"url\":\"https:\/\/www.auditia.ma\/simulateur-ras\/\",\"name\":\"Simulateur RAS - Auditia\",\"isPartOf\":{\"@id\":\"https:\/\/www.auditia.ma\/#website\"},\"datePublished\":\"2026-07-01T17:53:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.auditia.ma\/simulateur-ras\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.auditia.ma\/simulateur-ras\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.auditia.ma\/simulateur-ras\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.auditia.ma\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simulateur RAS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.auditia.ma\/#website\",\"url\":\"https:\/\/www.auditia.ma\/\",\"name\":\"Auditia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.auditia.ma\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.auditia.ma\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.auditia.ma\/#organization\",\"name\":\"Auditia\",\"url\":\"https:\/\/www.auditia.ma\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.auditia.ma\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.auditia.ma\/wp-content\/uploads\/2025\/10\/Vector.png\",\"contentUrl\":\"https:\/\/www.auditia.ma\/wp-content\/uploads\/2025\/10\/Vector.png\",\"width\":316,\"height\":96,\"caption\":\"Auditia\"},\"image\":{\"@id\":\"https:\/\/www.auditia.ma\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Withholding Tax Simulator - Auditia","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:\/\/www.auditia.ma\/en\/withholding-tax-simulator\/","og_locale":"en_US","og_type":"article","og_title":"Simulateur RAS - Auditia","og_url":"https:\/\/www.auditia.ma\/en\/withholding-tax-simulator\/","og_site_name":"Auditia","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.auditia.ma\/simulateur-ras\/","url":"https:\/\/www.auditia.ma\/simulateur-ras\/","name":"Withholding Tax Simulator - Auditia","isPartOf":{"@id":"https:\/\/www.auditia.ma\/#website"},"datePublished":"2026-07-01T17:53:53+00:00","breadcrumb":{"@id":"https:\/\/www.auditia.ma\/simulateur-ras\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.auditia.ma\/simulateur-ras\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.auditia.ma\/simulateur-ras\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.auditia.ma\/"},{"@type":"ListItem","position":2,"name":"Simulateur RAS"}]},{"@type":"WebSite","@id":"https:\/\/www.auditia.ma\/#website","url":"https:\/\/www.auditia.ma\/","name":"Auditia","description":"","publisher":{"@id":"https:\/\/www.auditia.ma\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.auditia.ma\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.auditia.ma\/#organization","name":"Auditia","url":"https:\/\/www.auditia.ma\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.auditia.ma\/#\/schema\/logo\/image\/","url":"https:\/\/www.auditia.ma\/wp-content\/uploads\/2025\/10\/Vector.png","contentUrl":"https:\/\/www.auditia.ma\/wp-content\/uploads\/2025\/10\/Vector.png","width":316,"height":96,"caption":"Auditia"},"image":{"@id":"https:\/\/www.auditia.ma\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/pages\/2652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/comments?post=2652"}],"version-history":[{"count":0,"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/pages\/2652\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auditia.ma\/en\/wp-json\/wp\/v2\/media?parent=2652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}