How to run monthly flux and variance analysis as DTC Brand Founders

Finance & FP&AFor DTC Brand Founders3 apps12 steps~24 min to set up

Your monthly close looks like this: export Shopify orders to CSV, pull Meta Ads spend from the dashboard, open QuickBooks or a spreadsheet to see what actually hit your bank account, then spend two hours trying to reconcile why your 'profitable' March somehow left you with less cash than February. You're doing flux analysis — comparing this month's numbers to last month's — in a Google Sheet that has six tabs named 'final,' 'final_v2,' and 'ACTUAL FINAL DO NOT TOUCH.' Your ad spend, COGS, and fulfillment costs all live in different places, and by the time you've stitched them together, the data is already two weeks stale.

Finance & FP&AFor DTC Brand Founders3 apps12 steps~24 min to set up
Outcome

What you'll set up

A live month-over-month variance dashboard that pulls your Plaid bank transactions and Stripe revenue together so you can see exactly which expense categories moved and by how much — without opening a single spreadsheet.
Automated variance commentary that flags the accounts with the biggest swings (e.g., 'Facebook Ads up $8,400 vs. prior month, COGS up $12,100') so your monthly review starts with answers, not questions.
A rolling 6-month trend view by spend category — fulfillment, paid media, COGS, SaaS tools — so you can see whether a variance is a one-time spike or a creeping pattern before it becomes a board-level conversation.
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your Plaid bank transaction data on a schedule — categorized transactions, balances, and vendor-level detail refresh automatically. Starch syncs your Stripe data on a schedule for revenue, refunds, and payout figures. Shopify is connected from Starch's integration catalog and the agent queries it live for order volume and returns data when your dashboard runs. Slack is connected from Starch's integration catalog for alert delivery.

Prompts to copy
Build me a monthly flux analysis dashboard. Pull all transactions from my connected Plaid accounts. For each spending category — paid media, fulfillment, COGS, SaaS subscriptions, returns and refunds — show me the current month total, prior month total, dollar variance, and percent change. Highlight any category where variance exceeds 15% or $2,000. Add a section for Stripe revenue showing MoM change in gross revenue, refunds, and net revenue.
Add a vendor-level drill-down to my flux dashboard. For my top 10 vendors by spend this month, show me what they charged last month and the difference. Flag any vendor that appears this month but didn't appear last month.
Set this dashboard to refresh every morning at 7am and send me a Slack message if any category is tracking more than 20% over prior month with 10 or more days left in the month.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect your business bank account through Plaid — Starch syncs your categorized transactions on a schedule, so every charge from your 3PL, your Meta Ads account, and your Shopify Payments settlement hits the same feed automatically.
2 Connect Stripe — Starch syncs your charges, refunds, and payouts on a schedule, giving you a clean revenue line that matches what actually landed in your account, not just what Shopify's dashboard claims.
3 Connect Shopify from Starch's integration catalog; the agent queries it live when your dashboard runs to pull order count, AOV, and return rate for the period — so your revenue variance has context.
4 Start with the Transaction Insights app to get a baseline view of your spend by category and vendor. Use it as-is for the first week to understand how Starch is categorizing your transactions before you build anything custom.
5 Tell Starch in plain language what your flux analysis needs to show: 'Compare this month's spending in each category to last month. Show dollar and percent variance. Flag anything over 15% change.' The agent builds the view.
6 Add a revenue section using your Stripe sync: gross revenue, refunds, and net revenue for the current month vs. prior month, with a variance column. Ask Starch to pull this alongside your expense flux so you see the full P&L picture in one place.
7 Set up a vendor-level drill-down for your top spend categories — paid media vendors especially. Meta Ads, TikTok Ads, and Google Ads each get their own line so you can see if a blended 'paid media up 30%' is one platform or all of them.
8 Add a COGS section that captures fulfillment charges, packaging, and manufacturing payments from your Plaid feed. For DTC, this is often the category with the most variance surprise — a reorder hitting in the same month as a promo blows up the comparison.
9 Wire the Runway Analysis app to sit alongside your flux view. When your monthly variance shows expenses up significantly, your runway number updates automatically — you're not doing separate math to figure out what the overage means for your cash position.
10 Schedule the full dashboard to refresh each morning and configure a Slack alert — connect Slack from Starch's integration catalog — that fires if any category is running more than 20% over prior month with more than a week left in the period. Catch the problem before month-end, not after.
11 At the end of each month, tell Starch: 'Write a two-paragraph variance summary for my board update. Explain the three biggest expense category changes versus last month and what drove them based on the vendor detail.' Use this as your first draft for investor reporting.
12 Fork the setup for quarterly budget tracking using the Budgeting app (currently in beta — request access) to layer your budget targets on top of the actuals you're already tracking, so flux analysis becomes budget vs. actual variance, not just MoM.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

March 2026 Monthly Close — DTC Apparel Brand, ~$180K/month revenue

