Accounting Outsourcing Cost in India 2026: A Complete Pricing Guide for Businesses

Managing business finances becomes harder as companies grow, requiring accurate daily transactions, tax filings, and reports. For startups and SMEs, building an in-house accounting team isn’t always practical due to costs and overheads. 

This is why more businesses are choosing accounting outsourcing in India. Instead of handling everything internally, they partner with professionals who can manage their accounting needs efficiently. In addition to reducing costs, outsourcing gives businesses access to experienced accountants and modern accounting tools. 

Why are more businesses outsourcing their accounting? 

Outsourcing accounting has become a practical solution for businesses of every size. It allows owners to focus on growth while professionals take care of financial records, compliance, and reporting. 

Some of the biggest benefits include: 

  • Lower operational costs compared to hiring an in-house team. 
  • Access to experienced accounting professionals. 
  • Better compliance with changing tax regulations. 
  • Accurate financial reports for informed decision-making. 
  • More time to focus on customers and business expansion. 

As businesses continue to grow, accounting outsourcing in India is becoming an important part of their long-term financial strategy rather than just a way to reduce expenses. 

What services are usually included? 

Accounting outsourcing is not limited to maintaining ledgers. Service packages can vary depending on the size and needs of a business. Some companies outsource only bookkeeping, while others hand over their complete finance function. 

Common services include: 

  • Daily bookkeeping 
  • Accounts payable and receivable 
  • Bank reconciliation 
  • Payroll processing 
  • GST filing and tax compliance 
  • Financial reporting 
  • Budgeting support 
  • Management reports 
  • Virtual CFO services 

Many businesses begin with bookkeeping outsourcing and gradually expand the scope as their operations become more complex. 

What factors affect accounting outsourcing costs? 

There is no single price that applies to every business. The overall cost depends on several factors and understanding them can help businesses choose a service package that fits both their needs and budget. 

  • Business size 

The size of a business plays a major role in determining the cost of outsourced accounting. 

For example, a startup with a few monthly transactions will require far less accounting work than a company operating across multiple locations. As transaction volumes increase, the time and expertise required also rise, which naturally affects pricing. 

  • Volume of financial transactions 

Accounting work is often measured by the number of transactions processed every month. Businesses with frequent sales, vendor payments, customer invoices, or bank entries usually require more accounting effort. 

Higher transaction volumes may also require additional reviews and reconciliations, increasing the overall service cost. 

  • Type of accounting services required 

Every business has different financial requirements. Some only need bookkeeping support, while others require complete accounting management. 

The scope of work may include: 

  • Basic bookkeeping 
  • GST compliance 
  • Payroll management 
  • Financial statement preparation 
  • Tax planning 
  • Budget analysis 
  • Management reporting 
  • Virtual CFO support 

Choosing only the services your business needs help control costs while ensuring efficient financial management. Professional accounting services in India are often flexible enough to match different business requirements. 

  • Industry requirements 

Some industries have more complex accounting needs than others. Businesses working in manufacturing, exports, healthcare, or financial services often deal with stricter compliance and reporting requirements. 

These businesses may require specialised accounting knowledge, which can influence outsourcing costs. 

