Master Data ModuleCore Module

Customers Master

1. Overview & Customer Registry

What is the Customers Master?
The Customers master manages both retail consumers and commercial wholesale buyers. It enforces credit limits, payment terms (Net D), polymorphic billing/shipping addresses, primary contact channels, and integrates directly with POS registers, B2B invoicing, and Accounts Receivable (AR).
Menu Location:/admin/master-data/customers

2. When to Use Customer Master

Frontline POS Retail Loyalty & Member Pricing

Walk-in cash shoppers registered by phone number at the POS counter who receive automatic 5% VIP member pricing without requiring credit terms.

Recommended Action:Register customer as INDIVIDUAL, enter mobile phone number as primary lookup key, set creditLimit = 0, and assign member discount tier.

B2B Wholesale Accounts with Trade Credit (NET30)

Corporate distributors or hotel chains purchasing bulk merchandise on deferred commercial terms with a strict Rp 100.000.000 credit ceiling and mandatory e-Faktur NPWP.

Recommended Action:Create customer as COMPANY, configure paymentTermDays = 30, set creditLimit = 100000000, and attach legal entity NPWP tax identification.

Credit Ceiling Exceeded & Overdue Invoicing Lockout

A B2B client attempts to place a new Rp 30.000.000 order while having Rp 95.000.000 in open invoices and an overdue bill past 45 days.

Recommended Action:The ERP automatically halts Sales Order approval until credit control reviews customer aging or finance allocates incoming bank payment vouchers.

Multi-Warehouse Consignee Delivery Address Management

An institutional client maintains regional receiving docks in Jakarta, Surabaya, and Medan, while billing must be directed to their central Jakarta HQ.

Recommended Action:Configure multiple addresses under the customer account, setting the Jakarta headquarters as Primary Billing and regional hubs as dedicated Shipping destinations.

Government Agency & WAPU (Wajib Pungut) Withholding Tax Status

Selling merchandise to state-owned enterprises or government ministries that withhold output VAT directly at source.

Recommended Action:Tag the customer account with WAPU tax status to exempt standard automated VAT collection and trigger required withholding tax invoice forms.

Guest Anonymous Walk-In vs Registered VIP Customer Partitioning

Cashiers need high transaction speed for quick cash purchases without burdening casual shoppers with mandatory registration.

Recommended Action:Keep the system default "Walk-In Customer" active for anonymous retail checkouts, reserving named customer records for loyalty and credit accounts.

3. Credit Limits & Payment Terms

Credit Limit Ceiling (Rp)

Governs the maximum allowable unpaid Accounts Receivable (AR). If a new order causes unpaid balance > creditLimit, the order is blocked until previous invoices are settled.

Payment Term Days (Net D)

Sets invoice due date = invoiceDate + paymentTermDays. Retail consumers use 0 days (cash/card), while wholesale distributors typically use 30 or 60 days.

4. Data Dictionary & Contact Specifications

Core database column specifications for the customers master table:

Field / ColumnInput TypeRequirementDescription & Operational Guide
code
Text (Customer Code)Required
System-wide unique customer code used as billing account reference.
Example: CUST-00001, CUST-CORP-JKT
name
Text (Customer Name / Company Name)Required
Customer individual full name or corporate trade entity title.
Example: Budi Santoso, PT Sumber Berkat Abadi
type
Select (Individual / Company)Required
Customer classification. Individual for retail consumers, Company for corporate accounts.
Example: Individual, Company
creditLimit
Currency (Credit Limit)Required
Maximum allowable unpaid accounts receivable balance. New credit sales are blocked if exceeded.
Example: 50000000 (0 for cash-only retail customers)
paymentTermDays
Number (Payment Terms in Days)Required
Invoice payment term in days from date of fulfillment (e.g., 0 for cash, 30 for Net 30 days).
Example: 0 (Cash), 30 (Net 30), 60 (Net 60)
addresses
List of AddressesOptional
Delivery and billing street addresses. One address must be designated as Primary.
Example: [{ address: "Jl. Sudirman 10", city: "Jakarta", isPrimary: true }]
contacts
List of ContactsOptional
Phone numbers, emails, and Tax ID (NPWP). One contact must be designated as Primary.
Example: [{ name: "Finance Dept", email: "ar@sumberberkat.com", phone: "08123456789", isPrimary: true }]
status
Select (Active / Inactive)Required
Active status toggle. Inactive customers cannot be selected on POS or sales invoices.
Example: Active

