1import{j as e,S as o,H as l,P as c,a as d}from"./index-D4J_1siJ.js";import{L as n}from"./react-Ckdnth5K.js";import{s as h}from"./servicesLaunch--bwmeBCq.js";import{S as m}from"./ServicesPrimaryCta-BtQhRa1r.js";import{y as i,a0 as p}from"./icons-zJT0-GYi.js";const x=[{size:"Under 10 staff",pct:43.5},{size:"10 to 30 staff",pct:63.8},{size:"31 to 100 staff",pct:73.8},{size:"101 to 300 staff",pct:90.1}],g=[{title:"Time is in one place and rates are in another",body:"Hours live in a timesheet app or a tab, rates live in a partner's head, and the two meet in a spreadsheet at month end. Whoever builds that spreadsheet is the only person who can answer whether last month was profitable."},{title:"Quotes and delivery disagree",body:"The quote said 120 hours. The project plan, made a week later, says 160. Nobody re-priced, so the difference is margin that was given away before anyone logged a day."},{title:"Retainers hide over-servicing",body:"A retainer looks fine every month because the invoice is the same. The hours underneath it are not, and without included hours per period on the record, nobody sees the drift until renewal."},{title:"The client asks for a status and gets a call",body:"A partner spends the afternoon assembling an update from three tools. The client wanted one page."}],f=["Clients and contacts, with every deal, project and hour hanging off the client","A pipeline with a billing model per deal: hourly, fixed fee, retainer or milestones","Quotes from priced lines, accepted by the client on a private link, carried onto the project","Hours on tasks with approval, priced at a cost rate and a billable rate from a ladder that knows the client and the project","Margin per client, per project and per person, with the change since last period split into rate, volume and mix","Rebillable and absorbed expenses, and a client portal scoped to each client","Guests log time and expenses on the projects they are invited to, free within the plan's guest allowance"],u=a=>[{q:"What is professional services automation, for a small consultancy?",a:"One system holding the deal, the project, the approved hours and the margin, instead of a CRM, a timesheet tool and a spreadsheet that meet once a month. For a firm under thirty people the test is whether it replaces the spreadsheet a partner rebuilds every month, not whether it has every module a large firm buys."},{q:"When does a consultancy need PSA instead of a spreadsheet?",a:"Usually somewhere between eight and fifteen active clients or consultants, which is where the month-end spreadsheet stops being maintainable by one person. PSA adoption is 43.5% in firms under ten staff and 63.8% at ten to thirty, so most firms at that size are still deciding."},{q:"What does Onplana Services cost?",a:`$24 per seat a month, or $19 per seat a month billed annually, with no seat minimum. Occasional people log time and expenses as guests without a seat, free within the plan's guest allowance. ${a.psaFaq}`},{q:"Does it invoice or connect to my accounting system?",a:"Not today. It works out what each engagement earned and cost, and marks expenses rebillable or absorbed, but the invoice and the ledger posting still happen in your accounting system. Accounting connections are being built and are not available yet."},{q:"Do we have to leave Microsoft Project or our current schedule tool?",a:"Onplana imports .mpp and Project Online schedules with dependencies, custom fields, baselines and costs, and runs them as the delivery side of the same record. Onplana Services sits on top of that; you do not run two schedulers."},{q:"Can an AI agent work in it?",a:"Yes. Clients, deals, quotes, time and expenses are reachable over the API and the MCP connector, so an agent connected from Claude, ChatGPT or Copilot can read the pipeline and, with the right role, create deals and quotes or log time on your behalf."}];function N({launch:a=h()}={}){const s=u(a);return e.jsxs("div",{children:[e.jsx(o,{title:"PSA for a Small Consultancy: Where the Spreadsheet Breaks",description:"Professional services automation for a consultancy under thirty peo
1ple: where the month-end spreadsheet breaks, and what PSA should cost at that size.",path:"/services/psa-for-small-consultancies",type:"article"}),e.jsxs(l,{children:[e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://onplana.com/"},{"@type":"ListItem",position:2,name:"Onplana Services",item:"https://onplana.com/services"},{"@type":"ListItem",position:3,name:"PSA for small consultancies",item:"https://onplana.com/services/psa-for-small-consultancies"}]})}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:s.map(t=>({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))})})]}),e.jsx("section",{className:"section bg-gradient-to-b from-indigo-50 to-white px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsxs("div",{className:"badge bg-amber-100 text-amber-800 mb-6 inline-flex",children:[a.signupOpen?e.jsx(i,{className:"w-3.5 h-3.5 mr-1","aria-hidden":"true"}):e.jsx(p,{className:"w-3.5 h-3.5 mr-1","aria-hidden":"true"})," ","Onplana Services · ",a.badge]}),e.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-gray-900 mb-5 leading-tight",children:"PSA for a small consultancy"}),e.jsxs("p",{className:"text-xl text-gray-600 leading-relaxed mb-4",children:[e.jsx("strong",{className:"text-gray-900",children:"Professional services automation for a firm under thirty people should cost what the spreadsheet costs to replace,"})," ","and do the four things the spreadsheet does at month end: join the hours to the rates, the rates to the client, the client to the deal, and all of it to a margin figure a partner trusts."]}),e.jsx("p",{className:"text-gray-600 leading-relaxed",children:"Most tools in this category are priced and implemented for fifty seats and up, which is why the firms that need it most are the ones still running on a workbook."})]})}),e.jsx("section",{className:"section px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Who actually has PSA, by firm size"}),e.jsx("p",{className:"text-gray-600 leading-relaxed mb-6",children:"Share of professional services firms using a commercial PSA tool, from SPI Researchâs 2025 benchmark of 403 firms. The small end is the open end."}),e.jsx("div",{className:"space-y-3",role:"img","aria-label":"PSA adoption by firm size: under 10 staff 43.5%, 10 to 30 staff 63.8%, 31 to 100 staff 73.8%, 101 to 300 staff 90.1%",children:x.map(t=>e.jsxs("div",{className:"grid grid-cols-[130px_1fr_56px] items-center gap-3 text-sm",children:[e.jsx("span",{className:"text-gray-700",children:t.size}),e.jsx("div",{className:"h-3.5 rounded-r bg-gray-100 relative",children:e.jsx("div",{className:"absolute inset-y-0 left-0 rounded-r bg-indigo-600",style:{width:`${t.pct}%`}})}),e.jsxs("span",{className:"font-mono tabular-nums text-right text-gray-900",children:[t.pct,"%"]})]},t.size))}),e.jsxs("p",{className:"text-xs text-gray-500 mt-4",children:["Source: SPI Research, 2025 Professional Services Maturity Benchmark, Table 66 (2024 data), via"," ",e.jsx("a",{href:"https://www.certinia.com/blog/analyzing-the-2026-spi-research-professional-services-maturity-benchmark-report/",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-indigo-600",children:"Certiniaâs analysis of the 2026 edition"}),". Billable utilization across all firms fell to 66.4% in 2025, the lowest SPI has recorded."]})]})}),e.jsx("section",{className:"section bg-slate-50 px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-3",children:"Where the spreadsheet breaks"}),e.jsx("p",{className:"text-gray-600 leading-relaxed mb-6",children:"The breakpoint is usually somewhere between eight and fifteen active clients or consultants. It arrives as one of these four."}),e.jsx("div",{className:"space-y-4",children:g.map((t,r)=>e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-white p-5",children:[e.jsxs("div",{className:"flex items-baseline gap-3 mb-1.5",children:[e.jsx("span",{className:"font-mono text-xs text-gray-400 tabular-nums",children:r+1}),e.jsx("h3",{className:"font-semibold text-gray-900",children:t.title})]}),e.jsx("p",{className:"text-gray-600 leading-relaxed text-[15px]",children:t.body})]},t.title))})]})}),e.jsx("section",{className:"section px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-3",children:"What Onplana Services does for a firm this size"}),e.jsx("p",{className:"text-gray-600 leading-relaxed mb-6",children:"Everything Onplana does for delivery, schedules, timesheets, capacity and earned value, plus the commercial record around it. Eac
1h line below is built and running."}),e.jsx("div",{className:"my-6",children:e.jsx(c,{src:"/product/services-margin.webp",alt:"The Onplana margin report showing revenue, cost and margin per currency, a breakdown of what moved it, and the approved hours and expenses it was built from",caption:"The margin report: revenue, cost and margin per project and per person, with how each hour was priced.",width:2040,height:1421})}),e.jsx("ul",{className:"space-y-3",children:f.map(t=>e.jsxs("li",{className:"flex gap-3 text-gray-700",children:[e.jsx(i,{className:"w-5 h-5 text-emerald-500 flex-shrink-0 mt-0.5","aria-hidden":"true"}),e.jsx("span",{children:t})]},t))}),e.jsx("p",{className:"text-sm text-gray-500 mt-5",children:"Not on the list: invoicing and posting to your ledger. Those still happen in your accounting system, and the connections to it are being built."})]})}),e.jsx("section",{className:"section bg-slate-50 px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-3",children:"What it should cost at this size"}),e.jsx("p",{className:"text-gray-600 leading-relaxed mb-4",children:"$24 per seat a month, $19 billed annually, no seat minimum and no onboarding package. A twelve-person firm pays for the twelve people who sell, plan and approve; the contractor who logs eight hours a week is a guest and does not need a seat."}),e.jsx("p",{className:"text-gray-600 leading-relaxed",children:"The comparison that matters is not against other software. It is against the partner afternoon that rebuilds the month-end workbook, priced at that partnerâs rate, twelve times a year."})]})}),e.jsx("section",{className:"section px-4",children:e.jsxs("div",{className:"container-lg max-w-3xl",children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6",children:"Questions small firms ask"}),e.jsx("div",{className:"space-y-6",children:s.map(t=>e.jsxs("div",{className:"border-b border-gray-200 pb-6 last:border-0",children:[e.jsx("h3",{className:"font-bold text-gray-900 mb-2",children:t.q}),e.jsx("p",{className:"text-gray-600 leading-relaxed",children:t.a})]},t.q))})]})}),e.jsx("section",{className:"py-14 bg-indigo-600 px-4",children:e.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[e.jsx("h2",{className:"text-2xl font-bold text-white mb-3",children:a.landingHeading}),e.jsxs("p",{className:"text-indigo-100 mb-6",children:[a.psaFooter," ","The delivery side is Onplana itself and is available now, on a free plan that already carries rate cards."]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(m,{launch:a,location:"psa-for-small-consultancies"}),e.jsx(n,{to:"/solutions/professional-services",onClick:()=>d.servicesCta("Onplana for professional services","psa-for-small-consultancies"),className:"inline-flex items-center justify-center gap-2 px-6 py-3 rounded-lg border border-indigo-300 text-white font-semibold hover:bg-indigo-500 transition-colors",children:"The delivery side, available now"})]}),e.jsxs("p",{className:"text-indigo-200 text-sm mt-5",children:["Choosing between a CRM and this? Read ",e.jsx(n,{to:"/services/crm-for-consultants",className:"underline hover:text-white",children:"a CRM for consultants"}),"."]})]})})]})}export{N as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.