Changelog

Recent releases and improvements to the ERP. Newest first.

3 July 2026

Accounting module — Invoices, Quotations, Payments

Feature

Full billing suite benchmarked against Xero / QuickBooks. Create quotations, convert them to invoices in one click, record full or partial payments (auto-flips to Partial / Paid), and track everything with atomic IV-##### numbering that continues from the legacy system (matching the established invoice PDF template). Line-item editor with a single-source SST tax engine (tax charged on the post-discount net).

Item catalog + invoice / quotation PDF

Feature

Reusable item catalog (course / SaaS / service) with default price + tax. One-click professional A4 PDF for any invoice or quotation — company letterhead, tax identifiers, line items, totals, and a DRAFT watermark on drafts.

Financial reports — AR aging, sales, SST

Feature

Accounts-receivable aging (current / 1-30 / 31-60 / 61-90 / 90+), sales summary with top customers and a monthly trend, and an SST tax report grouped by rate. Exportable to PDF for the board or the taxman.

Company & tax profile (MyInvois-ready)

Feature

Company profile drives every document header: legal name, address, SSM reg no, LHDN TIN, SST no, and MSIC code — all the identifiers Malaysia's e-Invoice (MyInvois) will require. Configured for AIGC SDN. BHD.

ERP interface now fully English

Polish

Translated all remaining admin-facing UI (accounting, upgrade leads, duplicate merge, review side-peek, pipeline deal-rot, quick search) to consistent English. Customer-facing multilingual content (student review forms, notifications) stays localized.

app-wide

2 July 2026

Tasks / next-action system

Feature

A real follow-up container: due dates, priority, assignee, source. Filter by Due today / Overdue / All open. One-click 'Add follow-up' on any customer profile, complete with Undo. Health-score risk now has somewhere to land.

/tasks, /customers/[id], ⌘K, G then T

Two-way outreach — Email + WhatsApp

Feature

Send an email (Resend) or WhatsApp (Cloud API) straight from a customer profile; the message is logged to their timeline. Degrades to a wa.me link when WhatsApp isn't connected, so no send ever silently fails.

Duplicate customer merge

Feature

Finds customers sharing a phone or email (union-find across both), lets you pick the primary and merge. Migrates subscriptions / reviews / interactions / tags / certificates in one transaction, backfills missing fields, recomputes review count.

Deal-rot detection on the pipeline

Feature

Each pipeline card shows how many days a deal has been stuck in its stage — amber past 7 days, red past 21. A board-level banner counts stalled deals so nothing rots unnoticed.

Side-peek review triage

Feature

Opening a review in the moderation queue slides out a right-side panel instead of a full-page jump. J / K move between reviews, approve / reject / feature actions live in the peek — triage without losing your place.

Product-qualified leads (PQL)

Feature

Turns AIGC App usage into a sales list: high-usage users on low/no plan become upgrade candidates; users stuck 7+ days without their first video become an onboarding-intervention list. One click spins up a follow-up task.

/pql

Viral certificate sharing + SEO review wall

Feature

Certificate pages get LinkedIn / Facebook / WhatsApp share + a course sign-up CTA. New public review wall at /reviews-wall carries schema.org AggregateRating so Google can show star ratings in search results.

Bulk customer actions

Feature

Multi-select rows in the customer list to add a tag, move stage, or create follow-up tasks in one go — a slide-up action bar handles the batch.

AI natural-language search

Feature

Ask a question in plain language ('how many 5-star reviews from KL last month?') and get an answer + data table. Query plans are whitelisted server-side — no raw SQL, and financial answers are gated to finance roles.

/ask, ⌘K

Per-customer AI insight

Feature

A Claude-powered card on each customer summarizes the relationship, flags health, and suggests the next best action from their interactions, subscriptions and reviews.

Security audit — sealed critical leaks

Security

Full 6-dimension audit (44 findings, 42 confirmed). Fixed: unauthenticated customer/revenue/dashboard APIs (anyone could read all PII + MRR), unsigned Stripe webhook (forgeable paying customers), missing CRON_SECRET on 3 jobs, mass-assignment on customer update, and an AI-search finance-data leak to non-finance roles.

middleware + API routes

Data-integrity + palette crash fixes

Fix

MRR waterfall no longer crashes (invalid null filter) and now counts churn correctly. Command palette no longer white-screens on a recent item, sign-out hits the real endpoint, expiring-subscription deep links resolve, the AI insight card loads (was stuck skeleton), and archived system alerts resurface after 24h instead of silencing forever.

app-wide

Premium visual system + 3D charts

Polish

New design-token foundation (glow / glass / gradients), a redesigned login hero, gradient sidebar, and a full ChartKit refresh — gradient-filled areas, 3D bars, donut conversions and glass tooltips across every dashboard chart.

app-wide

14 May 2026

Cohort retention + Revenue forecast + TTFV

Feature

Three SaaS health metrics: customer cohort retention heatmap, 90-day revenue forecast with ±15% confidence, and time-to-first-video activation metric for AIGC App users.

Renewal reminder cron

Feature

Auto-queues notification at 30 / 14 / 7 / 3 / 1 days before subscription expiry. Idempotent by (subscription, window).

Daily 03:00 UTC

Vercel Analytics + Speed Insights

Polish

Page-view tracking + Core Web Vitals monitoring. Lets us see which ERP pages get used and catch perf regressions.

RBAC Phase 3 — full role enforcement

Security

Sidebar nav filtered by role. Self-service password change. Admin user management actions (role / suspend / reset password). Safety guards: no self-suspend, no last-superadmin-delete.

Withdrawal approve / reject UI

Feature

Inline buttons on /aigcapp/withdrawals call the app-side admin endpoints. SOD checks + audit log atomic on the platform side.

13 May 2026

Customer Health Score

Feature

0-100 score per customer aggregating CRM + AIGC App signals (active sub, recent paid orders, login recency, video success, email status). Ranking page with VIP / Healthy / At-Risk / Churn bands.

Refund workflow

Feature

One-click refund on PAID orders: atomic transaction updates order status, deducts balance (clamped to 0), inserts CreditLedger entry, writes audit log.

12 May 2026

Dark mode + mobile responsive

Polish

Three-way light / dark / system toggle with FOUC prevention. All list tables fallback to mobile-friendly card layout < 768px.

Help page + global Cmd+K search

Polish

/help with keyboard shortcuts, feature map, FAQ. Cmd+K from anywhere searches across customers / orders / videos / etc.

/help, ⌘K anywhere

Dashboard inbox + sonner toasts

Polish

Today's Actionables card on the dashboard aggregates reviews pending, withdrawals overdue, videos failed 24h, etc. Toast notifications replace browser alerts.

/

11 May 2026

ERP audit log + admin user table

Feature

Every ERP mutation writes to AdminAuditLog with operator identity + before/after diff. /audit page surfaces the trail.

/audit

Customer 360° view + AIGC App ↔ CRM bidirectional links

Feature

Customer detail page now shows their AIGC App account (balance, lifetime spent, recent orders, videos, subscriptions) inline. AIGC App user detail page links back to CRM customer.

10 May 2026

AIGC App admin section (24 pages)

Feature

Full read-only admin coverage of the digital-human platform: users, orders, videos, credits, providers, plans, subscriptions, agents, withdrawals, redeem codes, audit, avatars, voices, smart-edit, PPTX jobs, notifications, webhooks.