1:"$Sreact.fragment" 2:I[22016,["/_next/static/chunks/238f5-k2_z8v5.js","/_next/static/chunks/3bh0eus2psr7s.js"],""] 3:I[5014,["/_next/static/chunks/238f5-k2_z8v5.js","/_next/static/chunks/3bh0eus2psr7s.js"],"default"] a:X f:X f:C 0:{"buildId":"Al_yH0nozFsdUPKsBZmuh","data":[{"rsc":["$","$1","c",{"children":[[[["$","script","0",{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://www.silvershark.com.my/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Insights\",\"item\":\"https://www.silvershark.com.my/insights\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"When Should a Business Replace Excel With a Custom System?\",\"item\":\"https://www.silvershark.com.my/insights/when-to-replace-excel-with-a-custom-system\"}]}"}}],["$","script","1",{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"When Should a Business Replace Excel With a Custom System?\",\"description\":\"Seven signals a spreadsheet has outgrown its role, what a replacement system does that Excel cannot, and how to migrate without losing the logic in it.\",\"datePublished\":\"2026-02-24\",\"dateModified\":\"2026-02-24\",\"inLanguage\":\"en-MY\",\"mainEntityOfPage\":\"https://www.silvershark.com.my/insights/when-to-replace-excel-with-a-custom-system\",\"author\":{\"@id\":\"https://www.silvershark.com.my/#organization\"},\"publisher\":{\"@id\":\"https://www.silvershark.com.my/#organization\"},\"articleSection\":\"Custom software\"}"}}]],["$","article",null,{"children":[["$","header",null,{"className":"relative isolate overflow-hidden border-b border-edge bg-abyss pb-14 pt-[calc(var(--header-h)+2.5rem)] sm:pb-16 lg:pt-[calc(var(--header-h)+4rem)]","children":[["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0 -z-10","children":["$","div",null,{"className":"field-grid field-mask absolute inset-0 opacity-40"}]}],["$","div",null,{"className":"mx-auto w-full px-5 sm:px-8 lg:px-10 max-w-content","children":[["$","nav",null,{"aria-label":"Breadcrumb","className":"label-mono mb-8","children":["$","ol",null,{"className":"flex flex-wrap items-center gap-x-2 gap-y-1 text-steel","children":[["$","li","/",{"className":"flex items-center gap-2","children":[null,["$","$L2",null,{"href":"/","className":"transition-colors hover:text-signal","children":"Home"}]]}],["$","li","/insights",{"className":"flex items-center gap-2","children":[["$","$L3",null,{"iconNode":[["path",{"d":"m9 18 6-6-6-6","key":"mthhwq"}]],"className":"lucide-chevron-right size-3 text-slate","aria-hidden":true}],["$","$L2",null,{"href":"/insights","className":"transition-colors hover:text-signal","children":"Insights"}]]}],["$","li","/insights/when-to-replace-excel-with-a-custom-system",{"className":"flex items-center gap-2","children":[["$","$L3",null,{"iconNode":"$0:data:0:rsc:props:children:0:1:props:children:0:props:children:1:props:children:0:props:children:props:children:1:props:children:0:props:iconNode","className":"lucide-chevron-right size-3 text-slate","aria-hidden":true}],["$","span",null,{"aria-current":"page","className":"text-silver","children":"Custom software"}]]}]]}]}],["$","div",null,{"className":"flex flex-wrap items-center gap-3","children":[["$","span",null,{"className":"label-mono inline-flex items-center rounded-xs border px-2 py-1 border-signal/25 bg-signal/8 text-signal","children":"Custom software"}],["$","span",null,{"className":"label-mono text-slate","children":[8," min read"]}]]}],["$","h1",null,{"className":"mt-6 max-w-[20ch] text-[2.2rem] leading-[1.06] sm:text-5xl","children":"When Should a Business Replace Excel With a Custom System?"}],["$","p",null,{"className":"mt-6 max-w-[62ch] text-lg leading-relaxed text-silver","children":"Excel is not the problem. It is the best thinking tool most offices have, and a business that uses it well is usually a business that understands its own numbers. The problem is what happens when a spreadsheet quietly stops being a tool and starts being a system."}],["$","p",null,{"className":"label-mono mt-8 text-slate","children":["Published"," ","$L4",null]}]]}]]}],"$L5"]}],"$L6","$L7"],null,"$L8"]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":"$Lb","isPartial":"$@c","staleTime":"$a","varyParams":null},{"rsc":"$Ld","isPartial":"$@e","staleTime":"$a","varyParams":"$f"},{"rsc":"$L10","isPartial":"$@11","staleTime":"$a","varyParams":"$f"}],"isUpgradeableISRFallback":false,"a":"$@12","rootVaryParams":null,"needsRuntimeRequest":"$@13"} 24:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"] 25:"$Sreact.suspense" 27:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"] 28:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"] 29:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"] 2a:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"] 2b:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"] 4:["$","time",null,{"dateTime":"2026-02-24","children":"24 February 2026"}] 5:["$","div",null,{"className":"bg-hull py-14 sm:py-20","children":["$","div",null,{"className":"mx-auto w-full px-5 sm:px-8 lg:px-10 max-w-content","children":["$","div",null,{"className":"grid gap-12 lg:grid-cols-[minmax(0,1fr)_15rem] lg:gap-16","children":[["$","div",null,{"className":"min-w-0 max-w-[68ch]","children":["$","div",null,{"className":"space-y-6","children":[["$","p","0",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"Almost every custom system we build replaces a spreadsheet, and the spreadsheet is almost always impressive. Someone built it carefully, it encodes years of accumulated business logic, and it works. The question is never whether Excel is good. It is whether this particular workbook is still the right container for what it has become."}],["$","h2","1",{"id":"seven-signals-that-the-workbook-has-outgrown-itself","className":"scroll-mt-28 pt-8 text-2xl sm:text-3xl","children":"Seven signals that the workbook has outgrown itself"}],["$","h3","2",{"className":"pt-4 text-xl text-chrome","children":"1. More than one person needs to edit it at the same time"}],["$","p","3",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"This is the clearest signal. Spreadsheets are single-author documents by design. The moment two people need to work in one simultaneously you get file locks, \"copy for editing\" versions, and eventually two divergent truths. Shared cloud spreadsheets soften this but do not solve the underlying problem, which is that there is no concept of a record being owned by a transaction."}],["$","h3","4",{"className":"pt-4 text-xl text-chrome","children":"2. Nobody can safely change the formulas"}],["$","p","5",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"When a workbook reaches the point where people work around a formula rather than modify it, the business logic has become unmaintainable. Formulas have no tests, no version history and no comments. A system with the same logic in readable code, covered by tests, can be changed with confidence."}],["$","h3","6",{"className":"pt-4 text-xl text-chrome","children":"3. You cannot tell who changed what"}],["$","p","7",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"If a number is wrong, can you determine when it changed and who changed it? In most workbooks the answer is no. For anything touching money, stock or customer commitments, that absence of an audit trail is a genuine business risk, not a technical inconvenience."}],["$","h3","8",{"className":"pt-4 text-xl text-chrome","children":"4. The same data is typed into it from another system"}],["$","p","9",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"A spreadsheet fed by manual re-entry from an ERP or e-commerce platform is a copy that is wrong from the moment it is made. This particular signal often has a cheaper answer than a full system: automate the feed, or integrate the two, and see whether the pain goes away."}],["$","h3","10",{"className":"pt-4 text-xl text-chrome","children":"5. It has become slow, or hit a limit"}],["$","p","11",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"Recalculation taking thirty seconds, files that will not open on older machines, hitting the row limit — these are symptoms of a dataset that wants a database. A database handles millions of rows without noticing, and lets you query them in ways a workbook cannot."}],["$","h3","12",{"className":"pt-4 text-xl text-chrome","children":"6. Access cannot be controlled"}],["$","p","13",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"Everyone who can open the file can see everything in it: costs, margins, salaries, customer terms. Spreadsheets have no meaningful concept of field-level permission. If your workbook contains information that should be restricted, it currently is not."}],"$L14","$L15","$L16","$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]}],"$L23"]}]}]}] 6:["$","section",null,{"className":"relative isolate bg-abyss py-16 sm:py-24","children":[null,["$","div",null,{"className":"mx-auto w-full px-5 sm:px-8 lg:px-10 max-w-content relative","children":[["$","p",null,{"className":"label-mono text-slate","children":"Continue reading"}],["$","div",null,{"className":"mt-6 grid gap-px border border-edge bg-edge sm:grid-cols-2","children":[["$","$L2","custom-software-vs-off-the-shelf",{"href":"/insights/custom-software-vs-off-the-shelf","className":"group bg-abyss p-7 transition-colors duration-300 hover:bg-hull","children":[["$","span",null,{"className":"label-mono inline-flex items-center rounded-xs border px-2 py-1 border-edge-strong bg-panel text-steel","children":"Custom software"}],["$","h2",null,{"className":"mt-5 flex items-start gap-2 text-xl leading-snug","children":["Custom Software vs Off-the-Shelf: Which Is Better for Your Business?",["$","$L3",null,{"iconNode":[["path",{"d":"M7 7h10v10","key":"1tivn9"}],["path",{"d":"M7 17 17 7","key":"1vkiza"}]],"className":"lucide-arrow-up-right mt-1.5 size-4 shrink-0 text-slate transition-all duration-300 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-signal","aria-hidden":true}]]}],["$","p",null,{"className":"mt-3 text-[0.9375rem] leading-relaxed text-steel","children":"How to choose between buying software and building it: where each wins, how to compare real costs over five years, and the hybrid most businesses need."}]]}],["$","$L2","what-is-business-process-automation",{"href":"/insights/what-is-business-process-automation","className":"group bg-abyss p-7 transition-colors duration-300 hover:bg-hull","children":[["$","span",null,{"className":"label-mono inline-flex items-center rounded-xs border px-2 py-1 border-edge-strong bg-panel text-steel","children":"Automation"}],["$","h2",null,{"className":"mt-5 flex items-start gap-2 text-xl leading-snug","children":["What Is Business Process Automation? A Guide for Malaysian SMEs",["$","$L3",null,{"iconNode":"$6:props:children:1:props:children:1:props:children:0:props:children:1:props:children:1:props:iconNode","className":"lucide-arrow-up-right mt-1.5 size-4 shrink-0 text-slate transition-all duration-300 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:text-signal","aria-hidden":true}]]}],["$","p",null,{"className":"mt-3 text-[0.9375rem] leading-relaxed text-steel","children":"What business process automation means for Malaysian SMEs: which processes are worth automating, what it costs, and how to pick a sensible first project."}]]}]]}]]}]]}] 7:["$","section",null,{"className":"relative isolate overflow-hidden border-t border-edge bg-hull","children":[["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0 -z-10","children":[["$","div",null,{"className":"cta-photo absolute inset-0"}],["$","div",null,{"className":"field-grid field-mask absolute inset-0 opacity-50"}],["$","div",null,{"className":"absolute left-1/2 top-0 h-px w-56 -translate-x-1/2 bg-linear-to-r from-transparent via-signal to-transparent opacity-60"}]]}],["$","div",null,{"className":"mx-auto w-full px-5 sm:px-8 lg:px-10 max-w-content py-20 sm:py-28","children":["$","div",null,{"className":"max-w-3xl","children":[["$","p",null,{"className":"label-mono flex items-center gap-2.5 text-signal","children":[["$","span",null,{"aria-hidden":true,"className":"size-1.5 bg-signal"}],"From reading to doing"]}],["$","h2",null,{"className":"mt-6 text-[2.1rem] leading-[1.06] sm:text-5xl","children":"Recognise your business in this?"}],["$","p",null,{"className":"mt-6 max-w-[58ch] text-lg leading-relaxed text-steel","children":"If something here described your operation a little too accurately, that is usually a sign there is a straightforward first project available. Tell us which part, and we will tell you what it would take."}],["$","div",null,{"className":"mt-9 flex flex-col gap-3 sm:flex-row sm:items-center","children":[["$","$L2",null,{"href":"/contact","className":"group/btn relative inline-flex items-center justify-center gap-2.5 rounded-xs font-medium transition-[background-color,border-color,color,transform] duration-200 ease-signal disabled:pointer-events-none disabled:opacity-45 bg-signal text-signal-ink hover:bg-signal-bright active:translate-y-px shadow-[0_0_28px_-10px_var(--color-signal)] h-13 px-7 text-base","children":[["$","span",null,{"children":"Discuss Your Project"}],["$","$L3",null,{"iconNode":[["path",{"d":"M5 12h14","key":"1ays0h"}],["path",{"d":"m12 5 7 7-7 7","key":"xquz4c"}]],"className":"lucide-arrow-right size-4 transition-transform duration-200 ease-signal group-hover/btn:translate-x-1","aria-hidden":true}]]}],["$","$L2",null,{"href":"/insights","className":"group/btn relative inline-flex items-center justify-center gap-2.5 rounded-xs font-medium transition-[background-color,border-color,color,transform] duration-200 ease-signal disabled:pointer-events-none disabled:opacity-45 border border-edge-strong bg-panel/60 text-chrome hover:border-edge-bright hover:bg-panel-hi active:translate-y-px h-13 px-7 text-base","children":[["$","span",null,{"children":"More insights"}],null]}]]}]]}]}]]}] 8:["$","$L24",null,{"children":["$","$25",null,{"name":"Next.MetadataOutlet","children":"$@26"}]}] b:["$","$1","h",{"children":[null,["$","$L27",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#04070a"}],["$","meta","3",{"name":"color-scheme","content":"dark"}]]}],["$","div",null,{"hidden":true,"children":["$","$L28",null,{"children":["$","$25",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"When to Replace Excel With a Custom System | Silver Shark"}],["$","meta","1",{"name":"description","content":"Seven signals a spreadsheet has outgrown its role, what a replacement system does that Excel cannot, and how to migrate without losing the logic in it."}],["$","meta","2",{"name":"application-name","content":"Silver Shark"}],["$","meta","3",{"name":"author","content":"Silver Shark Sdn Bhd"}],["$","meta","4",{"name":"creator","content":"Silver Shark Sdn Bhd"}],["$","meta","5",{"name":"publisher","content":"Silver Shark Sdn Bhd"}],["$","link","6",{"rel":"canonical","href":"https://www.silvershark.com.my/insights/when-to-replace-excel-with-a-custom-system"}],["$","meta","7",{"name":"format-detection","content":"telephone=no, address=no, email=no"}],["$","meta","8",{"property":"og:title","content":"When to Replace Excel With a Custom System"}],["$","meta","9",{"property":"og:description","content":"Seven signals a spreadsheet has outgrown its role, what a replacement system does that Excel cannot, and how to migrate without losing the logic in it."}],["$","meta","10",{"property":"og:url","content":"https://www.silvershark.com.my/insights/when-to-replace-excel-with-a-custom-system"}],["$","meta","11",{"property":"og:site_name","content":"Silver Shark Sdn Bhd"}],["$","meta","12",{"property":"og:locale","content":"en_MY"}],["$","meta","13",{"property":"og:image","content":"https://www.silvershark.com.my/opengraph-image"}],["$","meta","14",{"property":"og:image:width","content":"1200"}],["$","meta","15",{"property":"og:image:height","content":"630"}],["$","meta","16",{"property":"og:image:alt","content":"Silver Shark Sdn Bhd — custom software, automation and system integration in Malaysia"}],["$","meta","17",{"property":"og:type","content":"article"}],["$","meta","18",{"property":"article:published_time","content":"2026-02-24"}],["$","meta","19",{"property":"article:modified_time","content":"2026-02-24"}],["$","meta","20",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","21",{"name":"twitter:title","content":"When to Replace Excel With a Custom System"}],["$","meta","22",{"name":"twitter:description","content":"Seven signals a spreadsheet has outgrown its role, what a replacement system does that Excel cannot, and how to migrate without losing the logic in it."}],["$","meta","23",{"name":"twitter:image","content":"https://www.silvershark.com.my/opengraph-image"}],["$","link","24",{"rel":"icon","href":"/icon.png?icon.3lan0mcba9b_j.png","sizes":"300x300","type":"image/png"}],["$","$L29","25",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] d:["$","$1","c",{"children":[null,["$","$L2a",null,{"parallelRouterKey":"children","template":["$","$L2b",null,{}]}]]}] 10:["$","$1","c",{"children":[null,["$","$L2a",null,{"parallelRouterKey":"children","template":["$","$L2b",null,{}]}]]}] 13:true 14:["$","h3","14",{"className":"pt-4 text-xl text-chrome","children":"7. Breaking it would stop the business today"}] 15:["$","p","15",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"The final test. If the file were corrupted or deleted this morning, what would stop? If the answer is anything significant, you are running a critical system with no backup discipline, no access control, no audit trail and one author."}] 16:["$","aside","16",{"className":"border-l-2 border-signal/40 bg-signal/5 px-6 py-5","children":[["$","p",null,{"className":"label-mono text-signal","children":"Three or more signals"}],["$","p",null,{"className":"mt-3 text-[1.0625rem] leading-[1.7] text-silver","children":"Any one of these on its own is usually survivable. Three or more at once is the point where the risk of continuing typically exceeds the cost of replacing it."}]]}] 17:["$","h2","17",{"id":"what-a-system-does-that-a-spreadsheet-cannot","className":"scroll-mt-28 pt-8 text-2xl sm:text-3xl","children":"What a system does that a spreadsheet cannot"}] 18:["$","p","18",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"It is worth being specific, because \"we need a proper system\" is not a requirement."}] 19:["$","ul","19",{"className":"space-y-2.5","children":[["$","li","Concurrency — several people working at once without overwriting each other",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Concurrency — several people working at once without overwriting each other"}]]}],["$","li","Validation at entry — impossible values rejected rather than corrected later",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Validation at entry — impossible values rejected rather than corrected later"}]]}],["$","li","Permissions — people see and change only what their role allows",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Permissions — people see and change only what their role allows"}]]}],["$","li","Audit trail — a durable record of who changed what, when, and from what value",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Audit trail — a durable record of who changed what, when, and from what value"}]]}],["$","li","Relationships — a customer, their orders and their deliveries linked rather than repeated",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Relationships — a customer, their orders and their deliveries linked rather than repeated"}]]}],["$","li","Automation hooks — the system can notify, generate documents and post to other systems on events",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Automation hooks — the system can notify, generate documents and post to other systems on events"}]]}],["$","li","Reporting on live data — no assembly step between the data and the report",{"className":"flex items-start gap-3.5","children":[["$","span",null,{"aria-hidden":true,"className":"mt-2.5 size-1 shrink-0 bg-signal"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Reporting on live data — no assembly step between the data and the report"}]]}]]}] 1a:["$","p","20",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"If none of those matter for your workbook, it does not need replacing. Plenty of spreadsheets are perfectly appropriate and should be left alone."}] 1b:["$","h2","21",{"id":"what-to-do-with-the-knowledge-in-the-workbook","className":"scroll-mt-28 pt-8 text-2xl sm:text-3xl","children":"What to do with the knowledge in the workbook"}] 1c:["$","p","22",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"The single most valuable asset in a mature spreadsheet is not the data. It is the accumulated business logic — the pricing rule that accounts for a specific customer arrangement, the adjustment applied to one product category, the exception for month-end. Much of this was never written down anywhere else."}] 1d:["$","p","23",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"A replacement project should begin by extracting that logic explicitly: reading the formulas, asking the author why each exists, and documenting the rules in plain language. This is worth doing even if you decide not to build anything. It converts a fragile personal asset into an organisational one."}] 1e:["$","h2","24",{"id":"migrating-without-losing-anything","className":"scroll-mt-28 pt-8 text-2xl sm:text-3xl","children":"Migrating without losing anything"}] 1f:["$","ol","25",{"className":"space-y-3.5","children":[["$","li","Document the rules from the workbook and confirm them with the person who maintains it.",{"className":"flex items-start gap-4","children":[["$","span",null,{"className":"label-mono mt-1 shrink-0 text-signal","children":"01"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Document the rules from the workbook and confirm them with the person who maintains it."}]]}],["$","li","Design the data model around the real entities — customers, orders, jobs — rather than replicating the sheet layout.",{"className":"flex items-start gap-4","children":[["$","span",null,{"className":"label-mono mt-1 shrink-0 text-signal","children":"02"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Design the data model around the real entities — customers, orders, jobs — rather than replicating the sheet layout."}]]}],["$","li","Build the core first and load a copy of the real data into it, not sample data.",{"className":"flex items-start gap-4","children":[["$","span",null,{"className":"label-mono mt-1 shrink-0 text-signal","children":"03"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Build the core first and load a copy of the real data into it, not sample data."}]]}],["$","li","Run both in parallel for a full cycle, comparing outputs and investigating every difference.",{"className":"flex items-start gap-4","children":[["$","span",null,{"className":"label-mono mt-1 shrink-0 text-signal","children":"04"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Run both in parallel for a full cycle, comparing outputs and investigating every difference."}]]}],["$","li","Switch over once they agree, and keep the final workbook as a read-only archive.",{"className":"flex items-start gap-4","children":[["$","span",null,{"className":"label-mono mt-1 shrink-0 text-signal","children":"05"}],["$","span",null,{"className":"text-[1.0625rem] leading-[1.7] text-steel","children":"Switch over once they agree, and keep the final workbook as a read-only archive."}]]}]]}] 20:["$","p","26",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"Step four is the one that gets cut under time pressure and the one that determines whether people trust the new system. A parallel run that finds three discrepancies has done its job — those three would otherwise have been found by a customer."}] 21:["$","h2","27",{"id":"excel-afterwards","className":"scroll-mt-28 pt-8 text-2xl sm:text-3xl","children":"Excel afterwards"}] 22:["$","p","28",{"className":"text-[1.0625rem] leading-[1.75] text-steel","children":"Replacing the workbook does not mean removing Excel from the business, and any vendor who tells you it does is not being practical. Excel remains excellent for analysis, modelling and one-off questions. The change is that it stops being the place where operational records live, and becomes what it is good at: a tool for thinking with data that a system exports on demand."}] 23:["$","aside",null,{"className":"order-first lg:order-last","children":["$","nav",null,{"aria-labelledby":"toc-heading","className":"lg:sticky lg:top-28 border-l border-edge pl-5","children":[["$","p",null,{"id":"toc-heading","className":"label-mono text-slate","children":"On this page"}],["$","ol",null,{"className":"mt-4 space-y-2.5","children":[["$","li","Seven signals that the workbook has outgrown itself",{"children":["$","a",null,{"href":"#seven-signals-that-the-workbook-has-outgrown-itself","className":"text-sm leading-snug text-steel transition-colors hover:text-signal","children":"Seven signals that the workbook has outgrown itself"}]}],["$","li","What a system does that a spreadsheet cannot",{"children":["$","a",null,{"href":"#what-a-system-does-that-a-spreadsheet-cannot","className":"text-sm leading-snug text-steel transition-colors hover:text-signal","children":"What a system does that a spreadsheet cannot"}]}],["$","li","What to do with the knowledge in the workbook",{"children":["$","a",null,{"href":"#what-to-do-with-the-knowledge-in-the-workbook","className":"text-sm leading-snug text-steel transition-colors hover:text-signal","children":"What to do with the knowledge in the workbook"}]}],["$","li","Migrating without losing anything",{"children":["$","a",null,{"href":"#migrating-without-losing-anything","className":"text-sm leading-snug text-steel transition-colors hover:text-signal","children":"Migrating without losing anything"}]}],["$","li","Excel afterwards",{"children":["$","a",null,{"href":"#excel-afterwards","className":"text-sm leading-snug text-steel transition-colors hover:text-signal","children":"Excel afterwards"}]}]]}]]}]}] 26:null a:300 a:C 12:0 c:"$undefined" e:"$undefined" 11:"$undefined" 9:"$undefined"