<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Interviews with CFOs about AI]]></title><description><![CDATA[We interview CFOs about AI. 

A cashboard.co publication.]]></description><link>https://cfosonai.cashboard.co</link><image><url>https://substackcdn.com/image/fetch/$s_!0Td6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F37259f86-3061-44a9-bb62-321b3d2fd382_1280x1280.png</url><title>Interviews with CFOs about AI</title><link>https://cfosonai.cashboard.co</link></image><generator>Substack</generator><lastBuildDate>Thu, 05 Nov 2026 07:00:15 GMT</lastBuildDate><atom:link href="https://cfosonai.cashboard.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Cashboard]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[cfosonai@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[cfosonai@substack.com]]></itunes:email><itunes:name><![CDATA[Cashboard]]></itunes:name></itunes:owner><itunes:author><![CDATA[Cashboard]]></itunes:author><googleplay:owner><![CDATA[cfosonai@substack.com]]></googleplay:owner><googleplay:email><![CDATA[cfosonai@substack.com]]></googleplay:email><googleplay:author><![CDATA[Cashboard]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What on earth is a semantic layer (and do CFOs need them)?]]></title><description><![CDATA[Democratized, self-served performance data is what every company *says* they want.]]></description><link>https://cfosonai.cashboard.co/p/so-what-the-hell-is-a-semantic-layer</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/so-what-the-hell-is-a-semantic-layer</guid><dc:creator><![CDATA[Julian Rowlands]]></dc:creator><pubDate>Thu, 29 Oct 2026 13:36:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-umA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-umA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-umA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!-umA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!-umA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!-umA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-umA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8149325-a098-4b49-afee-3d7443088778_2048x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-umA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!-umA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!-umA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!-umA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8149325-a098-4b49-afee-3d7443088778_2048x1152.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Gusto&#8217;s stack, as I understand it from my conversations with Julia and Jeff. They use Cube for their semantic layer.</em></figcaption></figure></div><p>Democratized, self-served performance data is what every company *says* they want.</p><p>The dream: let anyone in your business ask Claude a question and get good answers. Claude is already connected to your company&#8217;s systems (accounting, CRM, database, etc) &#8211; should be easy, right?</p><p>But when internal leaders actually run these queries, things will start to go wrong &#8211; and fast.</p><p>That&#8217;s because the people asking those questions *aren&#8217;t familiar with the shape or structure of the data that they&#8217;re querying*, which means they&#8217;ll inevitably ask questions that Claude can&#8217;t help but misinterpret.</p><p>And when Claude misinterprets a question, it&#8217;ll give a very confident and very wrong answer.</p><p>Fast forward to: chaos, recriminations, a great gnashing of teeth.</p><p>A semantic layer solves this problem. It&#8217;s like a seeing eye dog for people who aren&#8217;t close to the data.  It&#8217;s how you make sure those people get good answers to the questions they *meant* to ask, even if they phrased things in a way that doesn&#8217;t match the underlying data structure.</p><p>So do you need a semantic layer?</p><p>Yes *if* if you want every department head making fast decisions off their own numbers. (But this requires CEO buy-in and a company-wide mandate &#8211; easier said than done!)</p><p>No if you&#8217;re happy with finance staying the middleman, or if you can&#8217;t get that company-wide mandate across the finish line.</p><p>Step 1 in answering this question: decide what kind of business you want to run.</p><h2><strong>This is a culture decision before it&#8217;s a software decision</strong></h2><p>The first question to ask: do you want every business unit leader to be responsible for knowing exactly what&#8217;s going on in their part of the business?</p><p>That means knowing how many new customers they brought in last month, what they&#8217;re spending against their budget, and what their team&#8217;s salaries actually add up to.</p><p>(I think you should definitely want this!)</p><p>If the answer is no &#8211; because you&#8217;re small, for example &#8211; stick with finance pulling and sending the performance numbers.</p><p>If the answer is yes, you have two ways to get there.</p><p>The first way &#8211; the classic, brutal way &#8211; is that finance is regularly pulling performance data, filtering it for each org, and sending it out with commentary. Every leader gets their numbers, and every number goes through finance first.</p><p>The second way &#8211; the way that Gusto does it &#8211; is to have org leaders self-serve their own numbers *in addition to* finance&#8217;s reporting.</p><p>They do this by using AI (ex: Claude) to query a semantic layer, which sits on top of a unified data warehouse configured with bespoke data access permissions tailored to each leader. The semantic layer makes sure queries are always correctly interpreted by the AI.</p><p>Now, let&#8217;s go deeper on what a semantic layer is.</p><h2><strong>A semantic layer is a seeing eye dog</strong></h2><p><strong>A semantic layer helps someone who&#8217;s far from the data, and doesn&#8217;t know how it&#8217;s structured, get answers to the right questions.</strong></p><p>Without one, people who don&#8217;t know how the data they&#8217;re querying is structured will ask unknowingly dumb questions.</p><p>Maybe they&#8217;re new, maybe they&#8217;ve never been allowed near that system, maybe they just don&#8217;t live in it every day. The questions make total sense in a vacuum.</p><p>But because they&#8217;re blind to the data structures they&#8217;re querying, Claude will answer wrong. Or more specifically: Claude will give the right answer *to the wrong question*, instead of translating their query into the question *they meant to ask*.</p><p>Finance people mostly don&#8217;t run into this, at least not when querying financial data or key performance datasets. That&#8217;s because they work in the general ledger, the CRM and payroll every day, so they know how the data is stored and naturally ask questions in a way that matches it.</p><p>The problem shows up when *everyone else* starts asking, and if you want the business to move fast, everyone else is exactly who you need asking these questions.</p><p>A semantic layer is the data unlock that allows individual business units to be self-sufficient and make fast + correct decisions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eOpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eOpo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 424w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 848w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 1272w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eOpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png" width="1123" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1123,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eOpo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 424w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 848w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 1272w, https://substackcdn.com/image/fetch/$s_!eOpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ae68a3-1250-466a-afc9-d8336d4385e1_1123x859.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Here&#8217;s an example configuration in Cube, the semantic layer Gusto uses. Each block covers one table and spells out what it&#8217;s called, how it connects to the other tables, and what each field means. Image Source: Cube.dev</em></figcaption></figure></div><h2><strong>Fast business units are how a company compounds</strong></h2><p>Letting business units make their own decisions and move quickly is how a company compounds growth. You end up with a bunch of little CEOs, each running their own corner of the business, and none of them waiting on anybody to find out how they&#8217;re doing.</p><p>Napoleon figured this out and used it to conquer most of Europe.</p><p><em>(Forgive me a quick nerd-fest here &#8211; I wrote my college thesis on military history, and I&#8217;ve been waiting fifteen years for it to be useful at work. My time has come!)</em></p><p>Most armies of his day considered about 10 miles a day when traveling. But Napoleon&#8217;s army routinely covered 15 to 20. He did it by splitting his troops into corps, independent mini armies with their own infantry, cavalry and artillery, that marched on separate roads and spread out across the map but stayed within a day&#8217;s march of each other so they could back each other up.</p><p>They lived off the land, and no longer needed to wait on the supply wagons, while his opponents were still tied to fixed supply lines and moving at the speed of their slowest cart.</p><p>In a company, data is the supply line. If every question has to go back to finance, you&#8217;re the army waiting on the supply wagons before you can move.</p><p>Then there&#8217;s the opposite story: Louis XIV.</p><p>Starting in 1661, Louis&#8217; finance minister Jean-Baptiste Colbert gave him a full account of the country&#8217;s revenue, spending and assets twice a year, written up in little gold-embossed books small enough to carry in his coat pocket. It was the first time a sovereign ruler had access to his country&#8217;s complete financial records. But when Colbert died in 1683, Louis stopped looking at them.</p><p>At the end of his 72 year reign &#8211; spent almost entirely at war with other European powers &#8211; France was nearly destitute. He didn&#8217;t know the numbers.</p><p>(Jacob Soll tells the whole Louis XIV story in <em>The Reckoning</em>, his phenomenal history of accounting, which I can&#8217;t recommend enough if you&#8217;re the kind of person who enjoys this newsletter.)</p><p>Be like Napoleon, and not like Louis XIV. Democratize your data access so that your company can compound faster.</p><h2><strong>Example: How a semantic layer solves business problems in realtime</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1DJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1DJ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!1DJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1DJ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!1DJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a6bac7c-08b6-48b1-a9ac-a6fd3c270ab2_2048x1152.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>The stack from a VP Marketing&#8217;s perspective. Claude connects to Cube, Cube translates queries into the questions he *meant* to ask, Snowflake stores his access permissions as well as all data from all systems.</em></figcaption></figure></div><p>Take a VP of marketing at a software company who&#8217;s setting next year&#8217;s budget.</p><p>He&#8217;s got roughly $4 million in ad spend. A small slice goes to brand marketing. The other $3 million or so goes to demand generation, mostly Google and LinkedIn ads.</p><p>His targets for next year are:</p><ul><li><p>2,000 marketing qualified leads</p></li><li><p>$12 million of marketing sourced pipeline handed to sales, and</p></li><li><p>$6 million of total spend across salaries, vendors and ad campaigns</p></li></ul><p>Ideally he has an equation built from past years that calculates this many dollars on this platform produces this much pipeline, and knows that x pipeline should turn into y revenue.</p><p>The goal is to get similar results at a bigger budget, and that&#8217;s where it gets hard, because spend levels change what works. If you double your Google spend, do you get twice the revenue or 10% more?</p><p>The only way to find out is to spend, watch the results, and move money between channels as data comes in.</p><p>Google worked well last year, so he puts 90% of the ad spend there and 10% into LinkedIn.</p><p><strong>Hypothetical outcome 1 (bad)</strong>:</p><ul><li><p>Three months in he realizes Google isn&#8217;t working anymore (the equation broke) and LinkedIn is.</p></li><li><p>He moves the money, but by then he&#8217;s spent roughly $675,000 on Google ads that weren&#8217;t working, and he has nine months left to hit a full-year target.</p></li><li><p><strong>Spoiler: </strong>he&#8217;s going to come up short.</p></li></ul><p><strong>Hypothetical outcome 2 (bad)</strong>:</p><ul><li><p>Google is working, so he stays the course.</p></li><li><p>But something about product market fit has changed and those deals aren&#8217;t converting to revenue as quickly as they used to.</p></li><li><p>He can&#8217;t see that revenue is converting slowly, so he never changes strategy.</p></li><li><p>He hits his lead and pipeline targets, but far fewer of those deals close and pay out this year than planned.</p></li><li><p><strong>Outcome:</strong> the company misses its revenue number.</p></li></ul><p><strong>Hypothetical outcome 3 (good!)</strong>:</p><ul><li><p>Two weeks in he sees more coming out of LinkedIn than Google, so he starts shifting spend over and doubles down when it keeps working.</p></li><li><p>Instead of $675,000, he&#8217;s capped his Google losses at $100,000, and the rest of the year&#8217;s budget goes to the channel that&#8217;s actually producing.</p></li><li><p><strong>Outcome:</strong> He hits his 2,000 leads and his $12 million of pipeline.</p></li></ul><p>The difference between those three outcomes: how fast he sees the data.</p><p>But he can&#8217;t do this by default because his data lives in five different places, and he doesn&#8217;t know how the data is structured.</p><p>To solve this, the company needs two things.</p><p>The first is a unified data warehouse that combines all the data from all of those systems in one place.</p><p>You can also set up role-specific access permissions in the data warehouse. For example, the marketing leader could be granted full visibility into the ads and Salesforce data, and marketing-specific filtered visibility into accounting, payroll and budget.</p><p>(Data leaders consistently tell us Snowflake works best for both data storage &amp; access permissioning purposes)</p><p>The second is a semantic layer that translates the fields in that warehouse into the way a business leader like him actually thinks about them. <a href="https://cfosonai.cashboard.co/p/how-gustos-data-team-enabled-automated">Gusto uses Cube</a>.</p><p>The semantic layer sits on top of the warehouse and is connected to his Claude, which respects his permissions. When he asks Claude something about data he doesn&#8217;t know, like accounting, the semantic layer translates the question properly, because the data team already solved that problem, and he gets the answer to the question he meant to ask instead of the question he actually asked.</p><p>Without it, he&#8217;ll get confident answers to the wrong questions.</p><p>But with the semantic layer in place, he can save his year.</p><h2><strong>Decide what kind of company you want to be first</strong></h2><p>So, should you have a semantic layer? It all goes back to the question from the top of this piece. Do you want every department head responsible for knowing what&#8217;s going on in their part of the business, and able to check it themselves?</p><p>If the answer is no, keep finance as the middleman. It&#8217;s slower, but it works fine when only a handful of people need the numbers.</p><p>If the answer is yes, you should set up a unified data warehouse, permissions so each leader only sees their own slice, and a semantic layer so Claude answers the question they meant to ask. That&#8217;s how you get a company full of little CEOs who catch their own problems in realtime, instead of a quarter too late.</p><p>There&#8217;s great software out there for semantic layers (again, Gusto recommends Cube.dev).</p><p>But you&#8217;ll have to build the definitions yourself. Someone on your data team has to sit down and decide what revenue, an active customer and a marketing qualified lead actually mean, write those definitions down in the semantic layer, and take ongoing ownership of them. Gusto&#8217;s data team spent about a year doing exactly that.</p><p>It&#8217;s slow, unglamorous work, but it&#8217;s the difference between an army waiting on the supply wagons and one that&#8217;s already twenty miles down the road.</p><div><hr></div><p><em><a href="https://www.linkedin.com/in/jrowl/">Julian Rowlands</a> is the founder and CEO of <a href="https://cashboard.co/">Cashboard</a>, the AI FP&amp;A platform. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at www.cashboard.co.</em></p>]]></content:encoded></item><item><title><![CDATA[How AI helps Austin Johnsen run Corp Dev at Zapier as a 1-person team]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 8]]></description><link>https://cfosonai.cashboard.co/p/how-ai-helps-austin-johnsen-run-corp</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-ai-helps-austin-johnsen-run-corp</guid><dc:creator><![CDATA[Julian Rowlands]]></dc:creator><pubDate>Mon, 12 Oct 2026 17:31:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j8Zt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j8Zt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j8Zt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j8Zt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:616529,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/219569925?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j8Zt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!j8Zt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9394d2c5-83a5-452f-8d6e-1a8d6f5c4c67_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Austin Johnsen is the VP and Head of Corp Dev at Zapier as a team of one. Every time he asked to hire someone, leadership asked him the same question: &#8220;Have you run out of things to automate?&#8221;</p><p>So he kept automating.</p><p>He gets a 50-page diligence report on a target in about two hours, for $500 to $1,000 in tokens. A consulting firm would charge him $50,000 to $100,000 and take a month.</p><p>He also has his AI agents challenge each other&#8217;s diligence findings. OpenAI&#8217;s Codex picks apart the first-pass report, pushing the other agents to recheck claims against the source documents. Reading the logs, Austin jokes, Claude and Codex seem to hate each other.</p><p>Going in, I expected Austin to have automated the process of buying a company. There&#8217;s some of that, but his biggest unlock happens earlier in the process. He built his own live, indexed database of conversations happening across Zapier, and he uses it to figure out where the company has gaps that an acquisition could fill.</p><p>Before Zapier, Austin built out the corp dev team at Twitch inside Amazon, and before that he was at Twitter when it bought Periscope. This is our first episode outside FP&amp;A and accounting so it was interesting seeing how sharp Corp Dev leaders are using AI. Moving forward, I&#8217;d love to do more of these with other finance functions, like treasury and finance ops. If that&#8217;s you &#8212; call me!</p><h2><strong>If you only read one thing: the top 5 highlights from my conversation with Austin</strong></h2><ol><li><p><strong>Austin&#8217;s biggest unlock is a live context layer</strong> he built himself and calls Hive. It indexes a ton of activity happening across Zapier, so he can see where the company has gaps and which acquisitions would fill them.</p></li><li><p><strong>He makes multiple models argue with each other.</strong> Claude drafts, Codex tears the work apart, and when they can&#8217;t agree he pulls in more models through Vercel&#8217;s AI gateway to reach a consensus.</p></li><li><p><strong>A diligence report that used to cost $50K&#8211;$100K now costs $500&#8211;$1,000.</strong> It used to be from a consulting firm and took a month but now just needs tokens and takes about two hours. It&#8217;s roughly 90% as good.</p></li><li><p><strong>AI hasn&#8217;t made deal cycles any shorter.</strong> Legal and negotiation still take four to six weeks. The new problem is that AI makes it too easy to ask the target too many questions.</p></li><li><p><strong>Nothing goes out without his review.</strong> Hard guardrails in code block sending and deleting, every claim has to cite a source, and he still edits heavily (and sometimes rewrites from scratch).</p></li></ol><p><strong>Austin&#8217;s stack at a glance</strong></p><ul><li><p><strong>Main interface:</strong> Claude Code.</p></li><li><p><strong>Second opinions:</strong> Codex, connected through OpenAI&#8217;s command-line tool so Claude can send it work without leaving Claude Code.</p></li><li><p><strong>More models:</strong> Vercel&#8217;s AI gateway, which connects to roughly 200 models, including Gemini and DeepSeek.</p></li><li><p><strong>Connectors:</strong> the Zapier SDK. It reaches nearly every tool Zapier connects to, even ones without a native MCP connector.</p></li><li><p><strong>Context layer:</strong> Hive, a self-built local full-text index Austin built with Claude Code. It pulls from Gmail, Google Calendar, Google Drive, Slack, Airtable, Granola, Todoist, Gong, and more.</p></li><li><p><strong>Deal pipeline:</strong> Airtable.</p></li></ul><h2><strong>Austin&#8217;s path: New Orleans, banking, private equity, Beijing, Twitter, Twitch, Zapier</strong></h2><p><strong>Julian: Tell me about yourself. How&#8217;d you get to where you are now?</strong></p><p>Austin: I run corp dev at Zapier and have been here three-plus years, but I&#8217;ve been doing corp dev for a long time. I grew up in New Orleans, went to Penn for college, and was at Wharton for undergrad. I went into investment banking, then private equity. The PE fund I worked at was explicitly non-tech. We literally said we would buy any company other than a tech company, but tech was always what I was interested in.</p><p>So I went back to business school to switch into tech. I did two years at HBS, then a one-year fellowship in China with the World Wildlife Fund. HBS sponsors you to go work for a nonprofit for a year. WWF was one of the first nonprofits allowed into China, back in the &#8216;80s, basically because of the panda logo (seriously). Because they were there so early, their offices were technically inside the Forbidden City compound. During lunch I could wander around the Forbidden City by myself.</p><p>Then I came out to San Francisco, did another year of banking, and finally got out of banking and jumped to Twitter, where I did finance and then corp dev for about three years. Then I went to Twitch, within Amazon, and built out the corp dev team there over five-plus years. A couple of other stops, including Patreon, and then Zapier. So four or five years of banking and private equity, and corp dev for 10-plus.</p><p><strong>Julian: Any acquisitions you want to highlight?</strong></p><p>Austin: The one that got me over to Twitch was Periscope. It was Twitter&#8217;s live streaming app. In 2015 or so, everyone at South by Southwest was live streaming on Periscope or this other app, Meerkat. This was before you could live stream on Twitter or Instagram or anything else. My boss found it, and we went after it and bought it.</p><p>I was one of the first 500 or so users. It was me and a bunch of random celebrities. Through that I learned a lot about live streaming and got to know people at Twitch, which had just been bought by Amazon. People who&#8217;d been doing Amazon retail or AWS didn&#8217;t know much about game live streaming, and Twitch was thinking about building in-house corp dev. So playing around with Periscope and random celebs is how I ended up spending five years playing games.</p><h2><strong>Before AI, the job was 20 two-pagers a week</strong></h2><p><strong>Julian: What was your job like before you started using AI?</strong></p><p>Austin: The big thing, in investment banking and corp dev, is how much manual work was involved. When I was a banker, I worked for a guy who had a reputation for working more than the overworked investment bankers. He was very sink or swim. He&#8217;d give me work and assume I&#8217;d figure it out.</p><p>Every company he looked at or wanted to talk to, he wanted what he called a two-pager on it. You had to pull their financials, spread their filings, type in all their revenue numbers, calculate EBITDA, work out ownership percentages. The tools back then weren&#8217;t good enough to trust, so I did it all by hand, 10 or 20 a week. Nowadays you&#8217;d type a ticker into a service like Capital IQ or FactSet and it would fill out the report.</p><p>There are endless manual things like that we used to have to do, and I would never do them now. But I look back and think, I learned how to read filings so fast and get to exactly what I need. Now you don&#8217;t get any of that learning.</p><h2><strong>&#8220;Have you run out of things to automate?&#8221;</strong></h2><p><strong>Julian: Tell me about what you&#8217;ve built with AI.</strong></p><p>Austin: At Zapier, I&#8217;m a team of one. Everywhere before Zapier, I had a team, and when I joined I expected to build one out. But Zapier is a no-code automation platform. We connect close to 10,000 tools. If you&#8217;re not an engineer and you Google how to connect Google to Salesforce to Excel, Zapier is the top result.</p><p>Every time I pitched our CEO or CFO on hiring someone, the response was always, &#8220;Have you run out of things to automate?&#8221;</p><p>So I started thinking about what I&#8217;d actually hire someone for. I track my pipeline in Airtable. I&#8217;d type in a company name, then go find its website, a description, its fundraising history. It was a giant pain. Half the time it wasn&#8217;t done, or I&#8217;d wait weeks or months and then do a cleanup pass. That&#8217;s exactly the kind of thing you&#8217;d give an analyst or associate.</p><p>I couldn&#8217;t hire anyone, so I automated it with Zapier. These were simple, deterministic zaps from before AI. Here&#8217;s a company, go to its Crunchbase page, pull the domain and the fundraising history, because those are always in the same spot.</p><p>The one I could never get working was LinkedIn. I also track who I&#8217;m meeting with, so if I&#8217;m meeting Julian, I want Julian&#8217;s LinkedIn in Airtable. But there are enough Julian Rowlands out there that it would never pull the right profile. That was one of the first places I used AI. Once GPT-3 got search, an AI step inside a zap could use context clues, like your company, to find the right profile. I didn&#8217;t need to write 50 rules for finding the right person. The AI could figure it out. Mixing deterministic steps with AI steps exploded from there.</p><h2><strong>Corp dev is too small for anyone to build tools for, so Austin builds his own</strong></h2><p><strong>Julian: Can you walk me through the lifecycle of a deal and the AI pieces in each stage?</strong></p><p>Austin: At this point I have AI everywhere, and it&#8217;s expanded a lot over the past year. By the end of last year, using just ChatGPT or Claude chat with the built-in connectors, I was starting to feel like I&#8217;d finally run out of things to automate. I was getting ready to tell my CEO, all right, I can&#8217;t automate anything else, I need help. Now, with Claude Code, and more and more with Codex, any idea I have, I describe it and ask it to build it.</p><p>That matters more in corp dev than in the rest of the finance org. Corp dev is such a small, niche function that there aren&#8217;t many tools being built for us. Any time a startup pitches me on building for corp dev, I tell them the TAM&#8217;s not big enough. Go find a better space. Finance and accounting have tons of tools. In corp dev, I was always making do. My CRM is really designed for sales, and I&#8217;d force it to work for my use cases. Now I can build custom stuff that actually works.</p><h2><strong>Hive: Austin built a live index of everything happening at Zapier</strong></h2><p>Austin: Deals start with strategy, with deciding what we should be exploring. One of my biggest challenges has always been staying on top of what everyone in the company is doing. I have one-on-ones with product leads, engineering leads, and go-to-market leads. But Zapier has about 800 people, and priorities are always shifting.</p><p>So I built a full context layer. I call it Hive. Claude built it, it runs locally, and it uses the Zapier SDK to connect to every tool I use. It&#8217;s constantly ingesting data across Slack, Google Drive, and email. Now I can ask, what&#8217;s going on with this project? Have priorities shifted? Who should I go talk to? It&#8217;s effectively a thought partner who knows everything going on at Zapier, and it&#8217;s been game-changing for strategy and prioritization.</p><p><strong>Julian: How did you build it? It sounds like you vibe coded your own app in the middle of all this.</strong></p><p>Austin: I&#8217;m not an engineer. I sort of pretend to be one with Claude. Claude Code is the pane of glass I operate everything on, but I&#8217;ve asked it to build a lot of scaffolding and code underneath that makes it run better.</p><p>Hive came out of a laziness problem. I was working on a deal memo, and I kept having to say, what about this? Did you miss this? Look at this too. When I finished, I asked how many follow-up searches it had needed. It was 160 additional calls to other sources. I asked, how do I make it so you know this up front? It said, well, we could build X, Y, and Z. I don&#8217;t know what any of that means. So I said, tell me why I&#8217;d want this, give me feedback, and if you sell me on it, go.</p><p><strong>Julian: So it&#8217;s a database on your hard drive with a table for every system that has relevant information. Is it storing summaries, or every Slack message?</strong></p><p>Austin: It&#8217;s a full-text index now. I was running into problems where it was summarizing things badly. So it&#8217;s a 10-gigabyte-plus file that lives locally. I back it up, and I had Claude figure out a way to back up just the index and the vectors, which is only about 500 megabytes, so it syncs properly. If it ever died, it would redownload all the data.</p><p>It indexes my work and personal Gmail, Google Calendar, Google Drive, Slack, Airtable, Granola, and Todoist, where I keep my to-do list. I have a little menu bar app that tells me if it&#8217;s falling behind. It&#8217;s a green button in the corner of my screen that turns orange or red.</p><p>It&#8217;s indexed most of what I look at, so pulling up my contacts is fast. But it also knows, oh, Austin&#8217;s talking to this company and he&#8217;s never talked to it before, let&#8217;s see if anyone in engineering has played around with it. Then it&#8217;ll tell me, Bob in engineering said something about them in a Slack channel you&#8217;re not in. Go ping him for his opinion.</p><h2><strong>If there&#8217;s no MCP connector, there&#8217;s probably a zap</strong></h2><p>Austin: Here&#8217;s my plug for Zapier. The Zapier SDK is publicly available, and it lets you hit everything Zapier connects to. If there&#8217;s not a native connector in Claude Code or Codex, it&#8217;s probably connected to Zapier.</p><p>So Hive has access to our Gong and basically every tool at Zapier. Before a meeting, I can ask: Is this company a Zapier user? How much do they use it? What do they pay? Has anyone in engineering ever talked to them?</p><h2><strong>Make the models fight</strong></h2><p><strong>Julian: Is Hive the only way Claude Code and Codex connect to each other?</strong></p><p>Austin: About six months ago, one of our very AI-pilled marketers kept telling me to use ChatGPT more. I kept saying no, Claude&#8217;s better, I&#8217;m not switching. She said, you don&#8217;t have to switch. ChatGPT has a CLI now. Connect it to Claude Code and you can hit ChatGPT directly from inside Claude Code.</p><p>That ended up being one of the big unlocks. Every model comes at things slightly differently, and their answers never perfectly overlap. Now Claude gives an answer, and I can ask Codex for a second opinion without leaving Claude Code. Claude sends it to Codex, gets feedback, responds, and they have a whole conversation without me copying and pasting anything.</p><p>The even crazier version is Vercel&#8217;s AI gateway, which connects to about 200 models. We have around 150 of them approved for use at Zapier. If Claude and Codex can&#8217;t resolve something, I&#8217;ll tell it to pull in three other frontier models. It&#8217;ll come back with, I had Gemini, Muse, and DeepSeek weigh in, and here&#8217;s the consensus. It&#8217;s crazy expensive, but it gets better answers.</p><p><strong>Julian: Better answers are worth money.</strong></p><p>Austin: Yeah, diligence is where we spend crazy amounts on tokens. I have a diligence workflow where Claude, running on Fable, does the first pass on a data room. A bunch of subagents give each other feedback and go check the work again. Then Codex comes in, tears their report apart, and sends them back out.</p><p>I&#8217;m anthropomorphizing a bit, but it&#8217;s very funny watching the logs, because Codex and Claude Code seem to hate each other. Codex will say, I can&#8217;t believe Claude said that, it&#8217;s not supported at all in the documents. Claude will say, what are you talking about, yes it is, look at these docs. Then Codex will say, well, maybe one of those is right, but the others aren&#8217;t. They&#8217;re being catty and fighting with each other.</p><p>One thing I&#8217;ve learned is that the models get lazy. If you expect them to hit every file in a folder, they&#8217;ll read five and say, I think I got the gist, I don&#8217;t need to read the other ten. So Claude wrote code for me that forces it to ingest every single file, write notes as it goes so it doesn&#8217;t fill up its context window, and build an index.</p><p>Across a very large data room, that takes 90 minutes to two hours. The output is a 50-page diligence report. It costs maybe $500 to $1,000 in tokens. A consulting firm would charge me $50,000 to $100,000 for a similar report and take a month. Maybe theirs is 99% of the way there and mine is 90%. But theirs costs multiples more, and mine takes two hours.</p><p><strong>Julian: Are you just ripping through tokens?</strong></p><p>Austin: Yes. I spend a crazy amount. I tell our CFO this all the time. The alternative is hiring someone, and that person is going to cost $200,000-plus a year. I spend a lot on tokens, but way less than $200,000 a year.</p><p>And in corp dev, I&#8217;m looking at acquisitions where we might spend tens or hundreds of millions of dollars. Worrying about $500 in tokens on a $500 million deal doesn&#8217;t seem like prioritizing the right thing. It&#8217;s a rounding error.</p><h2><strong>From 30 minutes to 30 seconds on every banker teaser</strong></h2><p><strong>Julian: I like to ask for hard numbers in these conversations. How much time did a single opportunity take you before AI, and how long does it take now?</strong></p><p>Austin: There are two versions. The first is a random inbound. I get a steady stream of anonymized teasers from bankers. I used to spend 20 or 30 minutes on each one, reading the teaser, looking up the company, looking at the website, pulling up information on the people.</p><p>I&#8217;ve fully turned that into an AI workflow. It reads the teaser, adds the company to the pipeline, and stages a draft email with next steps. So 30 minutes turned into 30 seconds of reviewing the next-step email, and I agree with its next steps about 90% of the time.</p><p>One of those workflows is basically a deanonymizer. Before AI, you could sort of figure out who a teaser was about, but it was a pain. Now, if the teaser has enough detail to actually be useful, the AI is going to figure out which company it is. It narrows it down very quickly.</p><p>The second version is actual M&amp;A deals, and this is the interesting part. I don&#8217;t think AI compresses the timeline. It lets me go deeper and cover more. But diligence increasingly feels like it was never the bottleneck. Negotiations, legal docs, and drafting still take the same amount of time. If a deal took four or six weeks before, it still takes four or six weeks. I&#8217;ll mainly blame the lawyers.</p><p>The big thing we&#8217;ve had to work on is that AI lets us do *too much* diligence. We were asking too many questions about things that don&#8217;t move the needle or aren&#8217;t material to whether we do the deal. So we&#8217;ve put guardrails in place. Do we really need to ask this question? Does it change anything, or are we just creating work for the target because AI makes it easy?</p><h2><strong>Claude drafts almost everything. Austin sends all of it himself.</strong></h2><p><strong>Julian: You mentioned writing a deal memo. Are you writing deal memos by hand?</strong></p><p>Austin: It&#8217;s a mix. More and more, I&#8217;m having Claude draft them. But there&#8217;s a ridiculous amount of infrastructure around that to make it good. It wouldn&#8217;t do well if you dropped some files in a chat and said write me a deal memo.</p><p>Through Hive, it has access to every deal memo I&#8217;ve written at Zapier, so it has lots of templates and examples. It has everything indexed about the target. And it has a ton of rules on how to write like Austin.</p><p>I try to have Claude draft basically everything I send, including emails and Slacks. Then I edit, sometimes very heavily. The system keeps both versions, its draft and mine, tracks the diff, and generates rules about how Austin writes.</p><p><strong>Julian: What safeguards do you use? It sounds like there have been times it said it read everything and didn&#8217;t.</strong></p><p>Austin: Despite all the layers of prompts and code, I&#8217;m still asking, did you actually read everything? I know that was your instruction. I still can&#8217;t trust the first draft. For deal memos, basically every time, it does a draft, then reviews it to make sure it checked everything. It goes through multiple iterations before I look at it.</p><p>I also have two hard guardrails that are code-based. I guess Claude wrote the code, so maybe it could get around them. First, it can only draft. It can never send anything for me. I&#8217;ve blocked it from sending emails, Slacks, things like that. I&#8217;m sending more and more of its first drafts as is, but there&#8217;s enough weirdness in its responses that I don&#8217;t know if I&#8217;ll ever let it auto-send.</p><p>Second, it can&#8217;t delete anything. Even if I approve it, it can only move things to the trash. At some point it said, oh, sorry, I deleted that and I can&#8217;t get it back. Luckily it wasn&#8217;t anything big.</p><p>It also has to cite its sources. Whenever it cites numbers, an argument, or something someone else said, it has to link inline or add footnotes so I can go back and check.</p><p><strong>Julian: I&#8217;m the same way. Sometimes I&#8217;ll rewrite something from scratch on my own just to make sure it&#8217;s going through my brain. I&#8217;ve caught a lot of things that looked really good at the aggregate level, and then when I zoomed in, they didn&#8217;t make sense.</strong></p><h2><strong>What I took away</strong></h2><h4><strong>Single source of truth comes first, even in corp dev.</strong></h4><p>Corp dev is as much a strategy job as a dealmaking one. You sit inside the business, talk to the CEO a lot, look at internal projects, and keep an eye out for companies that could fill the gaps. To do that well, Austin first had to build his own single source of truth.</p><p>A single source of truth is the first step in everything, and Austin&#8217;s is just a different one than for FP&amp;A professionals. His goal is to understand the whole company super deeply, including the conversations, the projects, and the really qualitative work. So he saves and indexes conversations happening in a lot of Slack channels, plus his email, calendar, Drive, and meeting notes. It&#8217;s bonkers.</p><p>Austin can justify $500 in tokens on a single analysis because he&#8217;s buying companies for hundreds of millions of dollars. For a single FP&amp;A report, I think that&#8217;s probably too much, and I don&#8217;t think you should have to spend it. The cost comes from pulling in so much unstructured data from so many different places. You also don&#8217;t need what Austin built for something like budgeting. Budgeting is collaborative, and other people have to submit their projections, like who they&#8217;re going to hire next year.</p><h4><strong>You don&#8217;t have to wait on a missing MCP.</strong></h4><p>Right now everyone is in a kind of arms race to connect their systems to AI, and everyone has that one system that doesn&#8217;t give you good data over MCP (Model Context Protocol, the standard way AI tools plug into other software). Some accounting systems have good MCPs you can pull transaction data from. Others don&#8217;t.</p><p>Austin&#8217;s point was that you&#8217;re not stuck. Through the Zapier SDK, he pulls from tools that don&#8217;t have a native connector at all. I need to dig into this more for finance systems, but you don&#8217;t need to wait for a vendor to fix its MCP before you can get at that one other system. Quickbooks, for instance, doesn&#8217;t allow you to pull transaction level data via their MCP. Maybe you could get around that with the Zapier SDK.</p><h4><strong>The smartest people are still doing their own thinking.</strong></h4><p>Austin is the first non-engineer I&#8217;ve talked to who&#8217;s running multiple AI platforms at the same time, and he still doesn&#8217;t let any of them send anything.</p><p>That&#8217;s further validation of something I keep seeing. The smartest people I know are still running their checks. They&#8217;re not letting AI just send stuff or write stuff. They review everything, and they often rewrite it by hand. The people I come away from these calls respecting the most are not abdicating their thinking to the machines.</p><h2><strong>About Austin &amp; Julian</strong></h2><p><strong><a href="https://www.linkedin.com/in/austinjohnsen/">Austin Johnsen</a></strong> is the VP and Head of Corp Dev at <a href="https://zapier.com/">Zapier</a>. He previously built the corp dev team at Twitch (Amazon) and worked in finance and corp dev at Twitter, where he helped acquire Periscope.</p><p><strong><a href="https://www.linkedin.com/in/jrowl/">Julian Rowlands</a></strong> is the founder and CEO of <a href="https://cashboard.co/">Cashboard</a>, the AI FP&amp;A platform. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at www.cashboard.co.</p><p><em>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</em></p><p><em>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email julian.rowlands@cashboard.co with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</em></p>]]></content:encoded></item><item><title><![CDATA[How Gusto's Data Team Enabled Automated FP&A]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 7]]></description><link>https://cfosonai.cashboard.co/p/how-gustos-data-team-enabled-automated</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-gustos-data-team-enabled-automated</guid><dc:creator><![CDATA[Julian Rowlands]]></dc:creator><pubDate>Tue, 22 Sep 2026 20:04:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jjN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jjN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jjN0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jjN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:708534,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/216930271?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jjN0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!jjN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef381a3-ca37-44ed-aa54-5810f5e3159f_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://cfosonai.cashboard.co/p/gustos-finance-team-rebuilt-its-forecasting"><span>Last episode</span></a><span> I said I&#8217;d seen the future. Jeff Cobourn&#8217;s team at Gusto delivers budget versus actuals one day after close, and rebuilds their forecasts three days after close. They&#8217;re operating at a level of speed and productivity that&#8217;s unprecedented in FP&amp;A.</span></p><p><span>They got there by moving their revenue models out of Google Sheets and into Python, running an agent that grades other agents&#8217; work, and keeping their finance code in GitHub.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>But almost none of it would work without Gusto&#8217;s data team. So I asked Jeff to introduce me to someone who helped make it possible. That person is Julia King, who joined Gusto two years ago as their Chief Data Officer.</span></p><p><span>She walked me through their exact setup including the six-month move off Redshift onto Snowflake, and the work of getting finance to agree on what a word like &#8220;active customer&#8221; means.</span></p><p><span>I also played devil&#8217;s advocate by arguing with her about whether a semantic layer is actually necessary.  Isn&#8217;t it enough just connect all your systems to Claude via MCP?  Why do you need a unified data warehouse + semantic layer, when Claude can already get that data?</span></p><p><span>She had a great answer about how an MCP server can hand Claude your data but it can&#8217;t tell Claude what your words mean (and your words change all the time). I was convinced! Her detailed answer is in the full interview below.</span></p><h2><strong><span>If you only read one thing</span></strong></h2><ul><li><p><strong><span>Hallucinations are solved. Unknowingly stupid prompts are not.</span></strong><span> Claude isn&#8217;t making things up anymore. But it might interpret your question differently than you intended it, and it&#8217;ll give a correct answer with complete confidence to a totally different question than you meant to ask. When Julia&#8217;s team digs into why, the math is almost always right and the question just got understood differently than the person asking it meant it.</span></p></li><li><p><strong><span>The further someone sits from the data, the more dangerous that gets.</span></strong><span> You know your accounting data, what the fields are, what&#8217;s tagged as what, so when you ask a question you get the right answer. Hand that same access to a marketing lead who doesn&#8217;t know that department, class, and business unit are three different things, and they&#8217;ll ask about business units, get the departments answer, and never know the difference.</span></p></li><li><p><strong><span>The hardest part is agreeing on what a word means.</span></strong><span> Before Gusto&#8217;s data team could build anything, they had to sit down with finance and settle whether an &#8220;active customer&#8221; is somebody who pays or somebody who logs in.</span></p></li><li><p><strong><span>A semantic layer is how you make that answer stick.</span></strong><span> It&#8217;s a written-down set of definitions &#8212; what each table and column means, where it comes from, how each metric is calculated &#8212; sitting between the person asking and the raw data. You define &#8220;active customer&#8221; once, and every question after that uses your definition instead of one Claude improvised.</span></p></li><li><p><strong><span>Dashboards are alive and well.</span></strong><span> People will tell you a Claude-generated HTML file does the job now. It doesn&#8217;t. You want something persistent, always live, measuring the same thing every single time, sitting somewhere other people can see it. That allows you to catch the errors in real time, and benefit from many eyes on the same page.</span></p></li><li><p><strong><span>Your accounting data is a free audit of every other pipeline.</span></strong><span> Gusto pipes the books into the warehouse partly for finance and partly as a check. The close is the one number finance knows is true, so if the warehouse ties to it, the dozen other systems feeding it are probably working too.</span></p></li></ul><div><hr></div><h2><strong><span>&#8220;The data team was great. The state of data wasn&#8217;t.&#8221;</span></strong></h2><p><strong><span>Julian: Let&#8217;s start with your background.</span></strong></p><p><strong><span>Julia:</span></strong><span> I&#8217;ve been in data a very long time. I got into it by accident after college, moved to the Bay Area in 2000 for the dot-com boom and then the very quick crash. I liked being able to look at the numbers and understand the business, and how much impact that could have. So I stayed in data engineering, analytics, and some data science. Mostly with startups.</span></p><p><span>What attracted me to Gusto was a couple of things. I love the mission, and I like working for companies where what gets built has a clear benefit to the customer. We know how many small businesses fail. Managing cash flow, managing paychecks, understanding what you need to do to hire your next employee &#8212; all of that is very challenging for somebody whose actual job is running a food truck. If we can build solutions so they don&#8217;t have to worry about it, that gets me excited.</span></p><p><span>Then on the data side, when I was interviewing it was pretty clear some of the platform investments weren&#8217;t up to date. The data team was really great. The state of data at the company wasn&#8217;t where it should be. A business with product-market fit, growing at a healthy rate, and still a foundation to rebuild &#8212; that&#8217;s an unusual combination, and for somebody like me it was exciting.</span></p><p><span>And I liked everybody I talked to. That&#8217;s the third thing. You have to like who you work with.</span></p><h2><strong><span>Six months to get off Redshift</span></strong></h2><p><strong><span>Julian: So Snowflake was already in place when you got there?</span></strong></p><p><strong><span>Julia:</span></strong><span> No. That was one of our first big projects. We were on Redshift, which is behind the times, as we all know. The migration took about six months. I laughed, because I just said that&#8217;s what it was going to take and my team said that was crazy. They did it. They&#8217;re amazing. October 31st was our date, so November 1st we were officially on Snowflake.</span></p><p><span>But we didn&#8217;t want to wait for a platform replacement before starting to build more intelligent solutions. So in parallel we were redesigning how a lot of this data looks.</span></p><p><span>One of the big projects we talked about when I was joining was a customer 360 view. A lot of companies have built one. Gusto hadn&#8217;t, and it&#8217;s harder for a company like ours. We&#8217;re not a retail business where you buy a SKU and the price is obvious, maybe with a shipping discount. Our products are complex. What do you even consider a product? How much do you charge for it? Subscription services with complicated calculations get harder to store in a way that lets you build intelligence on top of them.</span></p><p><strong><span>Julian: And you had to agree with finance on what things meant.</span></strong></p><p><strong><span>Julia:</span></strong><span> Yes. We worked really closely with the finance team to agree on what an active customer is for a SaaS business. Is it somebody who pays? Somebody who actually logs in and uses the product? How do you want to look at it, and what makes sense? We did a lot of work with that team validating it.</span></p><p><span>Once we had that, the question became what else they need to see the whole business, not just the customer. Is it a sales-driven motion or self-service? How do we onboard and manage that customer? That&#8217;s what gives finance and accounting the ability to look at the P&amp;L in different slices.</span></p><p><strong><span>Julian: Besides completing your single source of truth, how else do you benefit from having accounting data in Snowflake.</span></strong></p><p><strong><span>Julia:</span></strong><span> At the end of the day, that&#8217;s the source of truth for how much money we made, because that&#8217;s how we close the books. So if our numbers match across different cuts and slices, or if there are differences and we understand what they are (and there always are differences) then we have much higher confidence that our pipelines are working as expected.</span></p><p><span>It&#8217;s killing two birds with one stone. We&#8217;re bringing in data the finance team needs to see how the business is doing, and it also lets us make sure we&#8217;re not losing anything when we ingest from all these other sources.</span></p><p><strong><span>Julian: What else did Snowflake unlock?</span></strong></p><p><strong><span>Julia:</span></strong><span> We had some Salesforce and we had NetSuite in Redshift. It just wasn&#8217;t connected in a way that we could self-serve. You had to build a dashboard with a very complex SQL query to even try to attach it together.</span></p><p><span>With Snowflake we could bring in more data more easily. Salesforce has a data share with Snowflake, so we pay them extra money and get the data in an easier way, and more frequently than once a day. Up to five-minute latency. For finance that probably doesn&#8217;t matter. For some of our other solutions it does.</span></p><p><span>Our people data (e.g, employees, salaries) also lives in Snowflake, in a separate project. It&#8217;s very locked down, most of us can&#8217;t see it. But we can data-share between the projects and aggregate in a way that doesn&#8217;t reveal anybody&#8217;s personal information. If teams need that alongside financial KPIs, it&#8217;s a lot easier for us to put it together now.</span></p><h2><strong><span>Mapping is a guardrail problem</span></strong></h2><p><strong><span>Julian: How did you solve data mapping across all these source systems?</span></strong></p><p><strong><span>Julia:</span></strong><span> We did a lot of profiling of the data coming from the source systems, and we work very closely with the teams that own them. Salesforce is the big obvious one because it changes a lot. So we make sure those teams understand which objects matter most and will have downstream effects.</span></p><p><span>We put a lot of guardrails in place so that if things get added or dropped, we get alerted. And ideally they let us know ahead of time, which they do. They&#8217;ll say, hey, we&#8217;re making these big changes, we&#8217;re cleaning up, this might have an impact. We&#8217;ve been cleaning up Salesforce quite a bit.</span></p><p><span>With AI especially, we&#8217;re building more and more skills that monitor and alert us that something is changing. We haven&#8217;t figured out how to make AI intelligent enough to fix it for us yet. You still really do need a human in the loop there. But at least it identifies that something changed.</span></p><p><span>So the first pass is the mapping itself. What does this thing mean? Do we understand how the data looks? Does it pass our checks when we compare a calculation across different sources? Once we had that standard view, the question became what observability looks like on top of it. A field we rely on is suddenly coming in with less data &#8212; that&#8217;s a problem, go look at it. ETL (extract, transform, load) failures are more obvious. If it fails, of course we go look.</span></p><p><strong><span>Julian: And centralizing helps with that.</span></strong></p><p><strong><span>Julia:</span></strong><span> One of the benefits of centralizing is that the more people looking at the same dataset, the more likely somebody notices when all of our checks have missed something.</span></p><p><span>At an aggregate level a metric might look fine. Cut it by five different attributes and suddenly it doesn&#8217;t make sense. You might only be missing one or two percent, which is a lot more noticeable in a subset than in the total.</span></p><p><span>So this is why I vote for: if we need a dashboard, let&#8217;s all look at the same dashboard. If you use our self-service tool to generate your own answer &#8212; great, but please do it through that. And if something doesn&#8217;t look right, let us know. We have feedback capabilities. Don&#8217;t just walk away from it, because it&#8217;s quite possible something did happen to that number. Our automated checks can&#8217;t catch everything; there are way too many metrics.</span></p><p><span>If people build their own versions of it, you&#8217;re in trouble.</span></p><p><strong><span>Julian: How locked down is the layer underneath?</span></strong></p><p><strong><span>Julia:</span></strong><span> Very. We built an AI copilot for our dimensional models that takes in our naming conventions and requirements, checks for duplications, designs the dimensional view, and requires documentation to go with it. Human prompted, AI generated, then reviewed by a data engineering team before it goes to production.</span></p><p><span>The good news is our finance team uses this too. They can build new models without waiting on data engineering, and then we review and make sure it makes sense and there are no mistakes. So the cycle of cleaning and adding datasets is a lot faster.</span></p><h2><strong><span>Why the semantic layer doesn&#8217;t go away</span></strong></h2><p><strong><span>Julian: What&#8217;s the semantic layer tool, and what was it like to set up?</span></strong></p><p><strong><span>Julia:</span></strong><span> We use Cube.dev. It&#8217;s open source, and they have hosted options too. We&#8217;d already been using it for our customer-facing reports, and we were early on as big proponents of the semantic layer, so when we wanted to prototype the AI piece we said let&#8217;s try it.</span></p><p><span>This was a year ago, before a lot of companies had published how they built it. So we were poking at it &#8212; does it write a query we like, that we approve of? It worked great.</span></p><p><span>Then we said, well, it works, but maybe there&#8217;s something better out there. We don&#8217;t know. It&#8217;s lightweight, we can put the documentation we need in it, it&#8217;s really easy to develop against, and we have skills running on top of it that look for duplication and make sure it stays clean.</span></p><p><span>Some people on the team are trying to push us toward Cortex in Snowflake. I&#8217;m not sold. I also like that Cube is platform agnostic &#8212; if we have datasets that live outside Snowflake, we can still send the query into those systems. We don&#8217;t need multiple semantic layers.</span></p><p><strong><span>Julian: A lot of CFOs tell me they just connect everything to Claude, set up some shared projects, work through it a few times, and it gets it right enough going forward. And every decent system is going to have a good MCP in the next 24 months. How would you answer that?</span></strong></p><p><strong><span>Julia:</span></strong><span> Your business changes all the time. The vocabulary you use to describe your business changes all the time. Different systems and different people call things different ways.</span></p><p><span>So you can have the best MCP server on the planet, and somebody is going to call it in a slightly different way, and there&#8217;s no guardrail making sure the AI understands what it&#8217;s actually trying to do, uses the right terminology, sends the right request, and generates the right query.</span></p><p><span>We&#8217;ve seen it so many times already. You send a prompt, you get an answer, and it&#8217;s &#8220;incorrect&#8221; &#8212; and I use big quotes on that. Then you look through the trace, and it interpreted your question in a very specific way. That isn&#8217;t incorrect. The interpretation was.</span></p><p><span>So how do you guide it? How do you make sure it asks follow-up questions when something is unclear? You need additional context for that, and you need the semantic layer to provide the definitions. Because AI is really good at saying, wait, I&#8217;m confused, there are three different versions of this, let me make sure you&#8217;re asking about the right thing.</span></p><p><span>I just haven&#8217;t seen MCP endpoints do that, and I don&#8217;t know if they ever will. Salesforce has an MCP published. Awesome. But how our instance of Salesforce is implemented versus somebody else&#8217;s, and how we talk to it versus how they talk to it, is going to be different. I don&#8217;t think that internal semantic layer knowledge base necessarily goes away.</span></p><p><span>Although I also didn&#8217;t think Claude could write a SQL query two years ago. So here we are. It&#8217;s all changing really fast.</span></p><h2><strong><span>If you&#8217;re starting from zero</span></strong></h2><p><strong><span>Julian: If a finance team has none of this in place and wants to get to where Jeff&#8217;s team is, what are the steps?</span></strong></p><p><strong><span>Julia:</span></strong><span> The definitions are the hardest thing to figure out and align on. Getting that alignment early and making sure it&#8217;s documented is very important, because then building the datasets to attach to those definitions can go fast. You can feed a lot of that intelligence into AI and generate the tables.</span></p><p><span>Then setting up a semantic layer, whether you do it yourself or buy a third-party solution that has it integrated. We have an engineering team and a really strong data function, so going third party didn&#8217;t seem right for us. But if you&#8217;re a small company and that isn&#8217;t a talent you have internally, I&#8217;d look at solutions that provide the semantic layer and the visualization layer, and potentially some of the ETL capabilities.</span></p><p><span>None of that will work if you don&#8217;t have clear definitions of what these metrics are supposed to be.</span></p><p><strong><span>Julian: Why does the visualization layer matter?</span></strong></p><p><strong><span>Julia:</span></strong><span> Because that&#8217;s what unlocks self-service. Take your example from earlier &#8212; a CFO builds a Claude artifact and it kind of works. That artifact lives in an isolated place where you don&#8217;t actually know where the data came from or how it was generated. The lineage, knowing how this metric was calculated, is critical. Otherwise you don&#8217;t know what you&#8217;re looking at.</span></p><p><span>Artifacts are great to prototype and move quickly. But in reality you want to build something you can just refresh and rerun. That&#8217;s what Jeff&#8217;s team has done a lot of work on &#8212; migrating their initial prototypes into more integrated solutions so they&#8217;re not regenerating a standalone thing every time they want to answer the same question.</span></p><p><span>I&#8217;m not a fan of Tableau, and I&#8217;ve become much less of a fan of Looker. There are newer solutions out there; Omni is a lot more agentic and can interrogate your data. We use Streamlit within Snowflake for that layer.</span></p><h2><strong><span>What I took away</span></strong></h2><h3><strong><span>Hallucinations are solved. Dumb prompts aren&#8217;t.</span></strong></h3><p><span>The failure isn&#8217;t fabrication anymore. It&#8217;s that you type something that means one thing in your head, the query hits a raw data structure with janky column labels, it guesses at a join or two, and you get a confident answer from Claude that&#8217;s answering a totally different question than the one you meant to ask.</span></p><p><span>&#8220;What&#8217;s our revenue per active customer?&#8221; is a totally reasonable question. Except active customer might be defined three different ways depending on who&#8217;s asking, and the definition might have changed last quarter. Did you mean active customers in the last week? Active customers in the last month who are on a paid plan? Just plain registered users?</span></p><p><span>At Gusto, Julia&#8217;s team had to sit down with finance and settle whether an active customer pays or logs in. That conversation happened once, between two teams, and produced one answer.</span></p><h3><strong><span>The further you are from the data, the more danger you&#8217;re in</span></strong></h3><p><span>If you&#8217;re the finance leader, direct MCPs work great. You know what&#8217;s in the GL, you know what&#8217;s in the CRM, you know what payroll looks like, so you ask questions that match the shape of the data without thinking about it. Direct MCP connections and a few projects will get you a long way.</span></p><p><span>Now picture somebody in marketing asking questions without that context. They are going to think they&#8217;re getting the answer to the question they asked, and they&#8217;re going to get the answer to a different one, and they have no way of knowing. So you&#8217;re incurring some steady rate of confidently wrong answers, and you won&#8217;t find out about most of them.</span></p><h3><strong><span>One group owns the definitions, or everybody triple-checks</span></strong></h3><p><span>So the choice is this. Do you want one group &#8212; finance and data &#8212; owning the definitions so everyone else can move fast? Or do you want everyone in marketing and ops and sales triple-checking every answer they get? Or worse still &#8211; not checking at all?</span></p><p><span>At scale it&#8217;s obviously the first one. That&#8217;s what a semantic layer buys you: you define what each table and column represents, where it comes from, and what it means, and then it&#8217;s enforced every time Claude asks. Claude doesn&#8217;t go invent its own version of active customer. It just knows, because someone told it.</span></p><p><span>Julia&#8217;s advice to anyone without a data team like hers was to buy something that brings the semantic layer, the visualization layer, and some of the ETL together (which is the thing we build at Cashboard). Her more important point was that none of it works without the definitions, and nobody can hand you those.</span></p><h3><strong><span>The live dashboards matter</span></strong></h3><p><span>Even with all of that, things break. Julia&#8217;s team can&#8217;t catch everything because there are too many metrics.</span></p><p><span>I think about this like crime on the subway. The New York City subway is remarkably safe despite the headlines, and not because there aren&#8217;t crazy people on it. It&#8217;s safe because there are so many people on it that when something goes wrong, it gets noticed fast.</span></p><p><span>Live dashboards do the same job. A number that&#8217;s subtly off will eventually cross enough eyeballs that somebody stops and says wait, that&#8217;s not right. That only works if everyone&#8217;s looking at the same dashboard.</span></p><h2><strong><span>About Julia &amp; Julian</span></strong></h2><p><strong><a href="https://www.linkedin.com/in/juliaking3/"><span>Julia King</span></a></strong><span> is the Chief Data Officer at Gusto, where her team rebuilt the company&#8217;s data platform and the semantic layer the rest of the company now queries.</span></p><p><strong><a href="https://www.linkedin.com/in/jrowl/"><span>Julian Rowlands</span></a></strong><span> is the founder and CEO of </span><a href="https://cashboard.co/"><span>Cashboard</span></a><span>, the AI FP&amp;A platform. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at www.cashboard.co.</span></p><p><em><span>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</span></em></p><p><em><span>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email julian.rowlands@cashboard.co with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</span></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The best Claude-first FP&A teams are working >90% faster than legacy teams]]></title><description><![CDATA[After interviewing six finance leaders about how they&#8217;re actually using AI, one advantage keeps showing up among the most advanced FP&A teams.]]></description><link>https://cfosonai.cashboard.co/p/how-great-fp-and-a-teams-are-using</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-great-fp-and-a-teams-are-using</guid><dc:creator><![CDATA[Julian Rowlands]]></dc:creator><pubDate>Wed, 02 Sep 2026 17:23:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3Au4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Au4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Au4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Au4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124448,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/213885713?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Au4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!3Au4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942c526b-b0ef-4a01-833c-fa0933ddb48e_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>After interviewing six finance leaders about how they&#8217;re actually using AI, one advantage keeps showing up among the most advanced FP&amp;A teams.</span></p><p><span>It&#8217;s speed.</span></p><p><span>The best finance teams are *massively* compressing the time between something happening in the business and informing the people running that business.</span></p><p><span>Most teams still find out they missed a number weeks after the fact. The best AI-native FP&amp;A teams are delivering budget versus actuals 1 day after close, and rebuilding forecasts 3 days after close.</span></p><p><span>AI helps. But the teams pulling this off all have something else in common: clean data, trusted definitions, and systems that let AI work on top of them.</span></p><p><span>After six interviews, I&#8217;ve started to see a pretty clear map of what works, what doesn&#8217;t, and what separates the teams experimenting with AI from the ones actually changing how FP&amp;A works.</span></p><p><span>So instead of an interview this week, I&#8217;ve pulled together everything I&#8217;ve learned so far.</span></p><p><span>I&#8217;ve grouped this into two sections:</span></p><ul><li><p><strong><span>Do&#8217;s &amp; Don&#8217;ts</span></strong><span>: all the &#8216;free lunches&#8217; that AI-forward FP&amp;A teams are doing today&#8230;and all the dead ends that you should avoid.</span></p></li><li><p><strong><span>Levels</span></strong><span>:</span><strong><span> </span></strong><span>We&#8217;ve seen 3 different levels of AI adoption in FP&amp;A. I talk about what it takes to get to each level, and the outcomes that each level unlocks.</span></p></li></ul><p><span>As always, I&#8217;ve tried to err on the side of being precise, clear, and hype-free.</span></p><p><span>Let&#8217;s dive in!</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong><span>Do&#8217;s and Don&#8217;ts</span></strong></h2><ul><li><p><strong><span>DO get a Claude Team plan and put every finance person on a seat.</span></strong><span> A standard seat is twenty dollars a month. The Team plan also means your data isn&#8217;t used for model training by default, which you absolutely must do.  Literally every person I interviewed is doing this.</span></p></li><li><p><strong><span>DO create shared projects for anything you do every month.</span></strong><span> Budget versus actuals, reconciliations, board reporting, etc.</span></p><ul><li><p><a href="https://cfosonai.cashboard.co/p/cfo-ray-anderson-uses-claude-to-automate"><span>Ray Anderson</span></a><span> at Claremedica runs a project called Monthly Variance Analysis that carries the output template, the table mappings, the formulas, and a running list of everything that had to be fixed by hand last month.</span></p></li><li><p><a href="https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys"><span>Austin Hostetler</span></a><span> at Alpine Energy loaded every bond document and equipment lease schedule into one, so he can ask about a covenant or an interest date without opening a single PDF.</span></p></li></ul></li><li><p><strong><span>DO use Claude to write SQL and Python code.</span></strong><span> Ray&#8217;s team regressed two years of historical KPI data against past financial outcomes and built a quantitative forecasting model with a tighter standard deviation than anything else they&#8217;d tried, and they did it without hiring a data scientist.</span></p></li><li><p><strong><span>DON&#8217;T vibe code.</span></strong><span> It&#8217;s a dead end (for now), at least for anyone who isn&#8217;t an engineer. </span><a href="https://cfosonai.cashboard.co/p/how-ai-helps-ashkon-farmand-run-a"><span>Ashkon Farmand</span></a><span> built a working billing engine in a weekend, looked at what it would take to maintain, and went and bought Tabs instead. I have yet to meet a finance team that&#8217;s successfully using their own self-built software.</span></p></li><li><p><strong><span>DON&#8217;T let anything go out without a human reading it first. </span></strong><span>Austin asked Claude to fix a three statement model that was out of balance by $19,156, and Claude fixed it by hardcoding $19,156 into the cell. Every person I&#8217;ve interviewed carefully reviews *all* AI output before it goes out to a stakeholder.</span></p></li></ul><p><span>Those are the easy wins. Every finance team can start doing them tomorrow.</span></p><p><span>But there&#8217;s a ceiling to how far better prompting and Claude Projects can take you. Eventually, the bottleneck stops being the AI and becomes the infrastructure underneath it.</span></p><p><span>That&#8217;s where the levels start to separate.</span></p><h2><strong><span>This game has levels</span></strong></h2><p><span>I&#8217;m seeing FP&amp;A teams reach 3 different levels of automation &amp; efficiency.</span></p><p><span>Most teams are at Level 1: hand feeding inputs to Claude and letting it quickly produce output.</span></p><p><span>Level 2 is less common.  Those teams have a unified data warehouse and semantic layer. This means Claude always has access to all their data (skip the CSV imports and rickety MCPs!), and has human-verified metrics and data dictionaries to make sure outputs stay trustworthy. Outcome: automated inputs, in addition to Claude speed-running outputs.</span></p><p><span>Level 3 is the rarest of all.  These teams have everything that Level 2 has, but also use AI to write Python and SQL that produce monthly reforecasts in just a few hours each month.</span></p><p><span>And just for fun, I added a Level 4, which automates all reporting and reforecasting, and also crushes annual planning / budgeting down to just a few business days. To be clear: nobody is at Level 4 (yet).</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EwVg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EwVg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 424w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 848w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 1272w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!EwVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp" width="1456" height="1198" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1198,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52270,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/213885713?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EwVg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 424w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 848w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 1272w, https://substackcdn.com/image/fetch/$s_!EwVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36e47cc2-ef14-4aaa-9b15-21c9f279864a_1456x1198.webp 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong><span>Level 1 - use Claude for reporting</span></strong></h3><p><span>Every finance leader I&#8217;ve interviewed is on a Claude Team plan, with projects set up for the work that comes back every month. Their day to day looks like a mix of MCP connections into the systems that have them and a lot of exporting CSVs out of the systems that don&#8217;t, and then Excel analysis and HTML dashboards and slide decks coming out the other end.</span></p><p><span>Everyone should be doing this at a minimum. For twenty dollars a month you can automate a pile of analysis, write genuinely good code, put together board prep, and answer the ad hoc questions that used to eat an analyst&#8217;s afternoon. I don&#8217;t know of a better return anywhere in the finance stack right now.</span></p><p><strong><span>Where this gets you: budget versus actuals about five days after close.  But reforecasting is still mostly manual (meaning it takes a few weeks of each month), and budgeting is 100% manual (~three months of work).</span></strong></p><p><span>But Claude is only as useful as the data you can hand it, and in Level 1 you are the one handing it over. Everything Claude touches at Ray Anderson&#8217;s company still arrives as a general ledger export out of Sage Intacct, or a scrubbed pull from their internal warehouse, or an Excel file that somebody de-identified before it went in.</span></p><p><span>The analysis is fast. Getting to the analysis is not. Level 2 solves that problem.</span></p><h3><strong><span>Level 2 - unified data warehouse + semantic layer connected to Claude</span></strong></h3><p><span>Level 2 is everything in Level 1, except the CSV exports and the MCP patchwork are gone, replaced by one unified data warehouse that every system writes into and a semantic layer sitting on top of it that Claude queries through.</span></p><p><span>A unified data warehouse is when every record from every system lands in one place and stays live. That includes your general ledger, payroll, CRM and whatever operational data you actually run the business on.</span></p><p><span>The semantic layer does two jobs. The first is deciding that a vendor called AWS in one system and Amazon Web Services in another are the same vendor every single time. The second is holding your definitions, so revenue means one thing and gross profit means one thing, and when a department head asks how many customers you had last month there is one clear answer.</span></p><p><a href="https://cfosonai.cashboard.co/p/gustos-finance-team-rebuilt-its-forecasting"><span>Gusto&#8217;s</span></a><span> data team spent about a year on theirs, going product by product, defining which field means what, and then set up an MCP into Snowflake that filters every query through it, so anyone in the company can ask a plain English question and it knows where to go.</span></p><p><strong><span>Where this gets you: budget versus actuals 1 day after close</span></strong><span>,</span><strong><span> with the manual steps gone </span></strong><span>and the recurring work running on a schedule instead of running when somebody remembers. </span><strong><span>Reforecasting still takes weeks and budgeting still takes three months,</span></strong><span> because the warehouse changes where the numbers come from and not how the models get built.</span></p><p><span>The important part here is that there is one dataset and everyone trusts it by default, and you stop spending the first fifteen minutes of every review meeting figuring out why two people brought two different revenue numbers.</span></p><p><span>But that trust only holds if the mapping is deterministic rather than generative.</span></p><p><span>Classic software is deterministic, which means you click a button and it does a thing, and if it doesn&#8217;t do the thing there&#8217;s a bug. Generative means you click a button and you&#8217;re not really sure what&#8217;s going to come out. Data mapping has to be the first kind. Ray had a budget versus actuals come back saying he was two hundred thousand dollars favorable on a line item, and he knew that wasn&#8217;t true. Claude had missed a vendor because the name had a space in the wrong spot. You want it stored as a clean table that doesn&#8217;t get rewritten, and you want the probability taken out of it.</span></p><p><span>Gusto&#8217;s revenue models are the opposite, since they&#8217;re all Python. There&#8217;s no LLM anywhere inside them. They built the Python with Claude, and then Jeff&#8217;s team checks the Python. That&#8217;s the shape I&#8217;d copy. Use AI to build the deterministic thing and don&#8217;t let it be the deterministic thing.</span></p><p><span>At Level 2, you&#8217;ve solved the input problem. The data is centralized, clean, and trustworthy.</span></p><p><span>But you haven&#8217;t solved the reforecasting/modeling problem. That&#8217;s what Level 3 changes.</span></p><h3><strong><span>Level 3 - unified data warehouse + semantic layer + AI-powered reforecasting (what Gusto built)</span></strong></h3><p><span>Level 3 is everything in Level 2, plus the models themselves move out of spreadsheets.</span></p><p><span>At </span><a href="https://cfosonai.cashboard.co/p/gustos-finance-team-rebuilt-its-forecasting"><span>Gusto</span></a><span> that means the finance code lives in a GitHub repo, the models run as Python inside Streamlit inside Snowflake, and they write their results back into the same database the actuals come from, so the models talk to each other instead of being thirty separate files on thirty separate laptops.</span></p><p><span>The old version of that job was hitting execute on a query, downloading the CSV, pasting it into a Google Sheet, dragging the formulas across, checking every little number that moved, reforecasting the future periods, and then combining all of it into another sheet that fed everything else. That was about a week of work every month for Jeff&#8217;s team. It is now roughly twenty minutes of someone reading the output.</span></p><p><strong><span>Where this gets you: budget versus actuals 1 day after close, reforecasting and modeling 3 days after close, and budgeting still at three months.</span></strong></p><p><span>What it costs is people who can read code. Somebody on that team has to look at what Claude wrote and know whether it does the thing they asked for, and that is a different skill from being able to prompt for it. It also helps enormously to be at a company where nobody makes you argue for centralizing the data in the first place (Gusto spent 10 years perfecting their data warehouse, and 1 year building their semantic layer).</span></p><p><span>When I was a CFO at a tech company there was already a data team and already a warehouse, which made the conversation for adding accounting and payroll data much easier than at a non tech company. At a manufacturer or a services roll up that same conversation starts with whether it&#8217;s worth the money and whether anyone in the building knows how.</span></p><p><span>Level 3 gets you close to the end state for monthly reporting and forecasting.</span></p><p><span>But there&#8217;s still one major missing piece: annual planning.</span></p><h3><strong><span>Level 4 - unified data warehouse + semantic layer + agentic budgeting (tomorrow&#8217;s world-class)</span></strong></h3><p><span>I have yet to see anyone improve the timeline on the annual planning process.</span></p><p><span>What Jeff&#8217;s team built is a modeling engine, and modeling is equations, guesses about how things move. Planning and budgeting are the other kind of forecast, the one where you build a table with a name on every vendor and every customer and every employee you expect to have. I&#8217;m not convinced the Level 3 setup does that job.</span></p><p><span>Also, Gusto prefers monthly reforecasting over annual bottoms-up budgeting.  Most teams would choose the latter.</span></p><p><strong><span>The goal here is to get budget versus actuals 1 day after close, reforecasting 1 day after close, and annual planning done inside 2 weeks.</span></strong></p><p><span>Those two weeks should be coordination with budget owners rather than building templates, mailing them out, and consolidating the backup by hand. I believe it is going to have to come from purpose built software, because the self build path runs into the vibe coding that&#8217;s not working and the existing planning tools that are twenty five years old.</span></p><p><span>We&#8217;re building an Agentic Budgeting product at Cashboard that will handle both the modeling and the budgeting, sitting on top of the Level 2 platform that we already offer. Watch this space :)</span></p><h2><strong><span>Speed to insights drives compounding growth</span></strong></h2><p><span>Right now, most department leaders understand their org&#8217;s performance late or never find out at all.</span></p><p><span>They don&#8217;t find out that a vendor came in over budget. They don&#8217;t find out that a raise landed a quarter earlier than it was planned for. They don&#8217;t find out they&#8217;re tracking to miss their number until it&#8217;s a number they&#8217;ve already missed. If you&#8217;re finding out about any of that within a month of it happening, you&#8217;re doing better than most finance teams I talk to.</span></p><p><span>The analysis should be automated and pre-scheduled and pointed at the person who owns the number, with a human reading it before it goes out. What stops that happening at most companies is that the data is still sitting in six systems under six different names.</span></p><p><span>The companies that fix this are going to compound away from the ones that don&#8217;t. Speed of reporting and analysis turns into speed of decisions. A multi site operator sees which clinics are drifting on labor cost while there&#8217;s still a month to staff differently. A software business catches a pricing change working in one segment and rolls it everywhere before the quarter closes. A roll up finds out that the location it just bought is missing plan in month two rather than month five, when the earnout is already priced.</span></p><p><span>That&#8217;s the entire argument for Level 2. Level 3 is faster and Level 4 is coming, but the difference between finding out in a day and finding out in a month is one unified data warehouse and one set of definitions, and you can start on it now.</span></p><h2><strong><span>What I&#8217;m still not sure about</span></strong></h2><p><span>The direction we are heading in feels clear to me: finance is moving toward faster, automated, continuously updated reporting and forecasting.</span></p><p><span>What&#8217;s much less clear is exactly how we get there.  Here&#8217;s what I don&#8217;t know:</span></p><p><strong><span>Whether anyone can productize what Gusto built.</span></strong><span> The GitHub repo and the Python models in Streamlit work, and they work well, but you have to be genuinely technical to understand what&#8217;s happening in there. Somebody needs to turn that into a thing a finance team can buy, and I&#8217;m not sure whether that ends up looking like what Jeff&#8217;s team assembled or like something else entirely. I&#8217;m also not convinced what they built solves annual planning, because a model built out of equations is a different animal from a table with a name on every vendor and customer and employee you expect to have next year.</span></p><p><strong><span>Where the SQL people will come from.</span></strong><span> SQL and Python matter more now than they did five years ago, and at the same time nobody has any reason to learn them. I got good at SQL by writing a hundred thousand bad queries, reading Stack Overflow, and irritating a lot of engineers, and none of that happens anymore because the output isn&#8217;t blocked by the education. But Level 3 needs someone who can read what Claude wrote and know whether it does what they asked. I don&#8217;t know where that person comes from in five years. Ashkon and I are not a large cohort and the people behind us are thinner on the ground.</span></p><p><strong><span>When vibe coding gets good enough.</span></strong><span> I&#8217;m confident it isn&#8217;t an effective path today for a CFO trying to do any of this, and I&#8217;m equally confident that&#8217;s a statement with a shelf life. It works right now for engineering teams moving fast, and it does not work for people who can&#8217;t audit the output, which is most of finance. I don&#8217;t know whether that gap closes in a year or five, but definitely worth keeping an eye on.</span></p><div><hr></div><p><em><a href="https://www.linkedin.com/in/jrowl/"><span>Julian Rowlands</span></a><span> is the founder and CEO of </span><a href="https://cashboard.co/"><span>Cashboard</span></a><span>, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at www.cashboard.co.</span></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Gusto's finance team rebuilt its forecasting stack from scratch with AI]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 6]]></description><link>https://cfosonai.cashboard.co/p/gustos-finance-team-rebuilt-its-forecasting</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/gustos-finance-team-rebuilt-its-forecasting</guid><dc:creator><![CDATA[Julian Rowlands]]></dc:creator><pubDate>Wed, 19 Aug 2026 16:48:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!h6Ca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h6Ca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h6Ca!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h6Ca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:757562,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/211882921?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h6Ca!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!h6Ca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F460829bd-3a82-441f-b284-e5964fd67a55_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>I got off this call and thought, I have just seen the future.</span></p><p><span>But I want to be careful here because I started this series to push back against AI hype. My whole complaint about AI content is that somebody stands on a stage, says the word &#8220;transformative&#8221; nine times, and every CFO in the room is sitting there thinking </span><em><span>but what button do I press? What&#8217;s actually worked for someone?</span></em></p><p><span>So let me be specific about what I mean.</span></p><p><span>Jeff Cobourn leads product and go-to-market finance at Gusto. His team owns 30-plus revenue models across 40-plus products. A year ago, he scored his team&#8217;s automation at zero. Six months ago, still zero. Today, close to 80%. Their monthly forecasts are moving out of Google Sheets into Python.</span></p><p><span>Business partner meetings start at the problem solving. Actuals populate automatically from Snowflake, models automatically reforecast, an agent drafts the performance commentary and a human reviews it, and the partner has read both before anyone gets on the call.</span></p><p><span>His team is within weeks of having granular reforecasts produced one day after accounting close. The monthly grind behind that, hitting execute on a query, downloading the CSV, pasting it into a sheet, dragging formulas, re-forecasting the future periods, is something a lot of companies can&#8217;t do at all at this level of detail. At Gusto it used to take a week. Now it can be a few minutes of human review.</span></p><p><span>So when I say I saw the future, it&#8217;s because of the outcomes Jeff has achieved. They have every record from every system landing in one warehouse. They spent a year tying data labels to a single master meaning. They put their finance code in GitHub, which solves a coordination problem around individual Claude workstreams on different people&#8217;s computers that most teams haven&#8217;t even noticed they have yet. And they have speed to insight, because the day after the books close, every operator knows exactly what happened in their business.</span></p><p><span>This was a fun one. I talk to CFOs about AI 50 hours a week and Jeff&#8217;s team is doing things I&#8217;ve never heard anyone else talk about. Let&#8217;s get to it.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong><span>If you only read one thing, my top 5 highlights</span></strong></h2><ul><li><p><strong><span>Zero to 80% in six months.</span></strong><span> It started with monthly hackathons, OpenAI one month, Anthropic the next, Cursor after that. A full day, teams competing, just building things. Gusto&#8217;s team spent a year experimenting before any of it turned into production work, and then automated ~80% of their FP&amp;A tasks in just six months.</span></p></li><li><p><strong><span>Spreadsheets have earned eternal peace.</span></strong><span> They&#8217;re calling it Project SHEEP. Gusto&#8217;s revenue models are moving out of Google Sheets and fully into Python that runs in Streamlit inside Snowflake, writing back to a shared finance data table where the models talk to each other. A week of work becomes twenty minutes of review. Forecast delivery can move from five days after accounting close to one.</span></p></li><li><p><strong><span>The agents that check the work matter more than the agents that write it.</span></strong><span> Vibe-coding a model gets you 80% fast, and the last 20% is where the time goes, because you no longer know every cell. You didn&#8217;t build every cell. So Jeff built an agent that scores a model, flags could be wrong, and renders every calculation as a flowchart that is easy to understand visually.</span></p></li><li><p><strong><span>Their finance team runs version control through GitHub.</span></strong><span> If everyone on your team is building with AI, all that work ends up scattered across individual desktops. Gusto put their finance code in a shared repo instead, so every tool the team has ever built sits in one place everyone can reach.</span></p></li><li><p><strong><span>None of it works without the data foundation underneath it.</span></strong><span> The semantic layer took many months of unglamorous work with Gusto&#8217;s data team, defining canonical fields one product at a time, so that &#8220;how many customers did we have last month&#8221; resolves the same way for everyone who asks. That sits on top of a unified warehouse that colocates all of it, which has probably been evolving for the better part of a decade. The AI work of the last six months is the visible part of a much longer build.</span></p></li></ul><div><hr></div><h2><strong><span>Jeff&#8217;s path, and what he owns</span></strong></h2><p><strong><span>Julian: Let&#8217;s start with your background and your career path.</span></strong></p><p><strong><span>Jeff:</span></strong><span> I&#8217;m from Toronto. I started my career in traditional finance, found myself investing in software companies in San Francisco, and then realized I should go learn what it&#8217;s actually like to build one. I joined Gusto about eight and a half years ago.</span></p><p><span>My focus has always been how we accelerate revenue growth. My team covers both product and go-to-market. We help think about what products we build, in what order, for whom, how we price them, how we get them into customers&#8217; hands, how we resource the teams, how we think about ROI across teams. Tactically, we own all the revenue models. We&#8217;ve got 40-plus products, so we maintain 30-plus revenue models.</span></p><p><span>It looks and feels more like a product finance team than a traditional FP&amp;A team. We spend a little time on cost, but it&#8217;s much more business cases, unit economics over time, program economics, and R&amp;D investment, helping our leadership make resource allocation decisions.</span></p><p><strong><span>Julian: Before we get into systems, what&#8217;s the technical baseline on your team?</span></strong></p><p><strong><span>Jeff:</span></strong><span> A core skill set on the team was always SQL. Everyone on my team knows SQL. We had to be able to go write and edit queries so that we didn&#8217;t have to wait on the data team.</span></p><p><span>And we&#8217;ve got some people on our team who came from GitHub&#8217;s finance team, so they already knew how it all worked. I think that helped.</span></p><h2><strong><span>The stack</span></strong></h2><p><strong><span>Julian: I always like to ask about data systems. Where the data you care about lives, and what the tooling is, before we even get to the AI piece.</span></strong></p><p><strong><span>Jeff:</span></strong><span> Snowflake is where the warehouse sits. That&#8217;s our primary tool, and the source of truth for historicals, meaning all actual data. A year ago we were using Redash a lot, but we&#8217;ve since moved pretty heavily into Streamlit apps within Snowflake. That&#8217;s where we&#8217;re primarily building dashboards, data visualization, and now all our financial models.</span></p><p><span>We&#8217;ve got NetSuite, which flows one way into Snowflake. We use Pigment on the cost side, and that&#8217;s really the source of truth for cost forecasting. Pigment and Snowflake are two-way. Snowflake feeds Pigment, and Pigment feeds back. We send GL lines over, and we feed operational metrics into Pigment to run ratios on teams and staffing. For cost detail that isn&#8217;t in Snowflake, we just use the Pigment MCP.</span></p><p><span>Sales CRM and payroll flow into Snowflake too.</span></p><p><strong><span>Julian: And what were Redash and Streamlit doing? I used to do data warehouse work for hedge funds, and that job was made obsolete by ChatGPT 3.5. I was the stable keeper and now they have cars. But I don&#8217;t know these tools.</span></strong></p><p><strong><span>Jeff:</span></strong><span> Redash is basically how we queried our tables. That&#8217;s how we got data out of Snowflake and into a CSV. We did a lot of visualization and charting there, and in Tableau, and that&#8217;s all moving into Streamlit now.</span></p><p><span>Streamlit is an application layer within Snowflake where you can build dashboards and build models. It also lets us write back into Snowflake. So there&#8217;s a daily update on daily data, and read and write. That&#8217;s where all our revenue models are now, so they&#8217;re instantly updated and automatically forecasted.</span></p><p><span>For anything the team builds, the code lives in a repo in GitHub, and we keep performance commentary and monthly context for every product in Notion.</span></p><p><strong><span>Julian: How are you handling data mapping and master data management?</span></strong></p><p><strong><span>Jeff:</span></strong><span> We already had a unified data warehouse, and then we spent about the last year working with our data team creating a semantic layer of definitions. This is the field to use for customers. This is the field to use for this product&#8217;s ARR. This is the field, and this is the definition.</span></p><p><span>It&#8217;s been a lot of work over the last year building that layer on top, just to point people to the right data fields. Our data team set up an MCP into Snowflake that filters through the semantic layer, so anyone in the company can ask &#8220;how many customers did we have last month&#8221; and it knows to go through the semantic layer and pull the right data field. Huge kudos to our data team to enable this - we wouldn&#8217;t be here without them.</span></p><p><span>That&#8217;s how my team interacts with Snowflake, through the semantic layer. There&#8217;s a lot of work to set up all those definitions and go one by one by one through each of the products.</span></p><h2><strong><span>A year of hackathons</span></strong></h2><p><strong><span>Julian: I&#8217;d love to hear about your journey with AI.</span></strong></p><p><strong><span>Jeff:</span></strong><span> About a year ago, as a team, we started doing monthly hackathons. We brought in OpenAI, we brought in Anthropic, we brought in Cursor. A full day working with a particular vendor, teams set up, a bit of a competition, just seeing what we could build. From a year ago we were really trying to push the envelope, or at least try lots of new solutions and rethink how we work.</span></p><p><span>Heading into January this year we were using a bunch of new tools, and then we got our hands on Claude. The immediate thing was the proliferation of dashboarding and visualization. Our ability to get to insight went from weeks to a minute. Access the data we wanted, run all sorts of slices, create dashboards.</span></p><p><span>Hosting was the challenge for a while. This was before artifacts really existed, and then there was a size limit on them. So we used a combination of Google Apps Script, Switchboard, and now Streamlit, which has become the big one for us.</span></p><p><span>Two or three months in, it was part of our every day. Something like 70% of everyone&#8217;s time on my team was working with Claude, creating dashboards. That&#8217;s how we made planning artifacts. We used it for board decks. We were writing HTML decks and communicating through pull requests in GitHub, which is how we did version control. By March or April, that was a genuinely new way of working.</span></p><p><span>Then we said, this has been amazing for personal productivity, we&#8217;ve stopped moving pixels on Google Slides, and we&#8217;re working our way out of spreadsheets. Now let&#8217;s capture the big work streams.</span></p><h2><strong><span>Project SHEEP (Spreadsheets Have Earned Eternal Peace)</span></strong></h2><p><strong><span>Jeff:</span></strong><span> So for the last three months we&#8217;ve been focused on one thing. How do we move our revenue models out of spreadsheets. The project is called Project SHEEP, which stands for Spreadsheets Have Earned Eternal Peace - credit to the team leading the project who coined this.</span></p><p><span>We spent three months proving we can read and write into Snowflake, that we can replace what we were doing in Google Sheets, and that we can move all of our revenue model infrastructure into Streamlit.</span></p><p><span>The old workflow was hit execute on a query in Redash, download a CSV, copy and paste the data into a revenue model in Google Sheets, drag the formulas across, check all the little numbers that changed, then re-forecast the future periods. Then we used another google sheet to combine all outputs from these models into a consolidated view, which fed other reporting infrastructure. That was about a week of work for the team. Now it&#8217;s roughly twenty minutes of human-in-the-loop review.</span></p><p><span>The models are all just Python code. There are no LLMs in them. We built the Python with Claude.</span></p><p><strong><span>Julian: What&#8217;s the time saving been, the number of days it used to take per month versus now?</span></strong></p><p><strong><span>Jeff:</span></strong><span> We used to deliver our forecast every month on business day 10. We&#8217;re aiming for business day 5 to be fully done with all revenue forecasts.</span></p><p><strong><span>Julian: And are the historicals ready to go on day one? Is that half the time saving, or is that actually most of it?</span></strong></p><p><strong><span>Jeff:</span></strong><span> Accounting close moved from business day 7 to business day 4. My team will get down to accounting close plus one. So one day after close, we&#8217;ll have it.</span></p><p><strong><span>Julian: So it was close plus three, and now it&#8217;s close plus one.</span></strong></p><p><strong><span>Jeff:</span></strong><span> Close plus three, yes.</span></p><p><strong><span>Julian: 3x faster, for a business your size, is completely bananas.</span></strong></p><p><strong><span>Jeff:</span></strong><span> It&#8217;s remarkable just to hear my team talk about it. The aha moment of, oh my god, this thing that used to take me a couple of days takes a couple of minutes.</span></p><h2><strong><span>How the numbers get to people</span></strong></h2><p><strong><span>Julian: How do you get the right data to the right people at the right time? My experience with finance business partnering is that you can write to a dashboard, but people don&#8217;t always look at the dashboard.</span></strong></p><p><strong><span>Jeff:</span></strong><span> Everyone on my team owns different revenue models and products, and they&#8217;ve got a workflow. The models now have performance versus actuals populated automatically, because it&#8217;s all coming from Snowflake. There&#8217;s about 20 different performance reviews across our 30 or so models and 40-plus products.</span></p><p><span>The performance commentary is automated with an agent that spins up, writes the commentary, a human reviews it, and it writes into Notion. Then that can be sent over Slack to the business partner. By the time they have their meeting, they&#8217;ve already reviewed the actuals and the commentary, so the meeting is just problem-solving.</span></p><p><strong><span>Julian: And the agent is a plugin? Is it another company&#8217;s, or did you write your own?</span></strong></p><p><strong><span>Jeff:</span></strong><span> We made our own Claude plugin that sits in our team&#8217;s Claude Code marketplace. We&#8217;re training that agent all the time on what to focus on and what to dig into. I think of a plugin as a shared skill, so my team can leverage it the same way.</span></p><h2><strong><span>The hard part moved to the back end</span></strong></h2><p><strong><span>Julian: What have you had to babysit, or double-check, or that&#8217;s been harder than you expected?</span></strong></p><p><strong><span>Jeff:</span></strong><span> The work has flipped. The first 80% is easy, and the last 20% is where everything is. It&#8217;s a common thing people say about AI now.</span></p><p><span>When you used to build a model, you were in every cell, every formula. You knew it. There was less  to scrub, because you&#8217;d built it. Now the work has shifted to the back end, and there are a lot of iteration cycles to get comfortable with a model.</span></p><p><span>So we built another plugin that my team can run on their models any time. It deploys 8 agents to complete tasks that you would otherwise do in an excel workbook manually but with the power of AI. So this includes sensitizing every assumption, visualizing trends in line charts, highlighting what&#8217;s wrong and what to fix, and creating a flowchart map of the entire model, so you can see every calculation in a flowchart.</span></p><p><strong><span>Julian: The flowchart thing caught my ear. The thing that sucks about models is all the nested functions. You&#8217;re saying you&#8217;ve built flowcharts that show the whole thing?</span></strong></p><p><strong><span>Jeff:</span></strong><span> Think about trace dependents in Excel. What this agent does is create a visual flowchart where each node is a calculation. It shows the calculation and the dependency downstream. You can click any endpoint in the financial model, revenue for a given product, and it shows you every calculation visually that feeds into it.</span></p><p><span>So what trace dependents does in Excel, this is that to the hundredth degree, in richness and in power, to quickly see what calculations are actually feeding a given output.</span></p><p><strong><span>Julian: Those big blue arrows in Excel do not get you very far.</span></strong></p><p><strong><span>Jeff:</span></strong><span> Right. Now it&#8217;s a beautiful flowchart with little dots flowing between the boxes. It&#8217;s amazing. It delivers one of those aha moments when you look back at what you used to view as work and now view as toil.</span></p><h2><strong><span>Where operators feed the model</span></strong></h2><p><strong><span>Julian: Forecasting is the scariest spot for me. Reporting and analysis, if you have all the data and the labels match, is just math. But modeling and forecasting are formulas creating numbers rather than typing in what someone&#8217;s going to pay you. Are you getting it right every single time?</span></strong></p><p><strong><span>Jeff:</span></strong><span> It&#8217;s all Python. There&#8217;s no LLM in it, it&#8217;s all deterministic, and we check the Python code. Who&#8217;s more likely to make a mistake, Python or a human with a fast, angry formula? That&#8217;s what we&#8217;re up against. I feel really good that the Python code is right, and that it&#8217;s doing what we want, because of the architecture we&#8217;ve put around it to check it and understand it. Python has long been a language for financial models, but the difference is that we didn&#8217;t need a team of engineers to build and maintain it - everyone on our team is writing Python with Claude.</span></p><p><span>Then there&#8217;s how we set the team up for what we call lifts, or initiatives. Team A wants to go do something, and in January it&#8217;s going to cause a 1% lift on a conversion rate. How do you put that in? So our models let an operator go in and say, I&#8217;m doing this initiative, I think it&#8217;ll do 1% conversion in January and ramp from there, tell me the impact. The model does that for them live. Then they can add it, and it goes into a queue for the finance person to review what the operator put in as an initiative. We talk about it, maybe have a conversation, and then it gets built into the model.</span></p><p><span>So across all the assumptions, there are opportunities to layer in additional lifts for given initiatives, so that our models tie to our operations.</span></p><p><strong><span>Julian: It sounds like it&#8217;s been smooth. Nothing has broken that didn&#8217;t get caught?</span></strong></p><p><strong><span>Jeff:</span></strong><span> Not yet. To be fair, we proved read and write for all our models in Streamlit last week. Everything is mechanically sound. We&#8217;re spending this month doing all the audits and checks, and then we migrate next month. The goal is to delete our spreadsheets next month. That&#8217;ll be the moment. We haven&#8217;t done it yet. Right now we&#8217;re running Google Sheets and Python in parallel.</span></p><p><strong><span>Julian: Did you ever feed the old models in as context for the Python that was replacing them?</span></strong></p><p><strong><span>Jeff:</span></strong><span> For sure, where there were models we felt good about the logic on. Where there were ones we&#8217;d been wanting to improve or re-architect, we took that opportunity instead. You can feed them in and it&#8217;s worked pretty well. But it gets you 80% of the way there. The long tail of getting to 100% confidence takes time.</span></p><h2><strong><span>The holy grail</span></strong></h2><p><strong><span>Julian: Where do you want to get to?</span></strong></p><p><strong><span>Jeff:</span></strong><span> The near-term objective is that all of our recurring processes are 99% automated, and my team spends 100% of our time adding value. Solving problems, looking around the corner, highlighting risks and opportunities, catalyzing change and supporting the problem-solving with our leaders. All the recurring workflows, the model updates, the performance updates, the board decks, 99% automated.</span></p><p><strong><span>Julian: Where were you on percentage automated a year ago? Six months ago? Now?</span></strong></p><p><strong><span>Jeff:</span></strong><span> Zero. Zero. 80%.</span></p><div><hr></div><h1><strong><span>What I took away</span></strong></h1><h2><strong><span>Everyone should be sprinting at the semantic layer + unified data warehouse</span></strong></h2><p><span>I got genuinely excited when every CFO became obsessed with Claude, because it made the semantic layer + unified data warehouse so important, and at Cashboard we have spent years building one.</span></p><p><span>The reason Gusto could switch on Claude and have it work is that there was nothing left to assemble and no ambiguity about what anything meant. Every record from every system was already landing in one unified data warehouse, and every label was already tied to a single master definition. Everything that came after was still real work. But it was work they could start immediately, instead of after multiple years of heavy data engineering work.</span></p><p><span>If you&#8217;re at a mid-market company with no semantic layer and data warehouse, that&#8217;s the thing to sprint at. It&#8217;s the free lunch sitting right there. There are two ways to get it.</span></p><p><span>The Gusto path is to hire data engineers, wire up your integrations through something like Fivetran, stand up a Snowflake or BigQuery warehouse, and pipe everything in. Then write and maintain the scripts that match all your data labels together. That last part never ends, because there&#8217;s a new vendor or employee or customer or GL line every single day, and every one of them sends you back to engineering.</span></p><p><span>Or you can use Cashboard and have it in a couple of weeks. Every transaction and datapoint in a single unified data warehouse that&#8217;s always live. When a new label shows up, the humans get alerted, AI has a suggestion, and someone approves it with a click. No ticket to engineering.</span></p><p><span>Either way, that is the work. Everything else in this piece sits on top of it.</span></p><h2><strong><span>Faster FP&amp;A compounds into company value</span></strong></h2><p><span>When I was a CFO, I sometimes found out three months later that we had a hole in the balance sheet. Three months of decisions made on a picture that was already wrong. Gusto&#8217;s leaders find out the day after close.</span></p><p><span>Every department leader gets granular detail on their own business immediately. Add a hundred more leaders and a thousand more employees and every one of them still gets their own snapshot, because of how it&#8217;s built. They see a bad trend the day it starts and can change something that day. They see a good one and double down while it&#8217;s still happening.</span></p><p><span>That&#8217;s hard to put in a business case, which is one of the perpetual frustrations of selling what I sell. But it compounds. Their competitors might grow 2x over a couple of years while they grow 10x, because of better decision making.</span></p><p><span>Gusto was at zero a year ago. There&#8217;s no better time than now to start.</span></p><div><hr></div><h2><strong><span>About Jeff &amp; Julian</span></strong></h2><p><strong><a href="https://www.linkedin.com/in/jcobourn/"><span>Jeff Cobourn</span></a></strong><span> leads product and go-to-market finance at </span><a href="https://gusto.com/"><span>Gusto</span></a><span>, where his team helps leaders make decisions to accelerate the business.</span></p><p><strong><a href="https://www.linkedin.com/in/jrowl/"><span>Julian Rowlands</span></a></strong><span> is the founder and CEO of </span><a href="https://cashboard.co/"><span>Cashboard</span></a><span>, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at www.cashboard.co.</span></p><p><em><span>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</span></em></p><p><em><span>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email julian.rowlands@cashboard.co with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</span></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How Austin Hostetler, Alpine Energy’s Head of Finance, tripled his team’s productivity with Claude ]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 5]]></description><link>https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys</guid><dc:creator><![CDATA[Cashboard]]></dc:creator><pubDate>Fri, 07 Aug 2026 17:31:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!h20X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h20X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h20X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!h20X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!h20X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!h20X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h20X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:683450,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/210242447?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h20X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!h20X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!h20X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!h20X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2d3cb9b-f556-4c45-be34-0394b67aba63_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><span>Austin Hostetler recently used Claude to turn a Nordic bond term sheet into a working compliance model in about 15 minutes.</span></p><p><span>Then he used it to review the financial model going to Alpine Energy Services&#8217; investment bankers and predict the questions they were likely to ask.</span></p><p><span>Austin is the Head of Finance at Alpine, a fast-growing hydraulic fracturing company that recently doubled in size, is preparing for additional fleet growth, and is now reporting to public bond investors.</span></p><p><span>The finance team is lean. Reporting and compliance requirements are not.</span></p><p><span>Austin has equipment leases, a Nordic bond with its own covenants and reporting requirements, a growing accounting operation, and an Excel model that needs to keep up with it all.</span></p><p><span>So he has started using Claude as a finance associate who remembers every loan document, reviews every model, and never gets tired of being asked a dumb question.</span></p><p><span>Usually, it works extremely well.</span></p><p><span>But once, Austin asked Claude to fix a three-statement model that was out of balance by $19,156. Claude solved it&#8230; by hardcoding $19,156 into the cell in question.</span></p><p><span>(My joke to Austin: wow, that&#8217;s the AGI moment. Every human CFO has done that too!)</span></p><p><span>And that&#8217;s the tension at the center of Austin&#8217;s AI setup: Claude can do in minutes what used to take a finance team hours, but only if someone who actually understands the work is watching the outputs.</span></p><p><span>With that, let&#8217;s dive in!</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong><span>If you only read one thing: the top 5 highlights from my conversation with Austin</span></strong></h2><ul><li><p><strong><span>A Claude Project can become the institutional memory for your debt documents.</span></strong><span> Austin loaded Alpine&#8217;s bond documents and equipment lease schedules into one Project. He can now ask about covenants, interest dates, reporting requirements, or individual lease terms without searching through hundreds of pages.</span></p></li><li><p><strong><span>Claude built Alpine&#8217;s debt compliance-reporting model in about 15 minutes.</span></strong><span> Austin gave the Excel plug-in the bond term sheet, sample reports, and access to Alpine&#8217;s financial model. It created a quarterly reporting tab with leverage, liquidity, and covenant-headroom calculations. Austin estimates the first draft would have taken him hours.</span></p></li><li><p><strong><span>AI is especially useful before high-stakes finance meetings.</span></strong><span> Before sending forecasts and financials to Alpine&#8217;s investment bankers, board members, and executive team, Austin had Claude review the model for errors and generate the questions that were likely to be asked. This helped Austin quickly run scenarios that drove Alpine&#8217;s decision-making around capital structure, capex decisions, and fleet timing.</span></p></li><li><p><strong><span>The QuickBooks connector is turning Claude into an accounting operator.</span></strong><span> Alpine is testing workflows where Claude reads billing spreadsheets, creates customers, builds invoices with multiple line items, and prepares month-end journal entries. Humans still approve every action before anything is written.</span></p></li><li><p><strong><span>Never trust a Claude-authored financial model just because it balances.</span></strong><span> When Austin asked Claude to fix a $19,156 difference between cash on the balance sheet and cash on the cash flow statement, Claude solved it by hardcoding in $19,156. The output looked perfect,  but the logic was broken.</span></p></li></ul><h2><strong><span>Running finance for a company that keeps adding fleets</span></strong></h2><p><strong><span>Julian:</span></strong><span> Before we get into AI, give us some context on </span><a href="https://alpineenergyservices.com/"><span>Alpine Energy</span></a><span> and what the finance function is dealing with right now.</span></p><p><strong><span>Austin:</span></strong><span> Alpine is growing quickly. We launched another fracking fleet recently, and we are already looking at multiple opportunities to build more. At least one of those could happen by January 1.</span></p><p><span>Each fleet means more equipment, more financing, more employees, more operational data, and more reporting.</span></p><p><span>We also recently completed a Nordic bond offering, so now we have quarterly reporting requirements, compliance certificates, interest-payment dates, and covenants that we need to stay on top of.</span></p><p><span>We are still running a lean finance and accounting team. I am hiring a finance associate now, and we will probably add accounting headcount as we grow. But the goal is to use technology to keep the team as efficient as possible.</span></p><p><strong><span>Julian:</span></strong><span> You used Claude to help create the test for the new finance associate, right?</span></p><p><strong><span>Austin:</span></strong><span> Yeah. Someone can tell you they are good at three-statement modeling, but you are taking their word for it.</span></p><p><span>Claude helped me create two tests. One is a simple LBO model. The other is a three-statement accounting model with intentional errors that the candidate needs to find.</span></p><p><span>We are also asking the candidate to screen-record the test so we can see how they work through it. But they aren&#8217;t allowed to use AI to solve it &#8211; I need proof that they understand financial modeling completely.</span></p><h2><strong><span>Alpine&#8217;s finance and data stack</span></strong></h2><p><strong><span>Julian:</span></strong><span> What does Alpine&#8217;s finance tech stack look like?</span></p><p><strong><span>Austin:</span></strong><span> QuickBooks Enterprise is our accounting system. Paycom is payroll. We use Cashboard for FP&amp;A, analytics, reporting, and fleet-level financials.</span></p><p><span>I&#8217;m very involved in our three-statement model, forecasting, budgeting, and financing scenarios.</span></p><p><span>We recently moved our corporate cards and expense management to Ramp, which has been a huge upgrade from what we were using before.</span></p><p><span>Operationally, a lot of our field data lives in FieldPro. That includes pumping hours, inventory, consumables, maintenance data, and other KPIs.</span></p><p><span>We also track job updates in Slack. Each fleet has stage-by-stage updates, including maintenance issues and operating activity.</span></p><p><span>On the AI side, Claude is our main tool. It started with a couple of other people and me, and now we are trying to spread it across more of the company.</span></p><h2><strong><span>The finance associate who remembers every loan document</span></strong></h2><p><strong><span>Julian:</span></strong><span> What was the first big win that you got from Claude?</span></p><p><strong><span>Austin:</span></strong><span> Debt compliance.  We have several equipment lease schedules with lenders. Each one has different terms, payment amounts, and reporting dates. Then we have the Nordic bond documents, which contain the covenants and reporting requirements for the bond.</span></p><p><span>Without Claude, it would take me so much time to create and deliver all the required reporting.</span></p><p><span>But Claude solved all of that.  First, I put all of those documents into a Claude Project. Now it is almost like having a finance associate or legal person who remembers every word of every financing document we have.</span></p><p><span>I can ask when an interest payment is due, what reporting we need to provide, how a covenant is calculated, or what the terms are on a specific lease. I do not need to open five PDFs and start hitting Control-F. I also had it build a calendar with all the important dates across the documents.</span></p><p><strong><span>Julian:</span></strong><span> I love using Claude to find things that are buried in a document.  AI isn&#8217;t wise, but it&#8217;s amazing at ingesting information.</span></p><p><strong><span>Austin:</span></strong><span> Exactly. You still need to verify important things, but it gets you to the right section much faster. It is also helpful because you can ask the dumb question you might be hesitant to ask someone else. That applies more broadly to AI. You can advance faster because you have somewhere to ask basic accounting, finance, legal, or modeling questions without worrying about looking stupid.</span></p><h2><strong><span>Building a quarterly compliance report in 15 minutes</span></strong></h2><p><strong><span>Julian:</span></strong><span> You also used Claude to build the actual bond-reporting template.</span></p><p><strong><span>Austin:</span></strong><span> I use the Claude plug-in inside Excel. My financial model has all of our historical financials, forecasts, and dozens of supporting tabs.</span></p><p><span>I dropped the bond term sheet into the Claude sidebar. I also gave it a few examples of quarterly reports from other companies that had completed similar offerings. Then I told it to use the reporting requirements and covenants in the term sheet to build a separate quarterly-reporting tab inside my model.</span></p><p><span>It created the structure, the net leverage calculation, the liquidity calculation, and the compliance lines. It also highlighted how much cushion we had against each covenant. That is now part of my rolling financial model.</span></p><p><span>It probably would have taken me hours to create the first version. Claude did it in about 15 minutes. I had to make some tweaks, but it got me most of the way there.</span></p><p><strong><span>Julian:</span></strong><span> And now the reporting model updates live as actuals get updated?</span></p><p><strong><span>Austin:</span></strong><span> Exactly. As the historicals and forecasts change, the bond-reporting tab updates. I have similar reporting tabs for the equipment leases. You still need to understand how the calculations work. I would never rely on it without checking the logic. But instead of giving an analyst a day to build the first draft, it just creates the first draft.</span></p><h2><strong><span>Reviewing the model before the bankers do</span></strong></h2><p><strong><span>Julian:</span></strong><span> How else did you use Claude during the bond process?</span></p><p><strong><span>Austin:</span></strong><span> I was constantly updating our financial model and sending it to the investment bankers.</span></p><p><span>Before I sent anything, I would have Claude review the entire model for errors and issues. I would also ask it to quiz me: Based on this forecast, what questions will the investment bank or potential investors ask?</span></p><p><span>That was useful because it prepared me for the conversation. It would flag a change in margins, a working-capital assumption, a capital-expenditure number, or something else an investor might question. It was checking the model and also helping me prepare to explain it.</span></p><p><strong><span>Julian:</span></strong><span> I feel like Claude&#8217;s output is a little hypnotizing. The formatting looks perfect, everything looks clean, and your brain wants to conclude that it must be correct. But that stresses me out &#8211; for something going to investors or the board, I still need to understand and stand behind every number, and not being the person who wrote every formula feels scary.</span></p><p><strong><span>Austin:</span></strong><span> I agree. It is a first-pass analyst and a reviewer. It can&#8217;t be the person signing the compliance certificate.</span></p><h2><strong><span>Letting Claude operate QuickBooks</span></strong></h2><p><strong><span>Julian:</span></strong><span> What are you doing on the accounting side?</span></p><p><strong><span>Austin:</span></strong><span> We are starting to use the QuickBooks connector directly through Claude.</span></p><p><span>There is a lot of accounting work that can be administrative. You need to create a customer, set up an invoice, add the line items, assign the right GL accounts, or prepare a journal entry from a spreadsheet. Those tasks are necessary, but they can take the accounting team hours.</span></p><p><span>We have invoices with a lot of line items. Our accounting team can give Claude the spreadsheet containing what needs to be billed. Claude can then prepare the customer and invoice inside QuickBooks.</span></p><p><span>The important part is that it asks for approval. Before it creates the customer, you review it. Before it creates the invoice, you review the line items and GL accounts. Then you approve the action. Something that might have taken a couple of hours can happen in seconds.</span></p><p><span>The same concept applies to month-end journal entries. Our team may have an Excel file with the backup for payroll entries, credit-card entries, or other recurring journal entries. They can give that file to Claude, have it prepare the entries in QuickBooks, review them, and then approve them.</span></p><p><span>To me, this is not optional. We need to automate more of this work. Remove the tedious administrative work so the accountants can close faster and focus on more important things.</span></p><h2><strong><span>The $19,156 solution</span></strong></h2><p><strong><span>Julian:</span></strong><span> Where have you seen Claude go off the rails?</span></p><p><strong><span>Austin:</span></strong><span> I had one example that was pretty funny.</span></p><p><span>I was working in a three-statement model. The model didn&#8217;t balance &#8211; it was off by $19,156. I asked Claude to fix it. It whirred away and then fixed it.  Boom &#8211; everything tied perfectly.</span></p><p><span>It looked great until I clicked around and saw that Claude had &#8220;solved the issue&#8221; by hardcoding $19,156 into a cell. An analyst would probably get yelled at for doing that.</span></p><p><strong><span>Julian:</span></strong><span> [Laughing] Who amongst us hasn&#8217;t hardcoded a cell to make your 3-statement model balance?</span></p><p><span>The disappointing part is that Claude only hard-coded one cell. A truly CFO-trained AI tool would hard-code the whole model before sending!</span></p><p><strong><span>Austin:</span></strong><span> Right. That is when you know it has reached true CFO-level intelligence.</span></p><p><span>But it is a good example of why you need to understand the fundamentals.</span></p><p><span>If you do not know how a three-statement model is supposed to work, you might see that everything balances and assume it fixed the problem. It didn&#8217;t fix the problem&#8230; it hid it!</span></p><h2><strong><span>An assistant that knows everything about the company</span></strong></h2><p><strong><span>Julian:</span></strong><span> So what&#8217;s the holy grail? What do you ultimately want AI doing for Alpine&#8217;s finance team?</span></p><p><strong><span>Austin:</span></strong><span> There are probably three things.</span></p><p><span>The first is automating processes. As the company grows, we will add people, but I do not want to add staff accountants and analysts at the same rate as revenue and fleet growth. AI should take over more repetitive work so the finance and accounting teams can focus on higher-value things.</span></p><p><span>The second is speed. We are talking with lenders, expanding the bond, putting working-capital facilities in place, adding equipment leases, and modeling fleet growth. There are constantly new scenarios. Should we buy or rent a piece of equipment? What does the capital structure look like? What happens if the next fleet starts in October instead of January? We need to produce and update those analyses quickly.</span></p><p><span>The third thing is having an assistant that knows everything about the company. During our weekly cash flow meeting, I might want to know the receivable balance for a specific customer or how many days it's outstanding. Today, I may need to open QuickBooks, find the right report, click into the customer, and look it up. I want to ask Claude and get the answer in two seconds.</span></p><p><strong><span>Julian:</span></strong><span> So not just the income statement. It needs the general ledger, balance sheet, historical models, operational data, debt documents, and all the context around how Alpine measures the business.</span></p><p><strong><span>Austin:</span></strong><span> Exactly.</span></p><p><span>The operational data matters too. We track fleet-level financials in Cashboard. Once that data is connected to Claude, I want to ask: How much did we spend on fluid ends for Bravo Crew this month? Or show me the trend in maintenance spending by fleet. Or tell me what happened operationally on Alpha Crew yesterday based on the Slack updates.</span></p><p><span>That is where it gets really powerful. It is not just searching one system. It knows how the whole company fits together.</span></p><p><strong><span>Julian:</span></strong><span> There are two sides to that workflow. You can use AI to write information into the systems faster: create invoices, record journal entries, reconcile transactions.</span></p><p><span>Then you can use AI to read the information back out: answer the AR question, explain the spending change, summarize fleet economics, automate the write, automate the read, and reduce the human job to review.</span></p><p><strong><span>Austin:</span></strong><span> That is exactly it.</span></p><h2><strong><span>About Austin and Julian</span></strong></h2><p><a href="https://www.linkedin.com/in/austin-hostetler-201691152/"><span>Austin Hostetler</span></a><span> is the Vice President and Head of Finance at </span><a href="http://alpinees.com"><span>Alpine Energy</span></a><span>, where he oversees finance as the company expands its fleet operations and financing programs.</span></p><p><a href="https://www.linkedin.com/in/jrowl/"><span>Julian Rowlands</span></a><span> is the founder and CEO of Cashboard, the AI FP&amp;A platform. He was previously CFO of Xendit, last valued at $3 billion, and Head of Finance at Spruce, which was acquired by Zillow in 2023. You can learn more about Cashboard at</span><a href="http://www.cashboard.co"><span> www.cashboard.co</span></a><span>.</span></p><p><em><span>Interviews with CFOs about AI</span></em><span> is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work and ask them really detailed questions about their setup.</span></p><p><span>If you are a finance leader building with AI, we would love to interview you. Email julian.rowlands@cashboard.co with a quick summary of what you have used AI to accomplish, and we&#8217;ll get a call booked.</span></p><p></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! This post is public, so feel free to share it and subscribe.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://cfosonai.cashboard.co/p/how-austin-hostetler-alpine-energys?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://cfosonai.cashboard.co/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[How AI helps Ashkon Farmand run a 1-person finance team as VP Finance @ Payroll Integrations]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 4]]></description><link>https://cfosonai.cashboard.co/p/how-ai-helps-ashkon-farmand-run-a</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-ai-helps-ashkon-farmand-run-a</guid><dc:creator><![CDATA[Cashboard]]></dc:creator><pubDate>Tue, 21 Jul 2026 19:35:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8ys_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8ys_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8ys_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8ys_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:550006,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/207959811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8ys_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!8ys_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84cd2db9-62b8-4782-8d0b-02f064550381_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>At one point, Ashkon Farmand and I realized we might be the only two CFOs alive who get excited about building primary keys on top of scattered financial data. That&#8217;s when I knew this was going to be a good interview.</span></p><p><span>Ashkon is a CPA who has spent most of his career trying not to be an accountant.</span></p><p><span>He taught himself SQL at KPMG using textbooks and YouTube. Then he got a Master&#8217;s in Analytics from UChicago while working full time in an analytical role, where he used SQL and Python to analyze beer and hot dog sales at Cubs games. After that came five years of buy-side M&amp;A diligence at Deloitte, roughly 100 deals a year, turning messy customer data into EBITDA. Then he joined Sumeru Equity Partners and tried to drag its portfolio companies out of spreadsheet hell.</span></p><p><span>Two years ago, he took his first finance leadership role as VP of Finance at Payroll Integrations.</span></p><p><span>Since then, the company has grown from under $5M to double-digit millions of ARR. The finance team is still Ashkon plus external bookkeepers.</span></p><p><span>We connected through a LinkedIn post. Five minutes into our first call, it was obvious we had basically taken the same weird route into finance.</span></p><p><span>I did data systems consulting for hedge funds, went to U Chicago Booth for my MBA, made fun of Booth for being a CFO factory, and then immediately became a CFO. Ashkon and I also have both the SQL brain and the finance brain, which is extremely rare. He&#8217;s running his finance org exactly how I would.</span></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong><span>If you only read one thing: the top 5 highlights from my conversation with Ashkon</span></strong></h2><ul><li><p><span>You can run finance at double-digit millions of ARR with one person. Ashkon outsources the debits and credits, buys modern software, and uses Claude to produce a ton of high-quality output.</span></p></li><li><p><span>Vibe coding gets you to a shockingly good 80% in a few hours. Then the last 20% eats your life. The other problem is feature bloat: once you can build anything, suddenly your billing app also needs to push to HubSpot, post to Slack, reconcile Stripe, and make coffee. Ashkon built a working billing engine in a weekend, saw the maintenance burden that it was going to require, and promptly went out and bought Tabs.</span></p></li><li><p><span>The scariest part of vibe coding is not the code. It&#8217;s letting the code touch anything important. Ashkon would not let his apps write directly to HubSpot or reach into AWS.</span></p></li><li><p><span>MCPs make board prep feel like asking a smart analyst one more question. The night before a board meeting, Ashkon used the Rillet and Ramp MCPs to pull six months of spend on one vendor. The question came up the next day. He had the answer.</span></p></li><li><p><span>Data mapping is the glue that holds finance together. Matching CRM records to usage data. Maintaining lookup tables. Untangling customer hierarchies after one customer buys another. This is the ugly work underneath billing, rev ops, and reporting. (It is also, conveniently, exactly what we&#8217;re building at Cashboard.)</span></p></li></ul><h2><strong><span>Ashkon&#8217;s path: KPMG, beer and hot dog analytics, Deloitte M&amp;A, private equity, Payroll Integrations</span></strong></h2><p><strong><span>Julian: </span></strong><span>Thanks for joining us, Ashkon. You&#8217;ve spent your whole career becoming an accountant while trying very hard not to be one. How did that happen?</span></p><p><strong><span>Ashkon: </span></strong><span>I started at KPMG in their advisory practice with a whole bunch of other accountants. I was trying to differentiate myself, and I got exposed to SQL. I was drawn to it because other people were afraid of it. I knew I could have a little job security and learn something interesting besides anti-money laundering compliance and really annoying regulatory projects that I thought brought no value. This was 10-plus years ago, so there was no coordinated way to learn. I was learning by textbook and YouTube videos.</span></p><p><span>I wanted to figure out how I could become a programmer slash accountant slash business analyst. I had no clue, but I knew I didn&#8217;t want to do debits and credits, audit, or tax. I already had a CPA, so an MBA didn&#8217;t make sense, and I didn&#8217;t want to be a software engineer, so computer science didn&#8217;t either. Right around then, schools started launching business analytics programs, and UChicago had just announced one for working professionals. I got to learn coding and the application of it, not just theoretical mathematics. I was like, this is great. I want to be an accountant who can code.</span></p><p><span>I took one class and realized, what the hell am I doing at KPMG doing compliance? So I went to work for a data analysis company in Chicago doing business analytics, analyzing concession stand sales at Cubs games, NFL games, concerts. I&#8217;m using SQL and Python to analyze beer and hot dog sales at sporting events. Amazing gig.</span></p><p><span>Eventually I realized the TAM of my skills, this hybrid CPA-plus-coder thing, was a lot bigger outside of food and beverage. So I went to Deloitte, after claiming I&#8217;d never work for a Big Four firm again, and spent five years doing M&amp;A due diligence, specializing in private equity buyers, analyzing customer data during buy-side diligence. A hundred deals a year, basically two projects at a time. I could translate customer data into EBITDA and actually blend the accounting side and the data side.</span></p><p><span>Then I got the opportunity to do that same thing inside a mid-market private equity firm, Sumeru, helping portfolio companies beef up the tech stack for the finance function. Trying to teach older-school finance teams: don&#8217;t just hire another FP&amp;A analyst who&#8217;s going to grind through Excel. Get a data warehouse, get BI, anything but broken Excel and Google Sheets that won&#8217;t load.</span></p><p><span>So after a couple of years of coaching people, I thought, let me just do the damn thing. I saw what CFOs were doing and thought, I know how I would do it. I&#8217;d never done it before. But I knew the data side, and finance is just data management. The controllership and compliance stuff is all pretty dry from there, and it can be automated if you have quality data. I knew what needs to be done at $100M ARR, so let me go start at $5M ARR and do it right from the get-go instead of doing a cleanup job. I joined Payroll Integrations when we were sub-$5M ARR. We&#8217;re now well into double-digit millions of ARR.</span></p><h2><strong><span>The team-of-one stack</span></strong></h2><p><strong><span>Julian: </span></strong><span>And it&#8217;s still just you. That is insane to me.</span></p><p><span>I&#8217;m curious about systems, too. In my own CFO roles, I had accounting data, budgets and forecasts, payroll, an internal KPI database, and a sales CRM. What are you running all of this on?</span></p><p><strong><span>Ashkon: </span></strong><span>It&#8217;s just me, plus external bookkeepers, because it&#8217;s cost-effective and they&#8217;re better at debits and credits than I am. I wanted to see how long I could stay a team of one, keep improving the tech stack, and get smarter about our data connectivity.</span></p><p><span>We upgraded out of QuickBooks into Rillet as our ERP earlier this year. We moved to JustWorks as a PEO, so I&#8217;m not running payroll anymore, which was annoying. Our data warehouse is in AWS, where I&#8217;m doing stuff in Python and SQL. We implemented Drivetrain for FP&amp;A last year, and the way I use it has changed since MCPs and Claude Code blew up: I&#8217;m using it essentially as a data warehouse and for data mapping, whereas before I used it for modeling. We have Power BI, but between Drivetrain and Claude I don&#8217;t really use it as much. We&#8217;re implementing Tabs for billing, because our billing is chaotic and annoyingly complex. I vibe-coded some billing myself, and it worked, it&#8217;s decent, but I don&#8217;t want to maintain responsibility for all of our billing, so I needed pros to build a semi-customized solution. We&#8217;re on Ramp for spend. We&#8217;re in HubSpot, where I&#8217;m doing pseudo-rev-ops and piping data into Drivetrain for sales leadership reports.</span></p><p><span>And we just went live with Invoice Butler on AR. We&#8217;re high volume, low dollar amount, and I had HubSpot support tickets full of customers saying update my credit card, where&#8217;s your W-9, why is this charged this way. I can&#8217;t be doing that, and I&#8217;m not hiring an AR specialist. Those guys have been tremendous.</span></p><h2><strong><span>The easy AI wins: SQL, Python, and journal entries written straight into Rillet</span></strong></h2><p><strong><span>Julian: </span></strong><span>Okay, so that&#8217;s your stack. What have you actually built with AI on top of that?</span></p><p><strong><span>Ashkon: </span></strong><span>The easiest win, even from before Claude Code blew up, is that it helps me write SQL and Python better. But that&#8217;s because I had a baseline understanding from the old days of Stack Overflow and Google. And you almost don&#8217;t need to do that anymore, because Claude can just query the data directly.</span></p><p><span>Here&#8217;s one I like. We have a vendor that bypasses Ramp and pulls directly from our bank feed, so in Rillet it just shows up as, whatever, $10,000 withdrawn. No bill, no credit card. They&#8217;d email me an itemized PDF, and I didn&#8217;t want $10,000 sitting in G&amp;A. I want $2,000 here, $2,000 there, allocated across R&amp;D, G&amp;A, and COGS. So I used OCR to get the PDF into Python, did the allocations, and wrote the journal entries directly into Rillet through the API. It was partly just to see if I could do it, but it saved me manual journal entries. Now I can upload the PDF directly into Claude and replicate the same thing.</span></p><p><span>The other big one is our usage data. I&#8217;m pulling about five million records out of AWS, putting them into a good format, and loading them into a shared S3 bucket to feed Tabs. That&#8217;s a Python script right now, and I&#8217;m converting it to a cron job soon so it runs nightly without me loading it up and clicking run. All of that is Claude-assisted, because I had no clue what a cron job was, and I don&#8217;t want to bug my engineers.</span></p><h2><strong><span>Prepping for a board meeting with the Rillet and Ramp MCPs</span></strong></h2><p><strong><span>Julian: </span></strong><span>You use the Ramp MCP a lot. I&#8217;d love to hear an example of how that&#8217;s been helpful.</span></p><p><strong><span>Ashkon: </span></strong><span>The best example: I had a board meeting coming up, and I knew they were probably going to ask about our Anthropic bill, because it&#8217;s gone up. So I said, hey Claude, I have a board meeting tomorrow. Pull all of my Anthropic expenses from Ramp and Rillet: averages, six-month trailing average, all that sort of stuff. And the board did ask the question! It was phenomenal to walk in prepared. That&#8217;s the Rillet MCP and the Ramp MCP working together.</span></p><p><span>Scheduled tasks are the thing I need to get better at. What I want is one that connects to my Gmail, my Slack, and my HubSpot, and every day pings me: here&#8217;s what you need to prioritize.</span></p><p><strong><span>Julian: </span></strong><span>I built a Ramp expense-review skill that I really like. Every Friday, it checks the past week&#8217;s transactions, flags new vendors, looks back about 380 days for annual renewals, guesses billing cadences, and checks declined transactions.</span></p><p><span>Then it Slacks each person their own past and expected upcoming spend and says: if you don&#8217;t recognize something, please flag it. And please cancel anything you&#8217;re not using!</span></p><p><span>I also force every message to end with &#8220;sent using Claude,&#8221; because people should know that it&#8217;s a robot sending it.</span></p><p><span>It gives everyone spend visibility without me chasing them around. We&#8217;ve probably saved a couple thousand bucks from people canceling unused subscriptions.</span></p><p><em><span>(Note: I sent Ashkon my ramp skill &amp; scheduled task after we hung up. Email me if you want it too.)</span></em></p><h2><strong><span>The vibe-coded billing engine and the customer-matching app</span></strong></h2><p><strong><span>Julian: </span></strong><span>You mentioned doing a ton of vibe-coding &#8212; I&#8217;d love to hear more about that.</span></p><p><strong><span>Ashkon: </span></strong><span>Our billing logic is complicated. Historically, it lived in a spreadsheet that&#8217;s 58 columns long, all if-statements and lookup tables, because we have parent-child customer hierarchies and a bunch of different channels. I tried to replicate it in Python when I first joined and didn&#8217;t want to maintain that either. So I vibe-coded a billing app.</span></p><p><span>It is not live-connected to AWS. I still export the usage data and upload it manually, which is one reason I&#8217;m replacing it with Tabs. But once the data is in, the app calculates each customer&#8217;s bill and pushes the invoice into Rillet through the API.</span></p><p><span>The app really works. I&#8217;m always cross-checking my work before using it just to be safe. Once a bill looks right, I just hit &#8220;push&#8221; in the app. The invoice appears in Rillet, and the app generates the supporting CSV automatically. Every customer wants to know why we charged them and what the underlying usage was, so I attach that CSV to the invoice.</span></p><p><span>I&#8217;m still running the app in parallel with Excel and reviewing everything before it goes out. It works. I&#8217;m also extremely excited to stop owning it &#8212; the maintenance burden would be way too crazy over time.</span></p><p><span>The other app I built is for mapping customer tags across systems so that I have a single unified tag for everyone. The customer names in HubSpot and in our usage database don&#8217;t always match. So I built an app that scores matches: these two names are a 100% match; lock it in and store that mapping forever; this one&#8217;s a 90% fuzzy match; flag it for manual review. The idea is that an entry-level person can review the flags instead of me going through thousands of names. But it&#8217;s all local, on my machine. I&#8217;d rather pay for a proper tool to do this for me, so I can collaborate with teammates instead of manually managing it all myself.</span></p><h2><strong><span>Where vibe coding breaks down</span></strong></h2><p><strong><span>Julian: </span></strong><span>You&#8217;ve built some really cool software. When did you realize you shouldn&#8217;t keep owning it?</span></p><p><strong><span>Ashkon: </span></strong><span>Security was the big one. I did not feel comfortable letting a vibe-coded app tap into our AWS directly, so I was writing a query, saving the file locally, and uploading it into my app. Same with HubSpot. I was hesitant to write data back to HubSpot directly without proper controls, because I don&#8217;t perfectly understand what I built, right? It&#8217;s not like I&#8217;m going through every script it created. I had decent controls and small sample sizes, but one of my company&#8217;s co-founders asked, are you sure you want to let your app loose on our HubSpot instance? And I was like, you&#8217;re right. I probably shouldn&#8217;t do that (laughs). So now the app exports a file that matches HubSpot&#8217;s import template, I review it manually in Excel, and I upload it myself.</span></p><p><span>The other thing is that vibe coding gets you a really damn good 80% or 85% within a couple of hours. Then you spend so, so much time on the remaining 20%.</span></p><p><span>And when you think you can build anything, the bloat is real. I want it to push to HubSpot. I want it to post to Slack. I want it to auto-log everything. Suddenly, the little app I built has become an internal software company that I apparently run.</span></p><p><span>For small, focused, one-off things, it&#8217;s great. For larger, important things, the build-versus-buy math stops working. I&#8217;ve built one billing app. Tabs has done it a million times. By the end of the weekend, my app was pretty great, and I still thought: it doesn&#8217;t make sense to spend the rest of my life on this.</span></p><h2><strong><span>Data mapping is the finance function</span></strong></h2><p><strong><span>Julian: </span></strong><span>Before we wrap, I just have to say &#8212; you&#8217;re the first finance leader I&#8217;ve interviewed who tried to build his own data-mapping tool. I think that&#8217;s so cool. Data mapping in finance is such an insane technical problem.</span></p><p><span>I always handled mappings in Excel when I was a CFO and it was a nightmare. You can&#8217;t get down to vendor-level mapping because the data volume is insane, and there&#8217;s always a new one every day. Which means you can&#8217;t really understand your atomic units of spend and how they compare to budget. Same for customer mapping, employee mapping, etc.</span></p><p><span>We built Cashboard&#8217;s data mapping engine to solve that. It&#8217;s the crown jewel of our platform. I&#8217;m unhealthily obsessed with it.</span></p><p><span>You can create as many dimensions as you want, and stitch together infinite labels from as many source systems as you want. Then, when a new label shows up, the humans get alerted, and AI has a suggestion that they can approve with a click.</span></p><p><span>Mappings are just such a wild finance-specific data engineering problem, and &#8212; before I built my own platform to solve it &#8212; they were the bane of my existence as a CFO.</span></p><p><strong><span>Ashkon: </span></strong><span>That&#8217;s right. I have three hierarchy layers of customers and a lookup table I&#8217;ve outgrown. But that&#8217;s the thing. What you&#8217;re building, data mapping and essentially lookup tables, is finance. That&#8217;s the finance function.</span></p><p><strong><span>Julian</span></strong><span>: Some kids want to be astronauts. For some reason, I wound up spending my whole career at the intersection of data and finance, and now I&#8217;m apparently obsessed with it.</span></p><h2><strong><span>About Ashkon &amp; Julian</span></strong></h2><p><a href="https://www.linkedin.com/in/ashkon-farmand?utm_source=share_via&amp;utm_content=profile&amp;utm_medium=member_ios"><span>Ashkon Farmand</span></a><span> is the VP of Finance at Payroll Integrations, where he runs the finance function as a team of one.</span></p><p><a href="https://www.linkedin.com/in/jrowl?utm_source=share_via&amp;utm_content=profile&amp;utm_medium=member_ios"><span>Julian Rowlands</span></a><span> is the founder and CEO of Cashboard, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at </span><a href="http://www.cashboard.co"><span>www.cashboard.co</span></a><span>.</span></p><p><span>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</span></p><p><span>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email julian.rowlands@cashboard.co with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</span></p>]]></content:encoded></item><item><title><![CDATA[Sowmya Ranganathan, former Open AI Controller, on Inventing the future of agentic accounting]]></title><description><![CDATA[INTERVIEWS WITH CFOS ABOUT AI | EPISODE 3]]></description><link>https://cfosonai.cashboard.co/p/inventing-the-future-of-agentic-accounting</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/inventing-the-future-of-agentic-accounting</guid><dc:creator><![CDATA[Cashboard]]></dc:creator><pubDate>Thu, 09 Jul 2026 18:39:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ya-l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ya-l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ya-l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ya-l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:767312,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/205872131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ya-l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!ya-l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feebe294a-75f8-498a-97e1-0d2e84da61d8_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Sowmya Ranganathan is one of the most impressive finance leaders I&#8217;ve ever met.</span></p><p><span>She&#8217;s the former controller of OpenAI and Rippling, a CPA, and now she&#8217;s building the future of agentic accounting at her own startup Lumera.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support this series.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>I met Sowmya years ago when I was a Rippling customer and we asked our CSM for a demo of their NetSuite connector. And lo and behold: turns out Sowmya was the product manager building that feature, *as well as* their controller, and she ran the demo herself.  I&#8217;ve been starstruck ever since.</span></p><p><span>Besides being brilliant and kind, Sowmya&#8217;s also the greatest stock picker I&#8217;ve ever met &#8211; except she&#8217;s done it via employee stock options instead of investing cash. Besides joining OpenAI and Rippling early, she also joined Square pre-IPO and helped them go public.</span></p><p><span>I asked Sowmya about:</span></p><ul><li><p><span>Scaling finance at OpenAI after they turned on paid ChatGPT subscriptions</span></p></li><li><p><span>How her team used OpenAI&#8217;s products as part of that scaling</span></p></li><li><p><span>The data infrastructure they had to build to keep pace as OpenAI&#8217;s ARR went from $28M in 2022 to $20B in 2025 (note: these numbers came from publicly available metrics)</span></p></li><li><p><span>Whether the &#8216;finance engineer&#8217; is a thing</span></p></li><li><p><span>Building the future of agentic accounting at Lumera</span></p></li></ul><h2><strong><span>If you only read one thing: my top 5 highlights from my conversation with Sowmya</span></strong></h2><ul><li><p><span>ChatGPT flattened the SQL learning curve almost overnight. OpenAI&#8217;s revenue ran entirely on SQL because the volume was far too big for Excel, and recruiters told Sowmya to pick a lane: SQL people or revenue people, not both. So she hired accountants who knew ASC 606 and let ChatGPT close the SQL gap.</span></p></li><li><p><span>Let the problem pull you to AI, not the other way around. The OpenAI accounting team&#8217;s best use cases for AI came from identifying what was &#8220;breaking the team,&#8221; not from chasing a solution in search of a problem.</span></p></li><li><p><span>Dashboards are easy and you can prompt one in minutes. The foundational work is upstream: capturing the data, capturing all the metadata, and keeping systems in sync. A clean ERP gives you clean reporting and a messy one does the opposite.</span></p></li><li><p><span>Every IC is becoming a manager. Teams get smaller, and roles get broader. The job is shifting from </span><em><span>doing</span></em><span> the ten steps to </span><em><span>building</span></em><span> something that does the ten steps, then you handle the exceptions. If you have not considered yourself an architect or product manager in accounting, now is the time.</span></p></li><li><p><span>Governance is what makes finance AI shippable. Anything an auditor has to bless needs access controls, version history, and change management. Without that, finance teams cannot comfortably put the automations they build into production.</span></p></li></ul><h2><strong><span>Sowmya&#8217;s path: EY, Square, Rippling, OpenAI, Lumera</span></strong></h2><p><strong><span>Julian: </span></strong><span>Thanks for joining us, Sowmya. You&#8217;ve had a wild career: EY, Square, controller roles at Rippling and OpenAI, and now founding Lumera. I&#8217;d love to hear more about that trajectory.</span></p><p><strong><span>Sowmya: </span></strong><span>On the surface, it looks like a mostly traditional accounting path. I started out at EY, went to some tech companies, did accounting, became a controller, and did that again a couple of times. The more interesting thing is that I had a lot of career crisis moments in the middle of that.</span></p><p><span>At Square, for example, after we went public and did a couple of quarters, I was running close, and I thought, oh my God, is this the rest of my life? Am I just going to be living between quarters forever? I was so close to joining one of those coding bootcamps to change careers and become an engineer. But my husband, who is an engineer, talked me down from that ledge.</span></p><p><span>Rippling was really fun. I was doing a lot of work with the product teams and sometimes the go-to-market teams because the product we were building and selling was, in large part, for a finance audience. I found that work really interesting, and I thought that whatever I do next has to be something I love as a user, where the job can be more than just back-office close, and where I can actually push the company forward.</span></p><p><span>After about three and a half years at Rippling, I was ready for a break. The funny thing is that my last day at Rippling was the day ChatGPT came out. So naturally, I became a little obsessed. Most of my AI experiments were about what I could build for accounting use cases, or for myself as an accountant, using this tool. And this is just ChatGPT. This is before coding agents running in the cloud.</span></p><p><span>When I got an inbound from an OpenAI recruiter, I mostly just wanted to talk to the team and ask what they were doing, because I was so enamored. The finance org at the time was 10 people. I ended up joining the month we started monetizing with ChatGPT Plus, and my first month closing the books was the month we started making real money.</span></p><h2><strong><span>AI on the OpenAI finance team, early on</span></strong></h2><p><strong><span>Julian: </span></strong><span>How was the OpenAI accounting team using ChatGPT in those early days?</span></p><p><strong><span>Sowmya: </span></strong><span>It wasn&#8217;t the kind of AI mandate you hear about now. Today, it&#8217;s company-wide AI token leaderboards. Back then, no one really knew what it meant to use it for work. Engineers saw the light sooner than most other teams. On finance, we were initially just noodling with technical accounting and policy writing, since it seemed to know so much. It wasn&#8217;t really changing how we worked.</span></p><p><span>The big &#8220;aha&#8221; for me was that new team members could teach themselves SQL. Our revenue had to run entirely in SQL. These are 20-dollar transactions at huge volume, and there&#8217;s no way you&#8217;re running that in an Excel file. So I&#8217;d go to recruiting and ask them to find me revenue people who know SQL. They, in turn, would ask me to pick a lane: SQL people or revenue people. So we relented and hired an accountant who knows ASC 606. We realized then that ChatGPT could flatten the SQL learning curve. Then, very quickly, we turned it into an internal code-generation tool before people in the industry even had words for these things. We&#8217;d just say, here&#8217;s the gnarly thing I do in Excel, here are the source files I get, write me a Python script because Excel keeps crashing. It came from a very problem-driven place, and it was successful because you could clearly see the ROI. We didn&#8217;t go chasing a solution in search of a problem. Instead, we started by identifying what was breaking the team. Use cases proliferated from there.</span></p><h2><strong><span>How revenue actually flowed at OpenAI</span></strong></h2><p><strong><span>Julian: </span></strong><span>Let&#8217;s talk systems. How did revenue actually flow at OpenAI?</span></p><p><strong><span>Sowmya: </span></strong><span>Initially, everything was in Stripe. We had some syncs back to a data warehouse, but we&#8217;d write our queries in Stripe Sigma for the revenue data we needed. Then we had workbooks that turned those Stripe queries into NetSuite entries. NetSuite wouldn&#8217;t hold transaction-level entries; it would only provide summaries. Over time, we automated that end-to-end. Stripe data would land in the NetSuite Accounting Warehouse, which kept all the raw data. From there, you set up your aggregation, accounting rules, and posting rules in that system. Given how much data was flowing, we pretty much had to stand up an enterprise-scale subledger because of the complexity. With that subledger in place, you can go from a summary entry in your P&amp;L all the way down to the raw transaction. If you want to trace which refund got applied to which payment, you can actually do that.</span></p><p><strong><span>Julian: </span></strong><span>This hits home for me. My first CFO job was at Xendit, which is basically Stripe for Indonesia. I joined right after the Series A, and part of why they hired me was because I&#8217;d done data systems consulting for hedge funds before business school. Xendit was booking millions of transactions a month, and I had to get the cash balances, the customer liabilities, and COGS all booked to our balance sheet without breaking our accounting systems. I also needed to figure out per-channel gross margins. The scale of the problem needed both a SQL brain and a finance brain. We were basically building our own ledger. It took me ten months to figure out gross margins per channel, banging my head against the wall on the right SQL query and hard-coding things I knew were right today but would be wrong tomorrow. Looking back, I could have ripped through that in Codex in about five seconds. So when you describe a sub-ledger that traces a summary entry all the way to the raw transaction and scales to hundreds of millions a month, I get it.</span></p><p><strong><span>Sowmya: </span></strong><span>Exactly. And one of the best things OpenAI had going for it was that the revenue team was already very SQL and data-savvy before ChatGPT happened. There were a couple of people I can think of who were just incredible. If we didn&#8217;t magically have those people in the seat, it would have been a disaster from day one.</span></p><h2><strong><span>The rise of the finance engineer</span></strong></h2><p><strong><span>Julian: </span></strong><span>Funny enough, my own CFO path has an OpenAI connection. When I became Xendit&#8217;s CFO in 2018, I&#8217;d never been a CFO before, so I asked the founders if they could intro me to other YC-affiliated CFOs so I could learn from them. One of the people they introduced me to was  Brad Lightcap, OpenAI&#8217;s CFO (now COO), and I remember walking through the Mission with him and asking him lots of questions about NetSuite. In retrospect, I should&#8217;ve asked him for a job! Later, through LinkedIn, I watched OpenAI hire a wave of people who sat right at the intersection of FP&amp;A, data, and product and engineering. That&#8217;s the &#8220;finance engineer&#8221; role I keep hearing more about. Is that something you hired for?</span></p><p><strong><span>Sowmya: </span></strong><span>Yeah, when the revenue team was three or four people, we started by hiring a finance data person before we ever scaled up the accounting team. This wasn&#8217;t quite a data engineer. Think of the role as a hybrid of data engineering, analytics, and a builder mentality, someone who could shadow another person, understand what they were doing, and then automate it. It was an amazing hire for the team. The finance engineer conversation right now is interesting because, in practice, we&#8217;ve always had somebody like this: the conduit between systems work, systems thinking, and operational processes. In earlier days, it might have been your Oracle analyst or business systems analyst. Then it became a fintech or business systems team that owned your NetSuite admin and configured customizations.</span></p><p><span>That role is transforming because the modern crop of systems isn&#8217;t so config-heavy. The latest systems are more plug-and-play, and customization now happens at the coding-agent layer: take an existing system and customize it to run my agentic workflow, or use context unique to my business to change how the system takes action. So the finance engineer still thinks the same way, as the conduit between systems thinking and what the team needs. Every few years, there&#8217;s a new rebrand. You definitely have more product- and engineering-focused folks now, but honestly, I&#8217;ve worked with people in this capacity for more than a decade, and they&#8217;ve always had a builder&#8217;s mentality. Thinking back to Square, we were on Oracle and had this odd payments recon work. We launched Square Capital and realized that ledger needs to work very differently from how credit card payments worked. We didn&#8217;t call it a product, but if you really think about what the team was doing, they were building an internal-facing product for the finance team.</span></p><p><strong><span>Julian: </span></strong><span>Role branding matters more than people think. When I got to Xendit, we had a middleware team doing exactly this work, and nobody wanted to touch it. So I took a propaganda-first approach and rebranded it Transaction Intelligence, TXI for short. I basically pretended the old team had been dissolved and this was a shiny new one, even though it was the same people working on the same JIRA tickets. Suddenly, data engineers were excited to join. Branding matters!</span></p><p><strong><span>Sowmya: </span></strong><span>Exactly.</span></p><h2><strong><span>What was being built, and what&#8217;s still hard</span></strong></h2><p><strong><span>Julian: </span></strong><span>By the time you left OpenAI, what were people building, and what was still hard?</span></p><p><strong><span>Sowmya: </span></strong><span>Toward the end of my time there, we were maximizing and templatizing the work and the prompts. The big shift to coding agents hadn&#8217;t fully happened yet, but the coding models have had step-function changes over the last six to eight months. If you talk to the team now, you&#8217;ll hear about the proliferation of apps and dashboards people are building on Codex. I can guarantee you Codex is top of mind. Sharing one-off Google Sheets, memos, and packets is fine, but when you can automate that end-to-end and make it a real, living, breathing thing, it changes the work people can do.</span></p><p><span>That said, the dashboard is almost the easy part. You can prompt and get one relatively quickly. The hard part is how you capture the data upstream, all the metadata, whether it talks to other systems, and how you keep it all in sync. That work really hasn&#8217;t gone away. No matter what company, industry, or tech stack you&#8217;re in, almost anyone who has done this in real life will tell you: if my ERP data is clean, I can get downstream reporting without a lot of headaches. But if my ERP is messed up, no AI is really going to help me, unless I&#8217;m using AI to clean it up&#8230; which is a great use case, by the way. A lot of the work we did at OpenAI was the foundational data and process work.</span></p><h2><strong><span>Where finance teams and AI are headed</span></strong></h2><p><strong><span>Julian: </span></strong><span>Where do you think finance teams will be a year from now?</span></p><p><strong><span>Sowmya: </span></strong><span>A year feels like a lifetime and I genuinely don&#8217;t know. But the trend I&#8217;m ready for as a CPA is that teams are going to be smaller, each role is going to be broader, and you have to think of your role as managing a bunch of work getting done. Even if you&#8217;re an IC, you&#8217;re basically a manager now. You&#8217;re not managing people; you&#8217;re managing the agents, processes, and workflows you&#8217;ve built as automations. It&#8217;s a very big mindset shift.</span></p><p><span>Previously, you could have a job where you knew the ten steps you needed to do to get something done, and that was the job. The future of the job is about making something else do those ten steps, and you&#8217;re only looking at exceptions or changing the process when it needs to change. So if you haven&#8217;t thought of yourself as an architect or a product manager in accounting before, now is the time. I think everybody is moving to that world.</span></p><p><strong><span>Julian: </span></strong><span>And that&#8217;s the world Lumera is built for. I&#8217;d love to hear more about what you&#8217;re building.</span></p><p><strong><span>Sowmya: </span></strong><span>What we do at Lumera is give teams a way to do this collaboratively and in a controlled manner. Instead of everybody spinning up their own cloud coding environments, with a bunch of skills that aren&#8217;t transferable across projects and no real access controls or change management, the platform handles a lot of the boring governance: the audit-ready stuff somebody needs to do so finance teams can comfortably communicate how they&#8217;re changing the code and how they&#8217;re building.</span></p><p><span>We&#8217;re tech-stack agnostic, so we connect to whatever tools you have, from ERP systems to G Suite to your payroll and AP systems. You bring whatever data you need, you pick your coding model, and you just start telling the AI what you want built. The difference from other site builders is that the coding agent doesn&#8217;t just build the site or the dashboard. It builds your full backend infrastructure. It can spin up agents and sub-agents, multiple of them, and do all of it in the background, so you, the user, can just focus on what you&#8217;re building and what your end outcome is.</span></p><p><span>Those outcomes can be inputs to your financials, like automating your close work, and not just the checklist, but every item in the checklist that used to be something you did manually. Then you automate downstream, like reconciling Salesforce and NetSuite, and keeping it in sync forever. The main thread I see is that anything an auditor needs to bless is happy living in a platform like Lumera, because it&#8217;s backed by the governance and controls you need. Every project has its own permissions. You give people viewer or editor access; you get version control and deployment history; you can figure out who did what and restore to an old version; and all changes to permissions are logged automatically for you.</span></p><p><strong><span>Julian: </span></strong><span>So Lumera helps accounting teams get IPO-ready with a tenth of the staff, much faster, with all the controls in place?</span></p><p><strong><span>Sowmya: </span></strong><span>That&#8217;s the idea.</span></p><h2><strong><span>About Sowmya &amp; Julian</span></strong></h2><p><a href="https://www.linkedin.com/in/sowmyaranganathan/"><span>Sowmya Ranganathan</span></a><span> is the founder of Lumera and the former controller of both OpenAI and Rippling. You&#8217;ll find her on LinkedIn and at </span><a href="http://lumerahq.com"><span>lumerahq.com</span></a><span>.</span></p><p><a href="https://www.linkedin.com/in/jrowl/"><span>Julian Rowlands</span></a><span> is the founder and CEO of Cashboard, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at </span><a href="http://www.cashboard.co"><span>www.cashboard.co</span></a><span>.</span></p><p><span>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</span></p><p><span>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email julian.rowlands@cashboard.co with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support this series.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[CFO Ray Anderson uses Claude to automate BvAs and run a financial forecasting engine]]></title><description><![CDATA[INTERVIEWS WITH CFOs ABOUT AI | EPISODE 2]]></description><link>https://cfosonai.cashboard.co/p/cfo-ray-anderson-uses-claude-to-automate</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/cfo-ray-anderson-uses-claude-to-automate</guid><dc:creator><![CDATA[Cashboard]]></dc:creator><pubDate>Tue, 16 Jun 2026 18:48:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nYFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nYFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nYFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nYFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:764080,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.cashboard.co/i/201780884?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nYFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!nYFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412ef96d-4406-40e6-88e1-666a282a157c_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Welcome to Episode 2 of Cashboard&#8217;s series of conversations with finance leaders about how they&#8217;re using AI in their day-to-day work. This time, we&#8217;re excited to welcome <strong>Ray Anderson, CFO of Claremedica</strong>, a multi-clinic, value-based healthcare operator.</p><p>Ray runs finance for a healthcare operator where the data is highly dispersed (lots of systems), high volume (lots of patients), and highly sensitive (lots of PHI). His data lives in Sage Intacct, an internal data warehouse, Power BI, Paycom, and a ton of Excel files. He&#8217;s also a Claude power user who has rebuilt how his team runs budget vs. actuals, financial forecasting, and writes SQL.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I&#8217;ve known Ray for 1.5 years. He&#8217;s smart, blunt, and really tech-savvy. I wanted to interview him because he&#8217;s gone deep down the AI rabbit hole, and very candid about what&#8217;s worked, what hallucinates, and what he&#8217;s had to do to get there.</p><p>Please enjoy my interview with Ray about how he&#8217;s using AI in Claremedica&#8217;s finance function.</p><h2><strong>If you only read one thing: Ray&#8217;s 5 takeaways for finance leaders</strong></h2><ol><li><p>Claude is transformative. Pro or Teams gets you access to Claude Cowork and the Claude Excel plug-in, which is where Ray does most of his AI work.</p></li><li><p>No data scientists needed: Claude is exceptional at writing Python scripts that can run regressions. Ray&#8217;s team regressed 2+ years of historical KPI data against past financial outcomes and built a live forecasting model with a tighter standard deviation than anything else they&#8217;ve tried.</p></li><li><p>AI hallucinates most when mapping data fields. A vendor name with an extra space in the wrong spot can break a BvA. And consistency across runs is really hard &#8211; something Claude gets right one week might break the next.</p></li><li><p>Use Claude Projects to control drift across recurring workflows. Ray&#8217;s &#8216;Monthly Variance Analysis&#8217; project carries the output template, guardrails, and last month&#8217;s manual fixes from session to session.</p></li><li><p>Claude&#8217;s ability to write SQL enabled Ray to reduce staff time spent on lower-level analytics work.</p></li></ol><h2><strong>Thanks for joining us, Ray. Before we get to Claude, what&#8217;s the finance stack at Claremedica look like?</strong></h2><p>Thanks for having me, Julian. In terms of our non-AI stack, Sage Intacct is the GL; we have 7 EMR systems that feed into an internal data warehouse (Microsoft SQL Server); we use Paycom for payroll; and we use Power BI for data visualization.</p><p>And I fully live in Excel. I&#8217;m a little bit of an old school guy. On any given day, I&#8217;ve got six different Excel windows open, doing six different things.</p><p>On the AI side, we have a few products that are working really well for us.</p><p>Outside of finance, we use an AI copilot for clinicians called <a href="https://www.navina.ai/">Navina</a>, which automates HCC / condition capture from medical records. It takes half a second to accomplish things that used to require a small army of people. It&#8217;s really accurate and CMS-compliant. Lots of vaporware out there, but Navina really works. It&#8217;s been transformative for the business.</p><p>Within finance, we use Claude. We&#8217;re on the Teams plan. I mostly use Claude via their Excel plug-in and use their Cowork tool on desktop.</p><h2><strong>Where did Claude show up in the finance function?</strong></h2><p>We started by dipping our toes in: here&#8217;s a data export from the ledger; here&#8217;s a different file that&#8217;s our budget; compare the two, and write me an executive summary of a budget-versus-actuals variance analysis. And it did it. It was fast and mostly right.</p><p>That said, the horror stories are not unfounded. You can&#8217;t just trust it. So rapidly&#8211;in concert between finance and data analytics&#8211;we started shaping the universe of how Claude thinks. You can give it skills and personas. We&#8217;d say, &#8220;Hey, you are a healthcare actuary with 25 years of experience, your specialty is X, Y, and Z, take a look at this and give me a CFO-level one-to-two page response.&#8221; Once we started narrowing how Claude approaches answering queries, it quickly became much more effective.</p><p>Then I started using it like I would use an analyst. Claude is embedded in Excel via their plug-in, and because I live in Excel, I can have six windows open and have it doing six different things. Instead of Teams-ing or Slack-ing a colleague to run something down for me, it&#8217;s just operating in the background. The only limiting factor is how quickly I can dictate or type the requests.</p><h2><strong>Walk me through the KPI and forecasting work. I know you&#8217;re doing some really interesting work there.</strong></h2><p>We always talk about KPIs and leading indicators. We need real-time visibility into how the business is performing. But financials are a lagging indicator, while operating metrics are a leading indicator.</p><p>Our holy grail has always been to build a really tight understanding of how today&#8217;s operating metrics are likely to hit our financials in the near future.</p><p>Claude Cowork helped us achieve that holy grail.</p><p>So we pulled operating data from the past 2+ years and fed it into Claude. We said, &#8220;Here are the KPIs we track, and here&#8217;s the resulting financial picture. We think A correlates with and drives B. Go tell me why that&#8217;s wrong.&#8221;</p><p>Claude wrote and executed Python scripts that ran regression analysis from an actuarial perspective, and Claude came back with a gold mine. We ran this a couple of different times &#8211; the first pass back-tested okay, but didn&#8217;t correctly track to the future at first, so we ran it through a bunch of cycles. In the end, we came out with a really effective forecasting model.</p><p>Obviously, it&#8217;s a forecast, and there are unit cost deltas you&#8217;re never going to get quite right. But the standard deviation is far narrower than any other way we&#8217;ve done it.</p><p>What that&#8217;s done for the operational leadership team is give them real-time quantitative feedback. We can tell an operator, &#8220;Hey, you had a bad day yesterday, what happened? Because this thing spiked and that has an impact of $50,000 or $500,000 or $5,000,000.&#8221; It connected the dots in a way that I just don&#8217;t think was possible before. And it gives people more confidence that the things we&#8217;re measuring are the right things.</p><h2><strong>How do you actually run a budget vs. actuals through Claude in Excel without it lying to you?</strong></h2><p>It does hallucinate from time to time. So I&#8217;m not trying to portray myself as having perfectly figured this out. Over time, we&#8217;ve narrowed the guardrails. There has to be a log of all the changes that you made to the file. The formula list has to be its own tab. There has to be a reconciliation process.</p><p>The area where Claude makes the most errors is in data mapping, creating apples-to-apples ties between actuals, budgets, and pro formas. You&#8217;ll get a BvA that says you ran $200k favorable on a budget item, but I&#8217;ll know that&#8217;s not the case. Then I&#8217;ll have it go back to the source data and make sure it&#8217;s counting everything that has a snippet of a vendor name, and it would be missing one because the name had a space in the wrong spot. So now we save instructions like, anytime you&#8217;re looking at a vendor list, do the fuzzy match. Build a checksum. Show me that all the things zero out, the same way we used to when we were building sheets by hand.</p><p>I still don&#8217;t blindly trust it. But I <em>directionally</em> trust it now.</p><h2><strong>And how do you control for drift between the March BvA and the April BvA? How do you keep the output structure and the data mappings the same?</strong></h2><p>That&#8217;s a great question, and it&#8217;s a real problem if it&#8217;s not stored. Claude forgets. You open a new session, and it has no idea what you did before.</p><p>For us, that&#8217;s where Claude Projects came in. There&#8217;s a project called Monthly Variance Analysis. Inside it, we have all the guardrails. This is what the output will look like. Here are the tables to update in the background. Here&#8217;s where you go to get this data. Here are the formulas. Here are the things you need to track. And here&#8217;s the list of things that had to be manually fixed last time.</p><p>It&#8217;s a little bit of iteration. I&#8217;m sure it&#8217;s not the cleanest way to do it. It&#8217;s just how we&#8217;ve gotten it across the finish line. But it still takes a bunch of babysitting.</p><h2><strong>You mentioned analytics have benefited a ton as well. How has that changed?</strong></h2><p>This isn&#8217;t really a finance story, but you&#8217;ll appreciate it. Claude is really, really good at writing SQL code. This allowed us to reduce the staff time allocated to lower-level analytics. Now, the higher-level folks can just tell Claude what to do, and they get back perfectly written SQL. Their productivity has skyrocketed.</p><p>Our senior director said it best: &#8220;I can give this task to one of our new hires, and it takes them half a day, then I have to fix it. Or I can type a request to Claude, and I get it back in 32 seconds, and it&#8217;s right 99% of the time.&#8221;</p><h2><strong>What about PHI and PII? How do you draw that line?</strong></h2><p>The constraint we have is that the data must remain within our four walls. The data we&#8217;re storing in our database contains PHI and PII, and we don&#8217;t have a BII with Anthropic, so we never pull that data into Claude.</p><p>So when we&#8217;re feeding Claude data, it&#8217;s either coming from Sage Intacct as a GL export or from our internal data warehouse, scrubbed or de-identified. If it&#8217;s coming from somewhere else, it&#8217;s an export already in Excel that we can scrub before it goes in.</p><p>That&#8217;s the boundary right now. It&#8217;s also the question I get from every other healthcare finance person I talk to. Without live data feeds, you can&#8217;t put Claude on autopilot.</p><h2><strong>How do you think about trust in the outputs overall?</strong></h2><p>I still don&#8217;t blindly trust it. But I <em>directionally</em> trust it now.</p><p>Finance people are also just not great at making beautiful presentations. We copy and paste the spreadsheet. So you can have Claude interface between Excel and PowerPoint and have it build the deck, or pull the BvA forward into an existing monthly review presentation. That alone takes a lot of work off the team.</p><p>The bigger change, though, is that I don&#8217;t have to wait for an analyst to come back with a number. I just have to ask the next question.</p><h2><strong>About Ray &amp; Julian</strong></h2><p><a href="https://www.linkedin.com/in/ray-anderson6/">Ray Anderson</a> is the CFO of Claremedica, a multi-clinic, value-based healthcare operator. He previously held senior leadership roles at Optum, UnitedHealth Group, and GE Capital.</p><p><a href="https://www.linkedin.com/in/jrowl/">Julian Rowlands</a> is the founder and CEO of Cashboard, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023). You can learn more about Cashboard at <a href="http://www.cashboard.co">www.cashboard.co</a>.</p><p>Interviews with CFOs about AI is an interview series by Cashboard. We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</p><p>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email <a href="mailto:julian.rowlands@cashboard.co">julian.rowlands@cashboard.co</a> with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://cfosonai.cashboard.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Interviews with CFOs about AI! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How ex-CFO Jesse Rubenfeld uses AI to analyze business performance, and uses software to continuously close his books ]]></title><description><![CDATA[INTERVIEWS WITH CFOs ABOUT AI | EPISODE 1]]></description><link>https://cfosonai.cashboard.co/p/how-ex-controller-jesse-rubenfeld</link><guid isPermaLink="false">https://cfosonai.cashboard.co/p/how-ex-controller-jesse-rubenfeld</guid><dc:creator><![CDATA[Cashboard]]></dc:creator><pubDate>Wed, 03 Jun 2026 19:28:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FWLm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FWLm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FWLm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 424w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 848w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 1272w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FWLm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png" width="1456" height="809" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:809,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:883628,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://cfosonai.substack.com/i/200502934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FWLm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 424w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 848w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 1272w, https://substackcdn.com/image/fetch/$s_!FWLm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3559cc5f-2393-4a1f-9a26-2ddcae4a2398_2092x1162.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Cashboard is starting a series of interviews with finance leaders who are using AI in their day-to-day work, hosted by me (Julian Rowlands, Cashboard&#8217;s founder/CEO). The idea is to share highly practical AI applications that other finance leaders can learn from.</p><p><strong>First up: Jesse Rubenfeld, founder and CEO of FinOptimal.</strong></p><p>Jesse was previously Controller of D. E. Shaw Research and CFO of LimeWire.  Before AI, he taught himself Python and used it to automate massive chunks of his accounting workload. Today, he runs FinOptimal, a tech-enabled accounting firm and software company.</p><p>Jesse&#8217;s the only accountant-engineer hybrid I know, and has been at the forefront of applying technology to finance for years. We&#8217;ve known each other for a long time, and FinOptimal runs bookkeeping for Cashboard, so I trust him tremendously.</p><p>Without further ado, please enjoy my interview with Jesse, which covers how he uses AI internally within FinOptimal&#8217;s finance function.</p><h2><strong>If you only read one thing: here are Jesse&#8217;s 4 takeaways for finance leaders</strong></h2><ul><li><p>Your data must be correct in order for AI to be useful</p></li><li><p>The better your data (dimensional tags, etc), the more AI can help you</p></li><li><p>You can automate a ton of bookkeeping with non-AI software.  If you&#8217;re on QBO, Jesse&#8217;s firm FinOptimal can help you there.</p></li><li><p>Find a way to feed all your data into tools like Claude (and ideally make that access permanent). It can do incredible analysis and the automations you can build on top are getting really powerful.</p></li></ul><h2><strong>Thanks for joining us, Jesse. Before we talk about AI, it would be great to understand what your finance stack looks like.</strong></h2><p>So, QuickBooks is our system of record; we track time in Harvest; and payroll runs through a third party on the iSolved platform. Then I gravitate towards Google Sheets.</p><p>QuickBooks is updated constantly with all my accruals and journal entries. Our close process is almost fully automated. That&#8217;s not AI, but rather FinOptimal&#8217;s own software at work. We have a bunch of internal names for these workflows, including Wrangler, Payroller, Booker, Editor, and Allocator.</p><p>Basically, we use our own products (Wrangler and Payroller, specifically) to pull data from Harvest and iSolved into a Google Sheet. That GSheet auto-calculates every person&#8217;s fully loaded cost, and allocates it by customer, team, etc according to the hours they&#8217;ve tracked.</p><p>Then our Booker tool pushes the resulting journal entries into QBO on a schedule. We also have a tool called Editor that lets us bulk-modify QBO transactions via a spreadsheet.</p><p>The result of this is a QuickBooks dataset that basically self-closes in realtime.  And it&#8217;s super detailed &#8211; I can even filter my P&amp;L by customer and see my gross margin for each.</p><h2><strong>Where does AI fit into your processes?</strong></h2><p>Let&#8217;s start by talking about what we <em>aren&#8217;t</em> doing.</p><p>AI doesn&#8217;t auto-write anything to our books.  Our automated booking workflows are deterministic.</p><p>I don&#8217;t want to introduce any probabilistic or generative inputs.  I want absolute control over my books, and absolute certainty of what gets recorded. Automating the bookkeeping is a job for clear, controlled scripts and software-driven workflows.</p><p>We use AI in our internal finance function in a variety of different ways:</p><ul><li><p>Composing SQL queries for reporting and building workflows using natural language instead of painstaking trial and error (to reconcile month-end MRR with actual monthly accrual SaaS revenue, for example)</p></li><li><p>Analyzing the financials with a focus on month-on-month fluctuations, basically variance detection and explanation</p></li><li><p>Reconciliation of, say, Stripe balance transactions (as downloaded from Stripe directly) versus our books&#8217; Stripe account (to figure out why our balance doesn&#8217;t equal theirs)</p></li></ul><p>Basically, we&#8217;ve piped our QuickBooks (and other) data into a PostgreSQL database, and then connected that database to our Claude Cowork instance.</p><p>QuickBooks has an MCP offering through its partnership with Claude, but we actually use FinOptimal&#8217;s own MCP server (since we dog-food our own software internally). That gets me GL data as well as monthly close notes, supporting schedules, and more. The additional tooling means Claude can pull P&amp;L lines, drill into transactions, and answer flux questions.</p><p>So it&#8217;s mostly used for instant queries. And I can do that at my desk via Claude Cowork, or from my phone via Claude Dispatch.</p><p>This is all downstream of having great data recorded in QBO. AI data analysis isn&#8217;t helpful unless the data is high-quality. And real-time close helps too, because it means AI can run any analysis on demand, anytime.</p><p>When I&#8217;m reviewing my data in Claude, sometimes I&#8217;ll realize I need to change my Chart of Accounts and reclassify transactions. For instance, we&#8217;d been counting Claude, ChatGPT, and API tokens as &#8216;Software Subscriptions&#8217;. The spend grew and we realized we needed a new &#8220;AI Usage&#8221; OpEx line.</p><p>I used Claude to pull a list of all relevant transactions. I populated those into a spreadsheet, fed that to our &#8216;Editor&#8217; tool to reclass, reviewed manually, and pressed the submit button.  Instant reclass for all historical transactions.</p><p>I haven&#8217;t built any scheduled tasks in Claude Cowork yet, but I&#8217;m starting to explore that.</p><p>Sometimes I would prefer to write SQL against my data in Postgres, rather than view in Claude.  I use Claude to write the SQL query and then run it directly against the database. Our new Magic AI Report gives users the ability to formulate a SQL query by chatting with us directly in our app.</p><h2><strong>What&#8217;s the Holy Grail you&#8217;re building toward?</strong></h2><p>I&#8217;m building FinOptimal products that can help both ourselves and our customers.</p><p>The first product is called Closer. I&#8217;ve lived through the pain of getting comments on a draft close package.</p><p>That was the most soul-killing thing as an accountant. You&#8217;d get a comment, you&#8217;d know you missed something, and now you have to dig through the GL and find some needle in a haystack. AI can dig and give you the note right away, instead of having your CFO catch mistakes. That can make the accountant&#8217;s job a delight.</p><p>Closer basically takes the first pass at that monthly package. Identifies what looks off. Investigates. Either fixes it (with approval), or hands the human a high-quality note.</p><p>The second problem we&#8217;re solving is balance sheet debris. Old reconciliations and suspense balances. The kind of mess that quietly snowballs into a disaster.  Balance sheet review is where I have the highest hopes for AI.</p><h2><strong>Will AI replace CFOs?</strong></h2><p>I don&#8217;t think so. It&#8217;s going to elevate the good ones. The rent-seeking charlatans will have to find something else to do. It&#8217;s a power tool. You can serve more clients better than you could before. I&#8217;m bullish on both software and services for the next two years, at least. In ten years, who knows, of course.</p><h2><strong>About Jesse &amp; Julian</strong></h2><p>Jesse Rubenfeld is the founder and CEO of FinOptimal. You can <a href="https://www.linkedin.com/in/jesserubenfeld">connect with Jesse on LinkedIn here</a>, and learn more about FinOptimal at <a href="http://finoptimal.com">finoptimal.com</a>.</p><p>Julian Rowlands is the founder and CEO of Cashboard, the AI enablement platform for FP&amp;A. He was previously CFO of Xendit (last valued at $3bn) and Head of Finance at Spruce (exited to Zillow in 2023).  You can <a href="https://www.linkedin.com/in/jrowl/">connect with Julian on LinkedIn here</a>, and learn more about Cashboard at <a href="http://www.cashboard.co">www.cashboard.co</a>.</p><p>Interviews with CFOs about AI is an interview series by Cashboard.  We speak with finance leaders who use AI in their day-to-day work, and ask them really detailed questions about their setup.</p><p><strong>If you&#8217;re a finance leader building with AI, we&#8217;d love to interview you! Email <a href="mailto:julian.rowlands@cashboard.co">julian.rowlands@cashboard.co</a> with a quick summary of what you&#8217;ve used AI to accomplish, and we&#8217;ll get a call booked.</strong></p><p></p>]]></content:encoded></item></channel></rss>