La Mesa Kitchen & Bar — Six months of operations, fictitious numbers. Moneys coming in, but the restaurant's struggling. Work through the tour to see what the data reveals — then build your own dashboard.
📊
No data yet
Upload your first CSV or Excel files to see your business performance here.
Total Revenue
—
⚠
Operating Profit
—
⚠
Prime Cost
—
⚠
Payroll
—
⚠
Break-Even Revenue
—
minimum to cover all costs
⚠
See next steps →
⚠ Incomplete data — metrics may be overstated
Total Revenue vs. Total Expenses
Period-by-period trend
Cash Flow
Bank statement — total inflows vs outflows
Revenue Mix
Revenue by product category
Expense Breakdown
All cost categories
Margin Trend
Profit % and prime cost % over time
Health Flags
Key ratios vs industry targets
All figures shown are pre-tax estimates based on data you have uploaded. This dashboard is designed to provide operational insight and financial clarity — it is not intended for accounting, tax, or legal purposes. Privacy Policy
Upload Data
CSV or Excel files — all formats detected automatically. Click to browse or drag & drop a file.
🖥️ Desktop recommended for building your dashboard. File uploads, drag-and-drop, and period saving work best from a laptop or desktop browser. You're welcome to explore the demo below — use the button at the bottom to send this page to your desktop.
🔒Your data never leaves this device. All processing happens locally in your browser — no files are uploaded to any server, no data is stored in the cloud, and no account is required. SandCastle cannot see your financial data.
Getting Started — 3 files to pull together
Each one unlocks a different part of your dashboard. Upload in any order.
1
📈 Revenue / POS Export ✓ Uploaded
Your sales data by day or week. Export from the Reports section of your POS system.
Download a CSV of transactions from your bank's online portal. Used for cash flow reconciliation.
Log in → Accounts → Download Transactions → CSV
📈 Revenue / POS
Toast, Square, Shopify — CSV or Excel
📄
Drop files or a folder here
Browse filesBrowse folder
CSV · XLSX · XLS · or drop a whole folder
💰 Payroll
Gusto, QuickBooks, ADP — CSV or Excel
📄
Drop files or a folder here
Browse filesBrowse folder
CSV · XLSX · XLS · or drop a whole folder
🧾 Expenses
Invoices, inventory, utilities — CSV or Excel
📄
Drop files or a folder here
Browse filesBrowse folder
CSV · XLSX · XLS · or drop a whole folder
🏦 Bank Statement
Optional — for reconciliation reference
📄
Drop files or a folder here
Browse filesBrowse folder
CSV · XLSX · XLS · or drop a whole folder
📝 Manual Expense Entry
No expense file? Enter your monthly costs directly. Keep fixed costs (same every month) separate from variable costs (change with sales volume) — SandCastle uses the distinction to calculate your break-even accurately.
📌 Fixed Expenses — same amount every month regardless of sales
$
$
$
$
$
$
$
$
📈 Variable Expenses — fluctuate with sales & business volume
$
$
$
$
$
$
$
$
$
$
➕ Custom Expenses — any other costs not listed above
📌 Manual Fixed Expenses — monthly costs that stay the same regardless of sales. Enter your actual per-month amounts.
📎 Some fixed costs were found in your expense file and auto-filled below. Those fields are read-only — the values come directly from your CSV and won't be double-counted. Any fields left blank are still editable for costs not in your file.
$
$
$
$
$
$
$
$
📅 One-time annual charges found in file — counted automatically:
🗓 Period Label
🔴 Data looks unusual — review before saving
⚠ Periods need re-saving for accurate monthly breakdown
Your saved data was recorded as a single multi-month block. Delete these periods and re-upload your CSV — SandCastle will automatically split it into individual monthly records with accurate per-month figures.
📅 Period History
Period
Revenue
Payroll
Material
Prime Cost
Total Exp
Profit
Margin
Cash In
Cash Out
⚠ Accuracy depends entirely on the completeness and correctness of your inputs — missing reports, mis-categorized expenses, or incomplete payroll data will produce inaccurate results.
📋 Example Dashboard
Next Steps
Based on all your data combined
Upload data to see next steps
Industry benchmarks are based on published averages from the National Restaurant Association (2025 Operations Data Abstract) and the James Beard Foundation — and may not reflect your specific market, concept, or operating model.
📋 Example Dashboard
Forecasting
Model "what if" scenarios — instantly see how changes affect your profit
Scenario Controls
Drag or type a value to see the impact instantly
Sales Change0%
%
Payroll Change$0
$
Material Cost Change0%
%
Fixed Expense Change$0
$
Variable Expense Change0%
%
Scenario Revenue
—
Scenario Profit
—
Profit Margin
—
Current vs. Scenario
Metric
Current
Scenario
Change
Side-by-Side
Blue = current · Purple = scenario
Forecasts and projections are hypothetical and not guarantees of future performance. Results depend on the accuracy of your uploaded data and the assumptions modeled.
Tutorial
Learn how to get the most out of SandCastle
What is SandCastle?
SandCastle is a financial dashboard for independent restaurants. Upload your reports and instantly see your revenue, prime cost, profit margin, and break-even in one place. Compare them to industry averages and get actionable insights for free.
No finance background needed. Your financial data is for your eyes only and stays on your device.
1
Upload Your Reports
Click Upload Data in the left menu. You'll see four upload cards — drop your files onto each one or click Browse. SandCastle auto-detects the format.
📊 Revenue / POS — Your sales report from your POS system (Toast, Square, Lightspeed, Clover, etc.). This is what drives all your revenue, prime cost, and margin calculations. Export it as CSV or Excel from your POS's Reports section.
👥 Payroll — Your payroll export from Gusto, ADP, 7shifts, or similar. SandCastle uses gross pay to calculate your true labor cost as part of prime cost.
🏦 Bank Statement — Optional, but recommended. Export a CSV or Excel statement from your bank. Used for the Cash Flow chart and to cross-reference your sales figures.
🧾 Expenses — Your vendor invoices, inventory costs, and operating expenses. Export from QuickBooks, Xero, Restaurant365, or any accounting system. If you don't have a file yet, click "Don't have expense reports? Enter manually" to type in your costs directly.
No expense file? Click "Don't have expense reports? Enter manually →" below the Expenses card. A form opens with pre-built fields for the most common restaurant costs split into two groups:
📌 Fixed costs — same every month regardless of sales: Rent, Insurance, POS & Software, Marketing, Accounting, Licenses & Permits, Equipment Lease.
📈 Variable costs — fluctuate with business volume: Food Cost, Beverage Cost, Utilities, Repairs & Maintenance, Delivery & Packaging, Credit Card Processing Fees, Cleaning Supplies, Trash & Waste, Music & Entertainment. Use + Add custom expense for anything else.
💡You can upload multiple files per slot — SandCastle merges them automatically. Drop a whole folder and it reads every file inside. Accepted formats: CSV, XLS, XLSX.
2
Label Your Period & Save
After uploading, scroll down to the Period Label section. Give this upload a name — like "Jan 2024" or "Q1 2024". SandCastle auto-detects the date range from your files and fills in the period hint below the label.
When you're ready, click Save Period. If any data is missing (no payroll, no expenses, etc.) SandCastle will warn you before saving — you can save anyway or go back and fill in the gaps.
💡Upload multiple periods over time to build a trend history. Each period gets its own label and SandCastle automatically splits multi-month uploads into separate monthly records.
3
Reading Your Dashboard
The Dashboard is your home base. The top row shows five key metrics at a glance. Use the dropdowns at the top right to filter by period — a single month, quarter, or all time.
Each metric has a color indicator: green = healthy, amber = watch it, red = action needed. Click the ? on any card for a plain-English explanation of what it measures.
💡Click the ? button on any chart or metric card for a plain-English explanation of what it measures and how it's calculated.
4
Using the Next Steps Tab
The Next Steps tab cuts through the noise and tells you the single most important thing to work on right now, based on all your data combined.
Each card shows the problem, gives you Quick Wins (actionable this week) and Fundamental Fixes (bigger structural changes). Even when everything is healthy it finds the metric closest to its limit and suggests improvements.
💡Benchmarks are sourced from the National Restaurant Association for independent US full-service restaurants. They're guidelines — your specific concept may have different targets.
5
Using the Forecasting Tab
The Forecasting tab lets you ask "what if?" questions instantly. Drag sliders or type numbers to see how a change affects your profit in real time.
For example: "What if I raise prices 3%?" or "What if I add $800 to payroll?" The results update live in the comparison table on the right.
💡Use Forecasting before making decisions — adding a staff member, changing menu prices, or negotiating a new supplier contract. See the impact before you commit.
🏖️
That's everything. Upload your first period and your dashboard will come to life. Come back to this tab any time you need a refresher.
Contact & Feedback
Submit feedback, report a bug, or ask a question
📬 Send a Message
Have feedback, found a bug, or want to ask something? Fill out the form below and it will open in your email client pre-addressed and formatted.
My expenses look inflated — the numbers seem way too high
This usually happens when you upload a full-year expense file (e.g. annual COGS totals) alongside monthly POS data. SandCastle totals all expense rows it finds — if your CSV has 12 months of data it will sum all 12 months as one period's expenses. Fix: upload one month of expense data at a time, or split your annual expense file into monthly files before uploading. If you used the manual expense entry, make sure you entered monthly amounts, not annual totals.
Ghost periods are showing up in 2025 or 2026 that I didn't create
This happens when expense or payroll CSV files use bare month names ("January", "February") instead of full dates. SandCastle defaults those to the current year. Fix: delete the ghost periods from Period History using the ✕ button. Then re-upload your files — SandCastle will use your POS file's dates to realign expense months to the correct year automatically. Always upload your POS/revenue file in the same batch as your expenses.
The Cash Flow chart is blank or shows $0
Cash flow data comes from your bank statement. If you haven't uploaded a bank CSV, or if you saved a period before uploading the bank file, cash flow will be blank. Fix: upload your bank statement CSV on the Upload Data page, or use the ⋯ Manage button on a saved period in Period History to add bank data after the fact. SandCastle accepts Chase, BofA, Wells Fargo, Mercury, Relay, and most other US bank export formats.
My fixed expenses aren't auto-filling
Auto-fill only works when your expense CSV has recognizable fixed-cost category names (Rent, Insurance, POS & Software, Marketing, Accounting, Licenses & Permits, Building Maintenance). If your CSV uses different names, SandCastle won't be able to map them automatically. Fix: click "Don't have expense reports? Enter manually" and type your fixed costs directly. Alternatively, rename the categories in your CSV to match the expected names before uploading.
The Browse Folder button isn't working
In the web version, Browse Folder uses your browser's folder picker (webkitdirectory). This works in Chrome and Edge but may not work in Safari. If it doesn't work, use Browse Files instead and select multiple files at once (hold Cmd/Ctrl to multi-select). You can also drag and drop a folder directly onto the upload zone in Chrome.
My revenue is wrong — it doesn't match my actual sales
SandCastle anchors to the "Net Sales" or "Gross Revenue" row in your POS export. If your POS file has a revenue conflict (categories don't add up to the stated total), a yellow warning banner appears during upload asking you to choose which figure to use. Check that warning and select "Anchor" (the stated total) if you trust your POS system's total. Also ensure you're not double-uploading the same file — SandCastle will warn you if a filename is already loaded.
What file formats does SandCastle accept?
CSV (.csv), tab-separated (.tsv), Excel (.xlsx and .xls). PDF is not supported. Most POS systems, payroll platforms, and accounting software can export to CSV or Excel. In Toast: Reports → Export. In Square: Sales Summary → Export CSV. In Gusto: Reports → Payroll History → Export. In QuickBooks: Reports → Export to Excel.
Is my data stored anywhere / sent to a server?
On the desktop app: all data is stored locally in a JSON file on your Mac or PC (~/Library/Application Support/FinancialOS/data.json on Mac). Nothing is sent to any server. On the web version: data is stored in your browser's IndexedDB — it stays in your browser and is never transmitted. Clearing your browser data or using a different browser will result in a fresh start with no history.
The Next Steps tab says my data needs to be uploaded
Next Steps always looks at your all-time data. If you haven't saved any periods yet (or deleted them all), it has no data to analyze. Upload your files on the Upload Data page, fill in the Period Label, and click Save Period. Once at least one period is saved, Next Steps will populate automatically.
Why doesn't SandCastle have an AI assistant?
Simple: AI requires sending your data to a third party — OpenAI, Anthropic, Google, whoever powers it. That breaks our confidentiality agreement. Your revenue, payroll, and expense numbers never leave your device, and we intend to keep it that way.
📋 Demo Mode
WELCOME
SandCastle
Financial clarity for independent restaurants — Upload your reports — SandCastle does the math and shows you exactly where your money is going, how healthy your business is, and what to focus on next.
✓ No sign-up✓ 100% Free✓ Data stays on your device
Already have your files ready? Build your dashboard →
⚠ Incomplete Data Detected
The app found gaps in your data that will affect the accuracy of your metrics.
Review the issues below before saving.
If you proceed: affected metrics will be flagged with a ⚠ warning in Period History and on the dashboard so you always know the data is incomplete.
🧮 How Each Number is Calculated
Loading…
📋 Manage Period
—
🖥️
Desktop Recommended
SandCastle's dashboard builder is designed for desktop. Open this page on your laptop or computer to upload your reports, save periods, and build your personal financial dashboard.
Copy this link and open it on your desktop browser:
Dismiss
🏗️
Ready to see your restaurant's numbers?
You'll need your POS export, payroll report, and bank statement — takes about 5 minutes to pull together.