The Summary surface is Pulse’s answer page. Open it from the Pulse entry in the sidebar — it lands you onDocumentation Index
Fetch the complete documentation index at: https://docs.petakopi.my/llms.txt
Use this file to discover all available pages before exploring further.
/pulse/summary. Four cards stack in a 2×2 grid: weekly verdict, monthly verdict, actual-this-month, and the revenue burn chart.
What this page answers
| Question | Where to look |
|---|---|
| Did last week make money? How does it compare to before? | Last week card (top-left) |
| Did last month make money? Is the margin healthy? | Last month card (top-right) |
| What are this month’s totals so far? | Actual this month panel (bottom-left) |
| Am I on pace to hit my monthly revenue target? | Revenue burn chart (bottom-right) |
Verdict cards
Two cards mirror the verdict mailers exactly: Last week (Mon–Sun) and Last month. Each card shows:- The headline number (last week’s net revenue, last month’s true net).
- A comparison line (“up RM 320 from your trailing 4-week average”).
- The biggest expense mover paired with one suggested handle.
What “first run” means
The comparison line (“up RM 320 from your trailing 4-week average”) needs at least 2 of the prior 4 weeks (for weekly) or 2 of the prior 3 months (for monthly) to have activity. Without that baseline, any “up” or “down” call would be misleading — so the card falls back to stating last period’s totals plainly and waits for the baseline to fill in. This is most relevant during your first month with Loyverse connected. Don’t worry about it; it sorts itself. Each card has a data health icon in its header. Click it to open a checklist of what needs to be true for the card to render fully (see Data-health dialogs below).Actual this month
Live KPIs for the calendar month: gross sales, refunds, net revenue, expenses, true net, margin %. The chevron at the top of the panel walks back through prior months — useful when you want to inspect April from May.Revenue burn chart
A cumulative line chart that runs from the 1st of the month to month-end. Three lines, each with a different data source:| Line | What it is | Where the number comes from |
|---|---|---|
| Actual (solid) | Running total of net revenue, day by day. | Loyverse receipts (gross minus refunds), summed by MYT calendar day from month-start through today. Future days are blank — we don’t fabricate them. |
| Target (dashed) | Linearly smoothed cumulative target from 0 on day 1 to your monthly target on the last day. | First available source, in priority: (1) manual override typed into the Calculator, (2) recipe-derived — menu price × volume (with the Calculator’s suggested price as a fallback for recipes that don’t have a menu price set), (3) trailing 3-month average net revenue. |
| Breakeven (flat) | Horizontal line at the revenue point where profit = 0. | Calculator math: fixed_cost × avg_price / contribution_margin. Price prefers your recipes’ menu prices (averaged across recipes that have one set) and falls back to the Calculator’s suggested price otherwise — same rule as the target line. Only renders when at least one recipe has COGS. |
Where the actual line comes from
Every Loyverse receipt projects into a singleSale row when it lands (via webhook in ~6 seconds). Refunds project as separate rows that subtract from the cumulative total. The chart sums net revenue (gross minus refunds) by MYT calendar day — so a receipt rung at 11pm MYT counts toward that day, not the UTC day.
Mapping Loyverse items to local recipes does not change this number. Mapping only powers the per-recipe analytics on the Recipes index; the burn chart’s actual line counts every ringgit through the till regardless of mapping.
How the target line is chosen
Pulse picks the first available source from this list:Manual override (preferred)
A monthly revenue target you typed into the Calculator’s optional Step 4. Owners with partial recipes — or no recipes — use this to give the chart a target to plot. Stored on
PricingMonth.monthly_revenue_target_cents.Recipe-derived (formula)
avg_price × volume. The price prefers your recipe’s menu price — what you actually charge — and falls back to the Calculator’s suggested price ((avg_cogs + fixed_cost_per_unit) ÷ (1 − margin)) for any recipe that doesn’t have a menu price set. Requires at least one recipe with COGS. Setting menu prices on your top sellers makes this target match the revenue you’ll actually ring up; without them, the target is what the P&L math suggests you should charge.Why breakeven needs recipes
Breakeven revenue is the point where total profit equals zero. Algebraically:fixed_cost ÷ (contribution_margin_ratio). Contribution margin is (price − variable_cost) ÷ price — and variable_cost is what your recipes give us. Without recipes, contribution margin is undefined, so the line cannot be drawn.
The override field on the Calculator only feeds the target line; there is no breakeven override.
What “today” means on the chart
For the current month, the actual line stops at today (with a vertical “today” marker) and the target line plots through today’s smoothed cumulative. For past months, both lines run to the end of the month — no marker. Future months show only the target ramp; actual is blank.Data-health dialogs
Every Summary card carries a per-card data-health checklist. Open it from the icon in the card header. The dialog lists each prerequisite, marks it ready or needs-attention, and gives you a CTA when something needs filling in. For the Revenue burn chart specifically, the three checks are:- Target line — needs a monthly revenue target set in the Calculator (override or recipe-derived), or ≥2 prior months of sales for the trailing-average fallback.
- Actual line — needs Loyverse connected and ≥1 receipt logged this month.
- Breakeven line — needs monthly costs + target margin filled in, plus at least one recipe with COGS.

