Skip to main content

title: “Customers — Database Pelanggan” description: “Manajemen database pelanggan dengan paginasi, pencarian, import multi-format, WhatsApp integration, dan detail profil di SNISHOP ERP.”

Customers — Database Pelanggan

Customers Halaman Database Pelanggan mengelola seluruh data pelanggan perusahaan. Ditampilkan dalam tabel paginasi dengan pencarian, filter status, export CSV, import multi-format (VCF/CSV/XLSX), dan integrasi WhatsApp.

Arsitektur

Akses Halaman

URL: /crm → tab Database

Entitas: Customer

Tampilan List

Desktop View

Tabel dengan kolom:

Mobile View

Card layout dengan informasi yang sama, dioptimasi untuk layar kecil.

VIP Badge

Pelanggan dengan lifetime_value > 1.000.000 mendapatkan badge VIP (ikon bintang) di samping nama.

Paginasi

25 pelanggan per halaman dengan navigasi halaman di bagian bawah.

Form Tambah/Edit Pelanggan

Dialog form dengan 3 section:

Section 1: Contact Info

Section 2: Business Detail

Section 3: Address & Notes

Export CSV

Seluruh daftar pelanggan (sesuai filter aktif) bisa diexport ke CSV:

Import Multi-Format

CustomerImportModal — 4 Step Wizard

Format yang Didukung

Kolom Auto-Detection

Sistem mendeteksi nama kolom secara otomatis berdasarkan kata kunci:

Hasil Import

Setiap record yang diimport menjadi Customer dengan:

Template CSV

Tersedia template CSV sample untuk download agar user tahu format yang diharapkan.

Customer Detail Profile

CustomerDetailProfile — Full-Screen Dialog

Dialog detail dengan sidebar profil dan 3 inner tab:

Tab Overview

Menampilkan informasi kontak lengkap dan customer journey:

Tab Activity

Tab AI Copilot

AI Copilot menggunakan invokeLLM untuk generate pesan WhatsApp yang dipersonalisasi:
  1. AI membaca profil pelanggan (nama, LTV, membership, last purchase)
  2. Generate pesan yang relevan (promo, ucapan terima kasih, follow-up)
  3. Tombol “Send to WhatsApp” untuk langsung kirim

Address Book

CustomerAddressBook — Multi-Address Management

Setiap pelanggan bisa memiliki beberapa alamat:

Operasi

WhatsApp Quick Send

WhatsAppQuickSend — Single Customer

Mengirim pesan WhatsApp ke satu pelanggan: Setelah terkirim, Customer entity diupdate:
  • last_contact_date → new Date()
  • last_contact_method → “whatsapp”
  • last_contact_notes → isi pesan

Blast Message

CustomerBlastMessage — Broadcast

Mengirim pesan broadcast ke banyak pelanggan:
  1. Pilih pelanggan dengan checkbox
  2. Tulis pesan atau generate via AI
  3. AI menggunakan konteks: jumlah audiens, rata-rata LTV
  4. Kirim via whatsappSendMessage ke setiap pelanggan
  5. Cek WhatsAppSession untuk memastikan gateway terhubung

Tips Penggunaan

  • Gunakan import VCF untuk memindahkan kontak dari telepon ke CRM
  • Filter status untuk fokus pada segmen pelanggan tertentu
  • Export CSV secara berkala untuk backup data pelanggan
  • Manfaatkan AI Copilot untuk membuat pesan WhatsApp yang personal
  • Update alamat pelanggan secara berkala untuk pengiriman yang akurat
  • Monitor LTV untuk identifikasi pelanggan VIP

Entity Relationship Diagram

Berikut adalah diagram relasi antara entitas Customer dengan entitas terkait di SNISHOP ERP. Setiap pelanggan dapat memiliki banyak alamat (embedded array), satu keanggotaan membership, banyak baris ledger loyalty, banyak Purchase Order, dan terhubung ke session WhatsApp.

Penjelasan Relasi


Complete Entity Schema: Customer

Entitas Customer memiliki 45 field yang terbagi dalam 8 kategori. Berikut adalah schema lengkap berdasarkan definisi entity JSONC.

Kategori 1: Identity (Identitas Dasar)

Field-field inti yang mengidentifikasi pelanggan.

Kategori 2: Status & Klasifikasi

Menentukan posisi pelanggan dalam pipeline CRM dan tipe bisnisnya.

Kategori 3: Financial (Keuangan & Analitik)

Field yang menghitung dan menyimpan metrik nilai pelanggan.

Kategori 4: Membership & Loyalty

Seluruh field terkait program keanggotaan dan loyalty.

Kategori 5: Contact Tracking (Pelacakan Kontak)

Mencatat interaksi terakhir dengan pelanggan untuk follow-up.

Kategori 6: Personal (Preferensi Personal)

Kategori 7: B2B (Business-to-Business)

Field khusus untuk pelanggan korporat, retailer, dan distributor.

Kategori 8: Metadata


Customer Lifecycle State Diagram

Berikut adalah diagram state machine untuk lifecycle pelanggan di SNISHOP ERP. Setiap pelanggan dimulai sebagai lead dan bergerak melalui pipeline hingga menjadi customer aktif atau inactive.

Penjelasan Transisi State

Filter Status di Dashboard

Dashboard Stats


Import Flow: Detail & Fuzzy Column Matching

Proses import mendukung tiga format file dengan kemampuan fuzzy column matching — sistem mencocokkan nama kolom dari file yang diimport dengan field Customer menggunakan kata kunci sinonim (bahasa Indonesia dan Inggris).

Fuzzy Column Matching — Tabel Sinonim Lengkap

Sistem menggunakan fuzzy matching untuk mengenali nama kolom dari berbagai format file. Berikut adalah pemetaan lengkap:

Penanganan Duplikat

Saat import, sistem melakukan pengecekan duplikat berdasarkan:
  1. Nomor telepon — jika sudah ada customer dengan phone yang sama, record di-skip.
  2. Email — jika sudah ada customer dengan email yang sama, record di-skip.
  3. Ringkasan hasil import menampilkan jumlah: berhasil, gagal (validasi), dan duplikat (di-skip).

WhatsApp Integration: Sequence Diagram

Integrasi WhatsApp di SNISHOP ERP menggunakan gateway Baileys (WhatsApp Web API). Setiap session WhatsApp disimpan di entitas WhatsAppSession dan digunakan untuk mengirim pesan ke pelanggan.

Single Message Flow

Broadcast / Blast Message Flow

WhatsApp Session Lifecycle

Status Koneksi WhatsApp Session


Schema Entitas Terkait

CustomerMembership — Tier Membership

Menentukan level keanggotaan dan benefit yang didapat pelanggan pada setiap tier.

CustomerLoyaltyLedger — Buku Besar Loyalty

Mencatat setiap mutasi poin/stamp pelanggan sebagai audit trail yang lengkap.

CustomerPO — Purchase Order B2B

Purchase Order yang dibuat oleh atau untuk pelanggan B2B.

WhatsAppSession — Sesi Koneksi WhatsApp

Menyimpan state koneksi WhatsApp per user/company menggunakan Baileys.