01
Customer → Running Service → Invoice (one chain)
A customer holds one or more Running Services (an engagement). When a Running Service has a customer plus selected services, an invoice line generates automatically. There is no manual 'Add Invoice' — if there's no Running Service, there's no bill.
02
Discount and premium per service
Each service inside a Running Service can carry a discount % or premium %. The invoice amount is computed as the service's master rate × the customer-specific adjustment.
03
Linked active / inactive toggles
Toggle a Running Service inactive in its modal → its invoice rows close and drop to the bottom of the list, marked red. Toggle it back on → everything reactivates. Toggling from the Invoice tab cascades back to the Running Service. Commission rows tied to a paused engagement get flagged but not deleted.
04
Commission with a transparent formula
Commission = (invoice total × percent) + flat add-on. Pick the source invoice from the form; the system uses its live total. If the parent invoice is paused, the commission row gets flagged and is excluded from the outstanding total automatically.
05
Document generators with letterhead config
Click PDF on the Invoice tab → invoice downloads. The Running Service tab also renders SPK (cooperation agreement) and Quotation PDFs. Letterhead, signatory data, and bank details all configure from Master Data → Letterhead. Document numbers come from an atomic per-tenant per-month counter.
06
Daily Tracking
Log revenue and cost per channel (Meta, TikTok, Shopee, Tokopedia, Lazada, Google Ads, WhatsApp, etc.) per customer per day. Aggregate dashboards by customer or channel; filter by period. Useful for service teams that need to show campaign-level results.
07
Leads tracking
A Daily Tracking variant for inbound leads with status tags. Suited to sales teams following up prospective customers without a separate pipeline tool.
08
Marketplace research extension
A browser extension scrapes Tokopedia and Shopee product listings; results appear at /marketplace/riset-produk for competitive analysis. Useful for service teams that research hero products on behalf of customers.
09
Landing Page Builder (V2)
A Framer-style canvas: drag, resize, rotate, layer. Section content renders at DESIGN_WIDTH 1280 px with container queries — no drift when the visitor resizes the browser. Publish exports static HTML deployed to Cloudflare Workers, edge-cached at no extra cost.
10
Link pages (Linktree-style)
Mobile-first bio-link pages for customers with eleven section types and Meta Pixel on both page view and click events. Pages can run on a custom domain (e.g. lalss.com/<customer>) with cache auto-purge on publish.
11
Customer-facing portal (Tagihan)
Customers invited from the Customers screen access /tagihan and see only their own invoices and projects. View-only — server-side write blocks enforce the read-only contract.