Start with sales, take off each kind of cost in turn, and what's left at the bottom is yours.
Out of every RM100 a customer pays you, this is who gets what.
Number of orders in brackets.
Recalculated from the sheet each time the page refreshes. The current month is still filling up, so it carries only the wages for the days that have passed.
Three steps, about three minutes, and you never touch it again. Everything below happens in Google Sheets.
In the tracker, click File → Share → Publish to web. In the first dropdown pick the direct order only tracker tab (not "Entire document"). In the second dropdown pick Comma-separated values (.csv). Press Publish and copy the link it gives you.
Be aware of what this does: anyone who has that link can read the whole tab, including customer names and anything in the Remarks column — some of those hold phone numbers. It is not indexed by Google and nobody can guess it, but it is not private either. Treat the link like a password and don't post it anywhere.
If you'd rather not expose names, make a new tab called LIVE, put this in cell A1, and publish that tab instead — this page works with either:
={"Date","Channel","Jars","Order Amount (RM)","Shipping (RM)";
QUERY('direct order only tracker'!A2:L,
"select B, D, F, G, H where B is not null", 0)}
Shopee, TikTok and Meta need a login, so a web page cannot read them. Put their figures in a tab instead and you can update them in seconds without touching the website.
Make a tab called SETTINGS with two columns — the name on the left, the number on the right. Exactly these names:
| shopee_sales | 1187.07 |
| shopee_orders | 21 |
| tiktok_sales | 246.77 |
| tiktok_orders | 3 |
| meta_ads | 516.69 |
| cost_per_jar | 10 |
| pack_per_order | 1.6 |
| courier_per_parcel | 13.04 |
| wages_per_month | 3120 |
| shopee_fee_pct | 24.57 |
| tiktok_fee_pct | 14.42 |
| marketplace_jars_per_order | 2 |
Publish that tab the same way as step 1 and copy its link too. The hourly check sends you the first five numbers each hour — Ednalyn can type them in, or you can.
Open config.js in the folder with any text editor. Put the first link between the quotes after ORDERS_CSV: and the second after SETTINGS_CSV:. Save, drag the folder back onto Netlify, done.
After that the page reads your sheet by itself. Add an order in the tracker and it shows up here — no re-uploading, ever.
Cost per jar, packaging, courier, wages and the marketplace fee rates all come from your SETTINGS tab — change them there and every figure on this page follows.