Sign in to load the numbers. Access is checked on the server, per account.
→
Comparevsvs· side-by-side table on the Overview tab
SAMPLE DATAEvery figure is invented. Structure mirrors the accountant’s QuickBooks P&L; the Management view re-classifies the same lines into a contribution-margin ladder (net earnings identical in both views).
Month comparison
Where the money went
Profit & loss
Exceptions
Revenue & net earnings by month
Bars = revenue by channel (dimmed outside the selected period) · line = net earnings · markers = Malaysian retail calendar.
Online share by channel
Each channel’s share of channel revenue (Online MY · POS MY · TikTok Shop · Shopify SG), by month.
Point of sale by location
Cost split by platform contribution
Formula (finance team’s): Discounts allowed (600-0001) + Goods returned (600-0003) + Inventory charged out (600-0005) + SST (600-0006) + Total Marketing & Events + Production incentive (600-0007) = Total, split across platforms by each platform’s share of revenue. Exact for closed (ledger) months; estimate months use the estimated cost lines.
Cost of sales detail
Waiting on the cost table: per-style landed costs (sku_costs) unlock gross margin per product and per channel. Until then COGS is the accountant’s blended “inventory charged out”. Shopify’s cost field is empty on every variant, so this can’t be automated from Shopify. Sales tax (5–10 % by HS code) is embedded in landed cost — never a separate line for a retailer.
Spend by platform, monthly
Ad platforms + booked marketing lines (KOL, events, agency…)
MER by month vs break-even
Total revenue ÷ total marketing — blended, immune to attribution over-counting. Break-even MER = 1 ÷ variable margin %.
Platform detail
Two sources, kept apart: the chart and the “Data source” column always show platform-reported spend from your own sheet feeds (Meta · TikTok Ads · GMV Max). “Booked (ledger)” is what the accountant recorded in the uploaded excel for closed months — invoice timing, agency fees and boosts make the two differ. Profit and the P&L always follow the ledger. KOL/agency/events are booked lines with no platform feed.
Operating expenses by month
Five display groups — Staff cost, Rent & premises, Marketing & events, Software & IT, and Others (admin, professional, supplies…). Every QuickBooks code still imports individually; the detail stays in the ledger.
Group detail
Malaysia notes: employer EPF/SOCSO/EIS/HRDF add ≈ 15.5 % on top of gross wages — HR & payroll here is the fully-loaded figure from the ledger. Service tax on commercial rent (8 %, MSME 6 % from Jan 2026) sits inside Rent & premises. Income tax accrual should follow the SME tiers (15 % first RM150k · 17 % to RM600k · 24 % above) on YTD profit, not a flat rate — shown on the Overview P&L.
Staff cost by month
Full-time salary (900-0038) · retail wages (900-0036) · retail commission (900-0082, moved here from Selling & Distribution) · event part-timer wages (900-0084, occasional). Ledger figures — closed months only.
Line detail
Per-location split (part-timers): the monthly QuickBooks P&L has no location column — the split comes from the payout reports (commissions + wages). Drop me a sample payout report once and this tab gains a per-store breakdown. HQ salaries stay out of this tab deliberately.
Revenue by channel, monthly
Shopify MY split into Online store and Point of sale. Months outside the selected period are dimmed.
Revenue breakdown
Industry benchmarks
Benchmarks from the Aug 2026 research pass (levelcfo.com/benchmarks · a2xaccounting 2026 P&L benchmark · eightx.co CM bible · commonthreadco). Medians for apparel/footwear DTC at Machino’s scale — directional, not targets.
How to read this: MER (marketing efficiency ratio) = total revenue ÷ total marketing spend — blended across all platforms, so it is immune to each platform over-claiming the same order. Break-even MER = 1 ÷ variable margin %: above it, every marketing ringgit adds contribution; below it, ads lose money even before fixed costs. Platform-level spend detail lives on the Marketing tab.
Reconciliation & basis
Every load, each source is checked against an independent one. Green = agrees.
Ledger crosscheck
Each closed month: what the accountant booked vs what the live feeds recorded. Hover a cell for both numbers.
Privacy: files dropped here are parsed in this browser and saved only to this computer (localStorage). Nothing is uploaded anywhere.
Imported months
Green = real QuickBooks figures loaded (closed months). Grey = still sample data (provisional).
Month-end close checklist
How each QuickBooks account maps
By account code first, by name when a line has no code. Unrecognised lines land in Opex → “Other” and are flagged above.
500-* → Income (Wellness separated; 500-0004 TikTok counts as Sales; 500-0002 Shipping Fee Income is its own line) · 600-* → Cost of sales lines (incl. SST, materials, packaging, shoes, bags — and the Selling & Distribution 600-* lines) · 700-* → Other income ·
900-0036 / 0038 / 0082 / 0084 → Staff Cost tab (retail wages · full-time salary · retail commission · event wages; still inside Expenses for the P&L) ·
900-0120 / 0121 / 0129 → Meta / TikTok Ads / TikTok Live (booked spend replaces the platform-reported numbers for closed months) · 900-0028, 0042, 0074, 0125–0133 → Marketing (booked) · 900-* → Opex groups ·
Loyalty / Depreciation / Gift card / Bank & HP interest → Below the line · 910-0001 → Income tax (910-0002 WHT → Sales tax). For a closed month the income remainder the feeds can’t see (wholesale, collabs, wellness) shows as “Wellness & other”, so revenue and net earnings tie the ledger exactly.
Try it:sample-quickbooks-export.csv (invented numbers) ships next to this file — drag it in to see the flow.