Sample numbers from a real run
Meta Ads spend31,200
Meta Ads spend (Feb)22,800
Variance — Meta Ads8,400
3PL fulfillment charges28,700
3PL fulfillment charges (Feb)16,500
Variance — fulfillment12,200
Gross Stripe revenue181,400
Gross Stripe revenue (Feb)154,200
Variance — revenue27,200
Stripe refunds9,800
Stripe refunds (Feb)5,100
Variance — refunds4,700
SaaS subscriptions4,100
SaaS subscriptions (Feb)3,800
Variance — SaaS300

March looked like a strong month on the surface — revenue up $27,200 versus February, driven by a spring sale that ran the last week of the month. But the flux dashboard told a more complicated story immediately. Fulfillment costs jumped $12,200 month-over-month, which made sense given the volume increase, but at a higher rate than revenue grew: fulfillment as a percent of revenue went from 10.7% in February to 15.8% in March. The 3PL had added a new per-unit surcharge for kitted bundles that the sale promoted heavily — that vendor-level detail surfaced in the drill-down automatically. Meta Ads spend was up $8,400, which the founder had approved, but refunds also spiked $4,700 — likely returns from the sale's new customer cohort buying the wrong size. Without the flux view, the revenue number alone would have looked like a clean win. With it, the founder walked into the April board call knowing that March's contribution margin was actually lower than February's despite higher top-line revenue, and had the vendor-level data to explain exactly why.

Measurement

How you'll know it's working

Month-over-month variance by spend category (paid media, fulfillment, COGS, SaaS) in dollars and percent
Contribution margin by month — gross revenue minus COGS and paid media spend — tracked against prior month
Refund rate as percent of gross revenue, MoM trend
Fulfillment cost as percent of revenue — the ratio that tells you whether your 3PL pricing is creeping
Net burn rate from Runway Analysis — updated after each monthly close to reflect actual versus projected cash consumption
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Google Sheets + manual CSV exports
Free and fully flexible, but you're rebuilding the same VLOOKUP every month and the data is always two weeks old by the time you've assembled it.
QuickBooks reports
Good if your books are clean and current, but QuickBooks doesn't know your Shopify return rate or your Meta Ads spend unless someone manually reconciles them — and Starch's QuickBooks report views (P&L, Transaction List) are temporarily disabled pending a connector fix, though entity-level data like invoices and payments syncs normally.
Finaloop or Bench
Outsourced bookkeeping closes your books accurately but gives you a monthly PDF, not a live dashboard you can drill into the day you notice something looks off.
Looker Studio or Tableau
Powerful visualization once it's set up, but you're writing the data connectors and maintaining them yourself — every time Meta changes its API or Shopify updates a schema, something breaks.
Shopify analytics + Meta Ads Manager viewed side by side
Covers your two biggest revenue and spend sources but gives you no bank-level transaction data, no unified variance view, and no connection to your cash position.
On Starch RECOMMENDED

One platform — transaction insights, runway analysis, quarterly budgeting all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

Does Starch actually see my bank transactions, or is it just pulling from QuickBooks?
Starch syncs directly from Plaid — that means your actual bank and credit card transactions, categorized at the vendor level, not whatever made it into your accounting system. If a charge hit your account, it's in Starch. You don't need your books closed to run flux analysis.
My Shopify Payments revenue doesn't match what hits my bank account because of payout timing. How does Starch handle that?
Starch syncs your Stripe and Plaid data separately, so you can see both gross Stripe revenue (when orders were placed) and actual bank deposits (when Shopify/Stripe paid out). For flux analysis, you can choose which number you want to compare — recognized revenue or cash received. Tell Starch which basis you want and it builds the view accordingly.
Can Starch pull my Meta Ads and TikTok Ads spend directly so I don't have to manually enter it?
Yes. Connect Facebook Ads and TikTok from Starch's integration catalog — the agent queries your ad spend live when your flux dashboard runs. You get actual platform spend in the same view as your bank transactions, so your paid media variance is calculated automatically, not by you copying numbers out of Ads Manager.
I use Xero, not QuickBooks. Does that work?
Yes — Xero is available from Starch's integration catalog and the agent queries it live. It's not a scheduled-sync provider the way QuickBooks is, so Xero data is pulled on demand when your dashboard runs rather than stored in Starch's database. For most flux analysis use cases that's fine; you're pulling current month and prior month figures, not running queries across years of history.
Is Starch SOC 2 certified? I'd need to know before connecting my bank account.
Not yet — Starch is not currently SOC 2 Type II certified. That's an honest limit worth naming. If SOC 2 is a hard requirement for your business, that's a real constraint to weigh. It's on the roadmap.
My 3PL invoices come in as PDF attachments in Gmail. Can Starch read those?
Starch syncs your Gmail data on a schedule, including message content. You can tell Starch to look for emails from your 3PL, extract the invoice total, and log it to your flux dashboard. For structured PDF extraction, describe what you want — 'pull the total charges line from any email from [3PL name] and add it to my fulfillment spend tracker' — and Starch builds the workflow.
How is this different from just using the Transaction Insights app?
Transaction Insights shows you where your money went — great for catching surprises and understanding your spend mix. Flux analysis is specifically about comparing this period to a prior period and explaining the delta. You want both: Transaction Insights as your ongoing spending awareness layer, and the custom flux dashboard as your monthly close tool that generates the variance narrative your board or investor update needs.

Ready to run run monthly flux and variance analysis on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.