<div class="infinzi-quiz-widget">
<style>
  .infinzi-quiz-widget{
    --ink:#101314;
    --paper:#ffffff;
    --page:#F5F6F3;
    --green:#1FA35A;
    --green-deep:#0F6B3D;
    --green-tint:#EAF7EE;
    --gray:#5B6169;

    --line:#E1E2DD;

    --teal-tint:#E1F5EE;   --teal-deep:#0B5943;
    --purple-tint:#EEEDFE; --purple-deep:#332C77;
    --coral-tint:#FAECE7;  --coral-deep:#7E3016;
    --amber-tint:#FAEEDA;  --amber-deep:#6B4109;

    font-family:'Inter',sans-serif;
    color:var(--ink);
    display:flex;
    justify-content:center;
    padding:32px 16px 64px;
    background:var(--page);
  }
  .infinzi-quiz-widget *{box-sizing:border-box;}
  .infinzi-quiz-widget button{font-family:inherit; color:inherit;}
  .infinzi-quiz-widget a{ color:inherit; }
  .infinzi-quiz-widget button:focus-visible, .infinzi-quiz-widget a:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }

  .infinzi-quiz-widget .icon{ display:inline-flex; width:1em; height:1em; flex-shrink:0; vertical-align:-0.125em; color:inherit; }
  .infinzi-quiz-widget .icon svg{ width:100%; height:100%; display:block; }

  .infinzi-quiz-widget .shell{
    width:100%; max-width:760px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:20px;
    padding:32px 32px 36px;
    box-shadow:0 1px 2px rgba(16,19,20,0.05), 0 8px 24px rgba(16,19,20,0.05);
  }

  .infinzi-quiz-widget .header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
  .infinzi-quiz-widget .brand{ display:flex; align-items:center; gap:10px; }
  .infinzi-quiz-widget .brand-logo{ height:24px; width:auto; display:block; }
  .infinzi-quiz-widget .brand-tag{
    font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--gray);
    letter-spacing:0.04em; text-transform:uppercase; border-left:1px solid var(--line); padding-left:10px;
  }
  .infinzi-quiz-widget .header-actions{ display:flex; align-items:center; gap:8px; }
  .infinzi-quiz-widget .talk-btn{
    display:flex; align-items:center; gap:6px;
    background:var(--ink); color:#ffffff; border:none; border-radius:8px;
    padding:8px 14px; font-size:12.5px; font-weight:500; text-decoration:none;
    transition: background .2s ease, transform .15s ease;
  }
  .infinzi-quiz-widget .talk-btn:hover{ background:#000; transform:translateY(-1px); }
  .infinzi-quiz-widget .talk-btn .icon{ font-size:14px; }
  .infinzi-quiz-widget .reset-btn{
    display:flex; align-items:center; justify-content:center;
    background:none; border:1px solid var(--line); border-radius:8px;
    width:32px; height:32px; color:var(--gray); cursor:pointer;
    transition: border-color .2s ease, color .2s ease;
  }
  .infinzi-quiz-widget .reset-btn:hover{ border-color:var(--green); color:var(--green-deep); }
  .infinzi-quiz-widget .reset-btn .icon{ font-size:15px; }

  /* intro */
  .infinzi-quiz-widget .intro-eyebrow{
    display:inline-flex; align-items:center; gap:6px;
    font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase;
    letter-spacing:0.06em; color:var(--green-deep); background:var(--green-tint);
    border-radius:6px; padding:5px 10px; margin:0 0 16px;
  }
  .infinzi-quiz-widget .intro h2{
    font-family:'Sora',sans-serif; font-weight:700; font-size:30px; line-height:1.25;
    margin:0 0 12px; max-width:520px; color:var(--ink);
  }
  .infinzi-quiz-widget .intro-sub{ font-size:15.5px; line-height:1.6; color:var(--gray); max-width:480px; margin:0 0 26px; }
  .infinzi-quiz-widget .start-btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--ink); color:#ffffff; border:none; border-radius:10px;
    padding:15px 24px; font-weight:500; font-size:15px; cursor:pointer;
    transition: background .2s ease, transform .15s ease;
  }
  .infinzi-quiz-widget .start-btn:hover{ background:#000; transform:translateY(-1px); }
  .infinzi-quiz-widget .intro-divider{
    font-size:12px; color:var(--gray); text-transform:uppercase; letter-spacing:0.05em;
    margin:30px 0 14px; display:flex; align-items:center; gap:10px;
  }
  .infinzi-quiz-widget .intro-divider::before, .infinzi-quiz-widget .intro-divider::after{ content:''; flex:1; height:1px; background:var(--line); }
  .infinzi-quiz-widget .service-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
  .infinzi-quiz-widget .service-chip{
    display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
    background:var(--paper); border:1px solid var(--line); border-radius:12px;
    padding:14px 8px; cursor:pointer; transition: border-color .2s ease, transform .15s ease;
  }
  .infinzi-quiz-widget .service-chip:hover{ transform:translateY(-2px); }
  .infinzi-quiz-widget .service-chip-icon{
    width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:17px;
  }
  .infinzi-quiz-widget .service-chip-label{ font-size:11px; font-weight:500; line-height:1.3; color:var(--ink); }

  .infinzi-quiz-widget .chip-teal   .service-chip-icon, .infinzi-quiz-widget .opt-icon.chip-teal,   .infinzi-quiz-widget .result-icon.chip-teal   { background:var(--teal-tint);   color:var(--teal-deep); }
  .infinzi-quiz-widget .chip-purple .service-chip-icon, .infinzi-quiz-widget .opt-icon.chip-purple, .infinzi-quiz-widget .result-icon.chip-purple { background:var(--purple-tint); color:var(--purple-deep); }
  .infinzi-quiz-widget .chip-coral  .service-chip-icon, .infinzi-quiz-widget .opt-icon.chip-coral,  .infinzi-quiz-widget .result-icon.chip-coral  { background:var(--coral-tint);  color:var(--coral-deep); }
  .infinzi-quiz-widget .chip-amber  .service-chip-icon, .infinzi-quiz-widget .opt-icon.chip-amber,  .infinzi-quiz-widget .result-icon.chip-amber  { background:var(--amber-tint);  color:var(--amber-deep); }
  .infinzi-quiz-widget .service-chip.chip-teal:hover{ border-color:var(--teal-deep); }
  .infinzi-quiz-widget .service-chip.chip-purple:hover{ border-color:var(--purple-deep); }
  .infinzi-quiz-widget .service-chip.chip-coral:hover{ border-color:var(--coral-deep); }
  .infinzi-quiz-widget .service-chip.chip-amber:hover{ border-color:var(--amber-deep); }

  /* quiz layout */
  .infinzi-quiz-widget .layout{ display:none; grid-template-columns:172px 1fr; gap:36px; align-items:start; }
  .infinzi-quiz-widget .layout.active{ display:grid; }

  .infinzi-quiz-widget .rail{ display:flex; flex-direction:column; }
  .infinzi-quiz-widget .rail-item{ display:flex; gap:12px; }
  .infinzi-quiz-widget .rail-node-col{ display:flex; flex-direction:column; align-items:center; }
  .infinzi-quiz-widget .rail-dot{
    width:22px; height:22px; border-radius:50%; flex-shrink:0;
    border:2px solid var(--line); background:var(--paper);
    display:flex; align-items:center; justify-content:center;
    transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
  }
  .infinzi-quiz-widget .rail-dot.active{ border-color:var(--green); box-shadow:0 0 0 4px var(--green-tint); }
  .infinzi-quiz-widget .rail-dot.done{ background:var(--green); border-color:var(--green); }
  .infinzi-quiz-widget .rail-dot .icon{ font-size:12px; color:#ffffff; opacity:0; transform:scale(.4); transition: all .25s ease .05s; }
  .infinzi-quiz-widget .rail-dot.done .icon{ opacity:1; transform:scale(1); }
  .infinzi-quiz-widget .rail-connector{ width:2px; flex:1; min-height:38px; background:var(--line); position:relative; margin:4px 0; }
  .infinzi-quiz-widget .rail-connector-fill{ position:absolute; left:0; top:0; width:100%; height:0%; background:var(--green); transition:height .5s ease; }
  .infinzi-quiz-widget .rail-connector-fill.filled{ height:100%; }
  .infinzi-quiz-widget .rail-text{ padding-top:1px; padding-bottom:26px; }
  .infinzi-quiz-widget .rail-label{ font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gray); margin:0 0 3px; }
  .infinzi-quiz-widget .rail-value{ font-size:13px; font-weight:500; color:var(--ink); margin:0; line-height:1.4; }
  .infinzi-quiz-widget .rail-value.pending{ color:var(--gray); font-weight:400; }

  .infinzi-quiz-widget .panel{ min-height:280px; }
  .infinzi-quiz-widget .stage{ display:none; }
  .infinzi-quiz-widget .stage.active{ display:block; }
  .infinzi-quiz-widget .stage.active.enter{ opacity:0; transform:translateY(10px); }
  .infinzi-quiz-widget .stage.active:not(.enter){ opacity:1; transform:translateY(0); transition:opacity .32s ease, transform .32s ease; }

  .infinzi-quiz-widget .eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--gray); margin:0 0 10px; }
  .infinzi-quiz-widget h1{ font-family:'Sora',sans-serif; font-weight:600; font-size:25px; line-height:1.28; margin:0 0 26px; max-width:440px; color:var(--ink); }

  .infinzi-quiz-widget .options{ display:flex; flex-direction:column; gap:10px; }
  .infinzi-quiz-widget .opt{
    display:flex; align-items:center; gap:14px; width:100%; text-align:left;
    background:var(--paper); border:1px solid var(--line); border-radius:12px;
    padding:14px 16px; cursor:pointer; color:var(--ink);
    transition: border-color .2s ease, background .2s ease, transform .15s ease;
  }
  .infinzi-quiz-widget .opt:hover{ transform:translateY(-1px); }
  .infinzi-quiz-widget .opt.chip-teal:hover{ border-color:var(--teal-deep); background:var(--teal-tint); }
  .infinzi-quiz-widget .opt.chip-purple:hover{ border-color:var(--purple-deep); background:var(--purple-tint); }
  .infinzi-quiz-widget .opt.chip-coral:hover{ border-color:var(--coral-deep); background:var(--coral-tint); }
  .infinzi-quiz-widget .opt.chip-amber:hover{ border-color:var(--amber-deep); background:var(--amber-tint); }
  .infinzi-quiz-widget .opt:active{ transform:translateY(0) scale(.99); }
  .infinzi-quiz-widget .opt-icon{ width:36px; height:36px; border-radius:9px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:18px; }
  .infinzi-quiz-widget .opt-title{ flex:1; font-weight:500; font-size:15px; margin:0; color:var(--ink); }
  .infinzi-quiz-widget .opt-arrow{ color:var(--gray); font-size:16px; transition: transform .2s ease, color .2s ease; }
  .infinzi-quiz-widget .opt:hover .opt-arrow{ transform:translateX(3px); }

  .infinzi-quiz-widget .back-btn{
    display:flex; align-items:center; gap:6px; margin-top:22px;
    background:none; border:none; font-size:13px; color:var(--gray); cursor:pointer; padding:0;
  }
  .infinzi-quiz-widget .back-btn:hover{ color:var(--ink); }
  .infinzi-quiz-widget .back-btn .icon{ font-size:14px; }

  .infinzi-quiz-widget .result-icon{
    width:52px; height:52px; border-radius:14px; margin-bottom:18px;
    display:flex; align-items:center; justify-content:center; font-size:24px;
    animation: infinzi-pop .4s ease;
  }
  @keyframes infinzi-pop{ from{ transform:scale(.6); opacity:0; } to{ transform:scale(1); opacity:1; } }
  .infinzi-quiz-widget .result-eyebrow{
    display:inline-block;
    font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase;
    letter-spacing:0.06em; margin:0 0 10px; padding:4px 10px; border-radius:6px;
  }
  .infinzi-quiz-widget .result-title{ font-family:'Sora',sans-serif; font-weight:700; font-size:30px; color:var(--ink); margin:0 0 12px; line-height:1.2; }
  .infinzi-quiz-widget .result-desc{ font-size:15.5px; line-height:1.65; color:var(--ink); max-width:480px; margin:0 0 20px; }

  .infinzi-quiz-widget .trust-row{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom:26px; }
  .infinzi-quiz-widget .trust-item{ display:flex; align-items:center; gap:7px; font-size:13px; color:var(--gray); }
  .infinzi-quiz-widget .trust-item .icon{ color:var(--green-deep); font-size:15px; }

  .infinzi-quiz-widget .cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
  .infinzi-quiz-widget .cta-primary, .infinzi-quiz-widget .cta-whatsapp, .infinzi-quiz-widget .cta-secondary{
    display:inline-flex; align-items:center; gap:8px; border-radius:9px;
    padding:13px 20px; font-weight:500; font-size:14.5px; text-decoration:none; cursor:pointer;
    transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
  }
  .infinzi-quiz-widget .cta-primary{ background:var(--ink); color:#ffffff; border:1px solid var(--ink); }
  .infinzi-quiz-widget .cta-primary:hover{ transform:translateY(-1px); background:#000; }
  .infinzi-quiz-widget .cta-whatsapp{ background:var(--paper); color:var(--green-deep); border:1.5px solid var(--green-deep); }
  .infinzi-quiz-widget .cta-whatsapp:hover{ transform:translateY(-1px); background:var(--green-tint); }
  .infinzi-quiz-widget .cta-secondary{ background:var(--paper); color:var(--ink); border:1px solid var(--line); }
  .infinzi-quiz-widget .cta-secondary:hover{ border-color:var(--green-deep); color:var(--green-deep); }

  .infinzi-quiz-widget .phones{ display:flex; flex-wrap:wrap; gap:20px; padding-top:18px; border-top:1px solid var(--line); margin-bottom:18px; }
  .infinzi-quiz-widget .phone-link{ display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--green-deep); text-decoration:none; font-weight:500; }
  .infinzi-quiz-widget .phone-link .icon{ font-size:15px; }

  .infinzi-quiz-widget .fallback-link{ font-size:13px; color:var(--gray); text-decoration:none; }
  .infinzi-quiz-widget .fallback-link:hover{ color:var(--ink); text-decoration:underline; }

  @media (max-width:680px){
    .infinzi-quiz-widget .shell{ padding:24px 20px 28px; border-radius:16px; }
    .infinzi-quiz-widget .service-grid{ grid-template-columns:repeat(3,1fr); }
    .infinzi-quiz-widget .layout.active{ grid-template-columns:1fr; gap:22px; }
    .infinzi-quiz-widget .rail{ flex-direction:row; align-items:flex-start; }
    .infinzi-quiz-widget .rail-item{ flex-direction:column; align-items:center; flex:1; text-align:center; gap:8px; }
    .infinzi-quiz-widget .rail-connector{ width:auto; height:2px; flex:1; min-height:0; margin:9px 4px 0; align-self:flex-start; }
    .infinzi-quiz-widget .rail-connector-fill{ width:0%; height:100%; transition:width .5s ease; }
    .infinzi-quiz-widget .rail-connector-fill.filled{ width:100%; height:100%; }
    .infinzi-quiz-widget .rail-text{ padding-bottom:0; }
    .infinzi-quiz-widget .intro h1{ font-size:23px; }
    .infinzi-quiz-widget h1{ font-size:21px; max-width:none; }
    .infinzi-quiz-widget .result-title{ font-size:24px; }
  }

  @media (prefers-reduced-motion: reduce){
    .infinzi-quiz-widget *{ transition-duration:0.01ms !important; animation-duration:0.01ms !important; }
  }
</style>

<div class="shell">

  <div class="intro" id="introSection">
    <span class="intro-eyebrow"><span class="icon" data-icon="sparkles" aria-hidden="true"></span> 2 quick questions</span>
    <h1>Which infinzi service is right for you?</h1>
    <p class="intro-sub">Answer two quick questions and we'll point you straight to the right team — or jump directly to a service below if you already know what you need.</p>
    <button class="start-btn" id="startBtn">Start the quiz <span class="icon" data-icon="arrow-right" aria-hidden="true"></span></button>

    <p class="intro-divider">Or jump straight to a service</p>
    <div class="service-grid">
      <button class="service-chip chip-teal" data-key="accounting">
        <span class="service-chip-icon"><span class="icon" data-icon="calculator" aria-hidden="true"></span></span>
        <span class="service-chip-label">Accounting</span>
      </button>
      <button class="service-chip chip-teal" data-key="bookkeeping">
        <span class="service-chip-icon"><span class="icon" data-icon="notebook" aria-hidden="true"></span></span>
        <span class="service-chip-label">Book keeping</span>
      </button>
      <button class="service-chip chip-teal" data-key="compliance">
        <span class="service-chip-icon"><span class="icon" data-icon="shield" aria-hidden="true"></span></span>
        <span class="service-chip-label">Compliances</span>
      </button>
      <button class="service-chip chip-teal" data-key="offshore">
        <span class="service-chip-icon"><span class="icon" data-icon="globe" aria-hidden="true"></span></span>
        <span class="service-chip-label">Offshore accounting</span>
      </button>
      <button class="service-chip chip-amber" data-key="consulting">
        <span class="service-chip-icon"><span class="icon" data-icon="bulb" aria-hidden="true"></span></span>
        <span class="service-chip-label">Business consulting</span>
      </button>
      <button class="service-chip chip-coral" data-key="hr">
        <span class="service-chip-icon"><span class="icon" data-icon="users" aria-hidden="true"></span></span>
        <span class="service-chip-label">HR management</span>
      </button>
      <button class="service-chip chip-coral" data-key="payroll">
        <span class="service-chip-icon"><span class="icon" data-icon="cash" aria-hidden="true"></span></span>
        <span class="service-chip-label">Payroll</span>
      </button>
      <button class="service-chip chip-coral" data-key="manpower">
        <span class="service-chip-icon"><span class="icon" data-icon="userplus" aria-hidden="true"></span></span>
        <span class="service-chip-label">Manpower</span>
      </button>
      <button class="service-chip chip-purple" data-key="registration">
        <span class="service-chip-icon"><span class="icon" data-icon="bank" aria-hidden="true"></span></span>
        <span class="service-chip-label">Registration</span>
      </button>
      <button class="service-chip chip-purple" data-key="cs">
        <span class="service-chip-icon"><span class="icon" data-icon="certificate" aria-hidden="true"></span></span>
        <span class="service-chip-label">Company secretary</span>
      </button>
    </div>
  </div>

  <div class="layout" id="layoutSection">

    <div class="rail">
      <div class="rail-item">
        <div class="rail-node-col">
          <div class="rail-dot active" id="dot1"><span class="icon" data-icon="check" aria-hidden="true"></span></div>
          <div class="rail-connector"><div class="rail-connector-fill" id="fill1"></div></div>
        </div>
        <div class="rail-text">
          <p class="rail-label">01 — Focus</p>
          <p class="rail-value pending" id="label1">Choosing…</p>
        </div>
      </div>
      <div class="rail-item">
        <div class="rail-node-col">
          <div class="rail-dot" id="dot2"><span class="icon" data-icon="check" aria-hidden="true"></span></div>
          <div class="rail-connector"><div class="rail-connector-fill" id="fill2"></div></div>
        </div>
        <div class="rail-text">
          <p class="rail-label">02 — Need</p>
          <p class="rail-value pending" id="label2">Pending</p>
        </div>
      </div>
      <div class="rail-item">
        <div class="rail-node-col">
          <div class="rail-dot" id="dot3"><span class="icon" data-icon="check" aria-hidden="true"></span></div>
        </div>
        <div class="rail-text">
          <p class="rail-label">03 — Match</p>
          <p class="rail-value pending" id="label3">Pending</p>
        </div>
      </div>
    </div>

    <div class="panel">

      <div class="stage active" data-stage="start">
        <p class="eyebrow">Question 1 of 2</p>
        <h1>What brings you here today?</h1>
        <div class="options">
          <button class="opt chip-teal" data-next="finance" data-label="Money & records">
            <span class="opt-icon"><span class="icon" data-icon="moneyreport" aria-hidden="true"></span></span>
            <span class="opt-title">Sorting out my money and records</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-purple" data-next="registration" data-label="Company setup">
            <span class="opt-icon"><span class="icon" data-icon="skyscraper" aria-hidden="true"></span></span>
            <span class="opt-title">Setting up or registering my company</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-coral" data-next="people" data-label="Team & payroll">
            <span class="opt-icon"><span class="icon" data-icon="users" aria-hidden="true"></span></span>
            <span class="opt-title">Managing my team and payroll</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-amber" data-next="result:consulting" data-label="Expert advice">
            <span class="opt-icon"><span class="icon" data-icon="bulb" aria-hidden="true"></span></span>
            <span class="opt-title">Getting expert business advice</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
        </div>
        <button class="back-btn" data-back="intro"><span class="icon" data-icon="arrow-left" aria-hidden="true"></span> Back</button>
      </div>

      <div class="stage" data-stage="finance">
        <p class="eyebrow">Question 2 of 2</p>
        <h1>What's the finance headache?</h1>
        <div class="options">
          <button class="opt chip-teal" data-next="result:bookkeeping" data-label="Books not updated">
            <span class="opt-icon"><span class="icon" data-icon="notebook" aria-hidden="true"></span></span>
            <span class="opt-title">My books aren't updated or organized</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-teal" data-next="result:accounting" data-label="Need an accountant">
            <span class="opt-icon"><span class="icon" data-icon="calculator" aria-hidden="true"></span></span>
            <span class="opt-title">I need a qualified accountant handling this ongoing</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-teal" data-next="result:compliance" data-label="Tax deadlines">
            <span class="opt-icon"><span class="icon" data-icon="shield" aria-hidden="true"></span></span>
            <span class="opt-title">I'm worried about GST, TDS and filing deadlines</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-teal" data-next="result:offshore" data-label="Offshore team">
            <span class="opt-icon"><span class="icon" data-icon="globe" aria-hidden="true"></span></span>
            <span class="opt-title">I want an offshore accounting team for my business</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
        </div>
        <button class="back-btn" data-back="start"><span class="icon" data-icon="arrow-left" aria-hidden="true"></span> Back</button>
      </div>

      <div class="stage" data-stage="registration">
        <p class="eyebrow">Question 2 of 2</p>
        <h1>What's the registration need?</h1>
        <div class="options">
          <button class="opt chip-purple" data-next="result:registration" data-label="New company">
            <span class="opt-icon"><span class="icon" data-icon="bank" aria-hidden="true"></span></span>
            <span class="opt-title">I'm starting a new company or business entity</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-purple" data-next="result:cs" data-label="ROC & secretarial">
            <span class="opt-icon"><span class="icon" data-icon="certificate" aria-hidden="true"></span></span>
            <span class="opt-title">I need ongoing ROC filings and secretarial compliance</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
        </div>
        <button class="back-btn" data-back="start"><span class="icon" data-icon="arrow-left" aria-hidden="true"></span> Back</button>
      </div>

      <div class="stage" data-stage="people">
        <p class="eyebrow">Question 2 of 2</p>
        <h1>What's the people need?</h1>
        <div class="options">
          <button class="opt chip-coral" data-next="result:payroll" data-label="Payroll">
            <span class="opt-icon"><span class="icon" data-icon="cash" aria-hidden="true"></span></span>
            <span class="opt-title">Getting salaries processed accurately and on time</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-coral" data-next="result:hr" data-label="HR & hiring">
            <span class="opt-icon"><span class="icon" data-icon="users" aria-hidden="true"></span></span>
            <span class="opt-title">Hiring, onboarding and HR policies</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
          <button class="opt chip-coral" data-next="result:manpower" data-label="Staffing">
            <span class="opt-icon"><span class="icon" data-icon="userplus" aria-hidden="true"></span></span>
            <span class="opt-title">Getting contract or temporary staff</span>
            <span class="icon opt-arrow" data-icon="arrow-right" aria-hidden="true"></span>
          </button>
        </div>
        <button class="back-btn" data-back="start"><span class="icon" data-icon="arrow-left" aria-hidden="true"></span> Back</button>
      </div>

      <div class="stage" data-stage="result" aria-live="polite">
        <div class="result-icon" id="resultIcon"></div>
        <span class="result-eyebrow" id="resultEyebrow">Your match</span>
        <h2 class="result-title" id="resultTitle"></h2>
        <p class="result-desc" id="resultDesc"></p>
        <div class="trust-row">
          <span class="trust-item"><span class="icon" data-icon="checkcircle" aria-hidden="true"></span>40+ years combined experience</span>
          <span class="trust-item"><span class="icon" data-icon="checkcircle" aria-hidden="true"></span>Dedicated point of contact</span>
        </div>
        <div class="cta-row">
          <a class="cta-primary" id="resultCta" href="https://www.infinzi.in/contact-us/" target="_top">Enquire now <span class="icon" data-icon="arrow-right" aria-hidden="true"></span></a>
          <a class="cta-whatsapp" href="https://api.whatsapp.com/send/?phone=919820118099" target="_top">WhatsApp us <span class="icon" data-icon="whatsapp" aria-hidden="true"></span></a>
          <a class="cta-secondary" id="resultLearnMore" href="#" target="_top">See this service <span class="icon" data-icon="externallink" aria-hidden="true"></span></a>
        </div>
        <div class="phones">
          <a class="phone-link" href="tel:+919820118099"><span class="icon" data-icon="phone" aria-hidden="true"></span>+91 98201 18099</a>
          <a class="phone-link" href="tel:+919372101776"><span class="icon" data-icon="phone" aria-hidden="true"></span>+91 93721 01776</a>
          <a class="phone-link" href="mailto:[email protected]"><span class="icon" data-icon="mail" aria-hidden="true"></span>[email protected]</a>
        </div>
        <a class="fallback-link" href="https://www.infinzi.in/services/" target="_top">Not the right fit? See all services</a>
      </div>

    </div>
  </div>
</div>
</div>

<script>
(function(){
  const ICONS = {
    check:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>',
    "arrow-right":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>',
    "arrow-left":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="19" y1="12" x2="5" y2="12"/><polyline points="12 19 5 12 12 5"/></svg>',
    message:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.4 8.4 0 0 1-4.9 7.6 8.5 8.5 0 0 1-8.3-.4L3 21l1.9-5.6a8.4 8.4 0 0 1 3.7-11.1 8.5 8.5 0 0 1 11.6 3.9 8.4 8.4 0 0 1 .8 3.2z"/></svg>',
    refresh:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 4v6h-6"/><path d="M1 20v-6h6"/><path d="M3.5 9a9 9 0 0 1 14.8-3.4L23 10"/><path d="M20.5 15a9 9 0 0 1-14.8 3.4L1 14"/></svg>',
    sparkles:'<svg viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M12 2l1.8 5.4L19 9l-5.2 1.6L12 16l-1.8-5.4L5 9l5.2-1.6L12 2z"/><path d="M19 14l.9 2.7L22.5 17.5l-2.6.8L19 21l-.9-2.7-2.6-.8 2.6-.8L19 14z"/></svg>',
    calculator:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="2" width="14" height="20" rx="2"/><line x1="8" y1="6" x2="16" y2="6"/><line x1="8" y1="11" x2="8" y2="11.01"/><line x1="12" y1="11" x2="12" y2="11.01"/><line x1="16" y1="11" x2="16" y2="11.01"/><line x1="8" y1="15" x2="8" y2="15.01"/><line x1="12" y1="15" x2="12" y2="15.01"/><line x1="16" y1="15" x2="16" y2="15.01"/><line x1="8" y1="19" x2="8" y2="19.01"/><line x1="12" y1="19" x2="12" y2="19.01"/><line x1="16" y1="19" x2="16" y2="19.01"/></svg>',
    notebook:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="3" width="16" height="18" rx="2"/><line x1="9" y1="3" x2="9" y2="21"/><line x1="12.5" y1="8" x2="17" y2="8"/><line x1="12.5" y1="12" x2="17" y2="12"/><line x1="12.5" y1="16" x2="17" y2="16"/></svg>',
    shield:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5l8-3z"/><polyline points="9 12 11 14 15.5 9.5"/></svg>',
    globe:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><line x1="3" y1="12" x2="21" y2="12"/><path d="M12 3c2.5 2.5 4 5.7 4 9s-1.5 6.5-4 9c-2.5-2.5-4-5.7-4-9s1.5-6.5 4-9z"/></svg>',
    users:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8" r="3.3"/><path d="M2.5 21v-1.7A5.3 5.3 0 0 1 7.8 14h2.4a5.3 5.3 0 0 1 5.3 5.3V21"/><circle cx="17.5" cy="9" r="2.4"/><path d="M15.8 21v-1.4a4.4 4.4 0 0 0-2.1-3.75"/></svg>',
    cash:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><circle cx="12" cy="12" r="3"/><line x1="6" y1="9" x2="6" y2="9.01"/><line x1="18" y1="15" x2="18" y2="15.01"/></svg>',
    bulb:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.3h6c0-1 .4-1.8 1-2.3A7 7 0 0 0 12 2z"/><line x1="9.5" y1="18" x2="14.5" y2="18"/><line x1="10.2" y1="21" x2="13.8" y2="21"/></svg>',
    bank:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 10L12 4l9 6"/><rect x="4" y="10" width="16" height="9" rx="1"/><line x1="8" y1="13" x2="8" y2="17"/><line x1="12" y1="13" x2="12" y2="17"/><line x1="16" y1="13" x2="16" y2="17"/><line x1="3" y1="21" x2="21" y2="21"/></svg>',
    certificate:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8.5" r="5.2"/><path d="M8.7 13 7 22l5-3 5 3-1.7-9"/></svg>',
    userplus:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="7.5" r="3.8"/><path d="M2 21v-1.6a5.3 5.3 0 0 1 5.3-5.3h3.4a5.3 5.3 0 0 1 5.3 5.3V21"/><line x1="19" y1="8" x2="19" y2="14"/><line x1="16" y1="11" x2="22" y2="11"/></svg>',
    moneyreport:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="3" width="16" height="18" rx="2"/><circle cx="12" cy="13.5" r="3.2"/><line x1="8" y1="7" x2="16" y2="7"/></svg>',
    skyscraper:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="8" height="20"/><rect x="13" y="8" width="7" height="14"/><line x1="6.5" y1="6" x2="6.5" y2="6.01"/><line x1="9.5" y1="6" x2="9.5" y2="6.01"/><line x1="6.5" y1="10" x2="6.5" y2="10.01"/><line x1="9.5" y1="10" x2="9.5" y2="10.01"/><line x1="6.5" y1="14" x2="6.5" y2="14.01"/><line x1="9.5" y1="14" x2="9.5" y2="14.01"/><line x1="15.5" y1="12" x2="15.5" y2="12.01"/><line x1="17.5" y1="12" x2="17.5" y2="12.01"/><line x1="15.5" y1="16" x2="15.5" y2="16.01"/><line x1="17.5" y1="16" x2="17.5" y2="16.01"/></svg>',
    externallink:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>',
    whatsapp:'<svg viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M12 2a10 10 0 0 0-8.6 15L2 22l5.2-1.4A10 10 0 1 0 12 2zm0 18.2a8.1 8.1 0 0 1-4.2-1.2l-.3-.2-3.1.8.8-3-.2-.3A8.2 8.2 0 1 1 12 20.2z"/><path d="M16.9 14.2c-.3-.1-1.6-.8-1.8-.9-.2-.1-.4-.1-.6.1-.2.2-.7.9-.8 1-.2.2-.3.2-.5.1-.3-.1-1.1-.4-2.1-1.3-.8-.7-1.3-1.6-1.4-1.9-.2-.3 0-.4.1-.6.1-.1.3-.3.4-.5.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5-.1-.1-.6-1.5-.8-2-.2-.5-.4-.5-.6-.5h-.5c-.2 0-.5.1-.7.3-.2.2-.9.9-.9 2.2s1 2.6 1.1 2.7c.1.2 2 3 4.7 4.2.7.3 1.2.5 1.6.6.7.2 1.3.2 1.8.1.5-.1 1.6-.7 1.9-1.3.2-.6.2-1.1.2-1.2-.1-.2-.3-.2-.6-.4z"/></svg>',
    phone:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.5 2.8.7a2 2 0 0 1 1.7 2z"/></svg>',
    mail:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><polyline points="2 7 12 13 22 7"/></svg>',
    checkcircle:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9.5"/><polyline points="8 12.5 11 15.5 16 9.5"/></svg>'
  };

  const root = document.currentScript.closest('.infinzi-quiz-widget') || document;

  root.querySelectorAll('[data-icon]').forEach(el => {
    el.innerHTML = ICONS[el.dataset.icon] || '';
  });

  const RESULTS = {
    accounting:{ title:"Accounting", icon:"calculator", color:"teal",
      desc:"A dedicated accountant handles your day-to-day books, ledgers and monthly reports, so your numbers are always current and audit-ready.",
      url:"https://www.infinzi.in/accounting-services-in-mumbai/" },
    bookkeeping:{ title:"Book keeping", icon:"notebook", color:"teal",
      desc:"We record every transaction as it happens and keep your books clean, reconciled and ready whenever you need them.",
      url:"https://www.infinzi.in/outsource-bookkeeping-services-in-india/" },
    compliance:{ title:"Compliances", icon:"shield", color:"teal",
      desc:"Stay ahead of GST, TDS, ROC and income tax deadlines. We track every filing so nothing slips through the cracks.",
      url:"https://www.infinzi.in/compliance-consultancy-services-in-india/" },
    offshore:{ title:"Offshore accounting", icon:"globe", color:"teal",
      desc:"Build a dedicated offshore accounting team for your overseas business, at a fraction of the cost of hiring locally.",
      url:"https://www.infinzi.in/offshore-accounting/" },
    hr:{ title:"HR management", icon:"users", color:"coral",
      desc:"From hiring and onboarding to policy and employee records, we help you run HR without building an in-house team.",
      url:"https://www.infinzi.in/hr-management/" },
    payroll:{ title:"Payroll management", icon:"cash", color:"coral",
      desc:"Accurate salary processing, statutory deductions and payslips, delivered on time, every single month.",
      url:"https://www.infinzi.in/payroll-management/" },
    consulting:{ title:"Business consulting", icon:"bulb", color:"amber",
      desc:"Get hands-on guidance on structuring, scaling and running your business from a team with 40+ years of combined experience.",
      url:"https://www.infinzi.in/business-consulting/" },
    registration:{ title:"Registration & incorporation", icon:"bank", color:"purple",
      desc:"We handle your company or business entity registration end to end, so you can focus on actually running it.",
      url:"https://www.infinzi.in/registration-incorporation/" },
    cs:{ title:"Company secretary", icon:"certificate", color:"purple",
      desc:"Board meetings, ROC filings and ongoing secretarial compliance, handled by a qualified company secretary.",
      url:"https://www.infinzi.in/company-secretary/" },
    manpower:{ title:"Manpower services", icon:"userplus", color:"coral",
      desc:"Get skilled staff on contract or full-time, scaled up or down as your business needs change.",
      url:"https://www.infinzi.in/man-power/" }
  };
  const CLUSTER_TINT = { teal:"var(--teal-tint)", purple:"var(--purple-tint)", coral:"var(--coral-tint)", amber:"var(--amber-tint)" };
  const CLUSTER_DEEP = { teal:"var(--teal-deep)", purple:"var(--purple-deep)", coral:"var(--coral-deep)", amber:"var(--amber-deep)" };

  const introSection = root.querySelector('#introSection');
  const layoutSection = root.querySelector('#layoutSection');
  const dot1 = root.querySelector('#dot1');
  const dot2 = root.querySelector('#dot2');
  const dot3 = root.querySelector('#dot3');
  const fill1 = root.querySelector('#fill1');
  const fill2 = root.querySelector('#fill2');
  const label1 = root.querySelector('#label1');
  const label2 = root.querySelector('#label2');
  const label3 = root.querySelector('#label3');

  function showStage(name){
    root.querySelectorAll('.stage').forEach(s => s.classList.remove('active'));
    const next = root.querySelector('[data-stage="' + name + '"]');
    next.classList.add('active','enter');
    requestAnimationFrame(() => requestAnimationFrame(() => next.classList.remove('enter')));
  }

  function enterQuiz(){
    introSection.style.display = 'none';
    layoutSection.classList.add('active');
  }

  function resetAll(){
    introSection.style.display = 'block';
    layoutSection.classList.remove('active');
    dot1.classList.add('active'); dot1.classList.remove('done');
    dot2.classList.remove('active','done');
    dot3.classList.remove('active','done');
    fill1.classList.remove('filled');
    fill2.classList.remove('filled');
    label1.textContent = 'Choosing…'; label1.classList.add('pending');
    label2.textContent = 'Pending'; label2.classList.add('pending');
    label3.textContent = 'Pending'; label3.classList.add('pending');
    showStage('start');
  }

  function showResult(key){
    const r = RESULTS[key];
    root.querySelector('#resultTitle').textContent = r.title;
    root.querySelector('#resultDesc').textContent = r.desc;
    const icon = root.querySelector('#resultIcon');
    icon.innerHTML = ICONS[r.icon] || '';
    icon.style.background = CLUSTER_TINT[r.color];
    icon.style.color = CLUSTER_DEEP[r.color];
    const eyebrow = root.querySelector('#resultEyebrow');
    eyebrow.style.background = CLUSTER_TINT[r.color];
    eyebrow.style.color = CLUSTER_DEEP[r.color];
    root.querySelector('#resultLearnMore').href = r.url;
    showStage('result');
  }

  function jumpToResult(key, focusLabel){
    dot1.classList.add('done'); fill1.classList.add('filled');
    label1.textContent = focusLabel; label1.classList.remove('pending');
    dot2.classList.add('done'); fill2.classList.add('filled');
    label2.textContent = focusLabel; label2.classList.remove('pending');
    dot3.classList.add('done');
    label3.textContent = RESULTS[key].title; label3.classList.remove('pending');
    showResult(key);
  }

  root.querySelector('#startBtn').addEventListener('click', () => {
    enterQuiz();
    showStage('start');
  });

  root.querySelectorAll('.service-chip').forEach(chip => {
    chip.addEventListener('click', () => {
      enterQuiz();
      jumpToResult(chip.dataset.key, RESULTS[chip.dataset.key].title);
    });
  });

  root.querySelectorAll('[data-stage] .opt').forEach(btn => {
    btn.addEventListener('click', () => {
      const stageName = btn.closest('.stage').dataset.stage;
      const next = btn.dataset.next;
      const chosenLabel = btn.dataset.label;

      if(stageName === 'start'){
        dot1.classList.add('done');
        fill1.classList.add('filled');
        label1.textContent = chosenLabel; label1.classList.remove('pending');
        dot2.classList.add('active');

        if(next.startsWith('result:')){
          const key = next.split(':')[1];
          dot2.classList.add('done'); fill2.classList.add('filled');
          dot3.classList.add('done');
          label2.textContent = chosenLabel; label2.classList.remove('pending');
          label3.textContent = RESULTS[key].title; label3.classList.remove('pending');
          showResult(key);
        } else {
          showStage(next);
        }
      } else {
        dot2.classList.add('done'); fill2.classList.add('filled');
        label2.textContent = chosenLabel; label2.classList.remove('pending');
        dot3.classList.add('done');
        const key = next.split(':')[1];
        label3.textContent = RESULTS[key].title; label3.classList.remove('pending');
        showResult(key);
      }
    });
  });

  root.querySelectorAll('.back-btn').forEach(btn => {
    btn.addEventListener('click', () => {
      if(btn.dataset.back === 'intro'){
        introSection.style.display = 'block';
        layoutSection.classList.remove('active');
        return;
      }
      dot1.classList.remove('done'); dot1.classList.add('active');
      dot2.classList.remove('active','done');
      fill1.classList.remove('filled');
      label1.textContent = 'Choosing…'; label1.classList.add('pending');
      showStage(btn.dataset.back);
    });
  });
})();
</script>

Which pricing model works best? 

Most outsourcing providers offer different pricing models based on the level of support required. Understanding these options makes it easier to compare service providers. 

1. Fixed monthly pricing 

This is the most popular pricing model among startups and SMEs. Businesses pay a fixed monthly fee for an agreed list of services. 

It offers several advantages: 

  • Predictable monthly expenses 
  • Easy budgeting 
  • Continuous accounting support 
  • No surprise billing 

Businesses that need regular accounting support generally prefer this model because it provides consistency throughout the year. 

2. Hourly pricing 

Some companies only require occasional accounting support. In such cases, paying by the hour can be more economical. 

This model is commonly used for: 

  • Financial consultations 
  • Tax planning 
  • One-time accounting projects 
  • Year-end financial reviews 

3. Custom pricing 

Larger businesses often have unique accounting requirements that cannot fit into a standard package. In these situations, service providers prepare customised pricing based on workload, reporting requirements, business complexity, and the number of legal entities involved. 

Many accounting firms in India offer flexible pricing plans that can scale as a business grows. 

How much does accounting outsourcing cost in India in 2026? 

Although prices vary from one provider to another, the table below gives a general estimate of current market rates. 

Service Estimated Monthly Cost 
Basic bookkeeping ₹5,000 – ₹15,000 
Bookkeeping with GST compliance ₹10,000 – ₹25,000 
Complete accounting support ₹20,000 – ₹60,000 
Virtual CFO services ₹50,000 and above 

These figures are only estimates. Final cost depends on business size, transaction volume, reporting needs, and expertise level. Rather than selecting the lowest quote, businesses should compare value, service quality, and experience among accounting services in India. 

Is bookkeeping outsourcing worth the investment? 

Many business owners compare outsourcing costs with the salary of an in-house accountant. While this seems like a fair comparison, it does not show the complete picture. Hiring an internal team also involves recruitment costs, employee benefits, office space, software licences, and regular training. 

With bookkeeping outsourcing, businesses only pay for the services they need. This makes it easier to manage costs while receiving support from experienced professionals. 

Some of the key advantages include: 

  • Lower overhead costs 
  • Access to qualified accounting experts 
  • Better financial accuracy 
  • Timely reports and tax filings 
  • Improved business focus 
  • Easy scalability as the business grows 

For startups and SMEs, outsourcing often provides better value than building a complete in-house accounting department. 

How can businesses choose the right accounting partner? 

Price is important, but it should never be the only factor. A reliable accounting partner should understand your business requirements and offer solutions that support long-term growth. 

When comparing service providers, look for: 

  • Experience in your industry. 
  • A clear service scope with transparent pricing. 
  • Strong data security measures. 
  • Cloud-based accounting software. 
  • Responsive customer support. 
  • Flexible service plans that can grow with your business. 

Many established accounting firms in India also provide advisory support, helping businesses improve financial planning instead of only maintaining records. 

Tips to reduce accounting outsourcing costs 

Businesses can control outsourcing expenses without compromising on service quality. A few practical steps can make a noticeable difference. 

Some useful tips include: 

  • Keep financial records organised before sharing them. 
  • Use cloud accounting software for easier collaboration. 
  • Clearly define the services you require. 
  • Avoid outsourcing tasks that can be managed internally. 
  • Review your service package regularly as your business grows. 
  • Choose a provider that offers scalable solutions. 

Following these practices helps businesses get the best value from bookkeeping outsourcing while maintaining efficient financial operations. 

Choosing the right accounting partner for long-term growth 

Outsourced accounting costs should be weighed against the value it offers. It enhances financial accuracy, simplifies compliance, cuts administrative work, and improves insight into business performance. By understanding pricing models and service quality, businesses can select options that fit their needs and budget. 

Infinzi offers accounting solutions tailored for startups, SMEs, and growing businesses seeking to streamline their financial operations. Emphasizing dependable service, compliance, and scalable support, the company enables businesses to manage their accounting needs more efficiently while preparing for future growth. 

If your business is planning to explore accounting services in India or bookkeeping outsourcing in 2026, connect with Infinzi to discuss a solution that fits your business goals. 

→ Table of Content