5. Interface Preview & Customer Cards

Menu Location:Route: /admin/master-data/customers
PT Sumber Berkat AbadiCUST-00042 | COMPANY | Net 30 Days
Credit: Rp 50.000.000NPWP: 01.234.567.8-012.000
[Primary Address] Jl. Jendral Sudirman No. 10, Jakarta Selatan | Contact: finance@sumberberkat.com
Commercial customer overview displaying credit limit, payment terms, primary billing address, and dispatch contact.

6. Workflow: Registering New Customers

1

Navigate to Customers Directory

Customers Navigation Menu

Open the sidebar menu and click Master Data -> Customers.

2

Choose Customer Classification

Customer Type Selector

Click "Add Customer". Select Customer Type (Individual for retail patrons or Company for commercial clients). Fill in Name and Code.

3

Set Credit Limit & Payment Terms

Credit Limit & Terms Inputs

Define payment terms in days (e.g. 30 for commercial credit) and creditLimit. Enter 0 for strict cash-on-delivery clients.

4

Add Primary Address & Contact Information

Address and Contact Forms

Provide street address, city, and province. Fill in contact phone, email, and corporate tax ID (NPWP). Ensure the "Primary" toggle is enabled.

Every customer record requires one primary address and one primary contact for order receipts and invoices.
5

Save Customer Profile

Save Customer Button

Click "Save Customer" to create the customer profile and register contact information.

7. Workflow: Updating Terms & Addresses

1

Locate Customer Record

Customer Table Search

Search by Customer Name, Code, Phone, or Email in the live search bar.

2

Update Terms or Contact Records

Edit Action Icon

Click "Edit" to modify credit limits, payment terms, phone numbers, or delivery addresses.

3

Save Modifications

Save Changes Button

Click "Save Changes" to update existing records and synchronize addresses.

8. Deactivation & Ledger Safety Checks

Customer Transaction & Balance Protection
The system prevents deleting any customer who has purchase history, outstanding receivables, or recorded sales returns. This protects your financial records and sales reports. If a customer is no longer active, switch their status to Inactive so they cannot be selected for new sales while preserving all historical records.
1

Check Transaction History

Customer Financial Ledger

Check whether the customer is referenced in unpaid receivables, sales transactions, or return records.

The system preserves accounting records and prevents deleting customers with past order history. Deactivate the customer instead.
2

Deactivate Customer Status

Status Toggle (Active/Inactive)

If the customer has transaction history, toggle Status to Inactive. Inactive customers cannot start new sales orders while historical records remain intact.

3

Deleting Unused Customer Records

Delete Action Icon

If the customer was registered mistakenly with zero sales records, click "Delete" to remove it permanently.

9. Cross-Module Impact on POS & AR

POS Counter & Cashier Checkout

Cashiers can look up customer profiles by phone number or name to link purchases, apply tier discounts, or record invoice credit.

Sales Orders & B2B Invoicing

Commercial sales orders inherit paymentTermDays for invoice due dates and validate outstanding AR balances against creditLimit before approval.

Accounts Receivable (AR) & Aging

Unpaid customer sales invoices accrue under AccountsReceivable, driving aging reports (Current, 30, 60, 90+ days past due).

Credit Governance Pro-Tips
  • Always collect the customer NPWP / Tax ID during company registration to enable official electronic tax invoice (Faktur Pajak) generation.
  • Set credit limits conservatively for new commercial clients and increase them as good payment history is established.