Skip to content

Service / Workshop

Beyond retail, the product supports a service / repair workshop flow — taking in an item for repair, assigning a technician, consuming spare parts, and settling on pickup. It shares the customer, item, and cashier masters with the rest of the system.

A secondary module

Service is smaller than the inventory/POS core (the SmartSoft.Service.FrameWork.DataAccess bundle is ~29 classes). This page is an orientation, not an exhaustive reference.

The workflow

flowchart LR
    A["Intake<br/>frmTandaTerimaService<br/>photos + accessories + down-payment"] --> B["Assign technician + job<br/>parts via tbTr_ServicePart"]
    B --> C["Process / finish<br/>frmProsesService<br/>SVH_TGLSELESAI, status"]
    C --> D["Validate<br/>frmValidasiService"]
    D --> E["Pickup + settle<br/>SVH_TGLAMBIL, tender split"]
    style A fill:#e3f2fd,stroke:#1976d2
    style E fill:#e8f5e9,stroke:#388e3c
Stage Form What happens
Intake frmTandaTerimaService.vb Record the item, serial, accessories, condition photos, and take a down-payment.
Process frmProsesService.vb Assign technician + job type; consume spare parts; mark work done.
Validate frmValidasiService.vb Sign-off / hand-off before pickup.
Discount frmDiscount.vb Apply discounts to the service charge.

Receipt printing: FrameWork.SmartSoft.Struk/StrukService.vb; the intake proof is the Bukti/TandaTerimaService.rpt Crystal report.

Data model

Service order header/detail (SmartSoft.Service.FrameWork.DataAccess):

Table Holds
tbTr_Service_H / _D (SVH_ / SVD_) The service order (see key columns below).
tbTr_ServicePart Parts used per order.
tbTr_TandaTerimaService_H / _D The intake receipt.
tbTemp_Service, tbTemp_SparePart Working/staging tables.
tbTr_Pembayaran, tbTr_Rewards Payments; loyalty rewards.

Masters: tbMaster_SparePart, tbMaster_Teknisi (technicians), tbMaster_JenisPekerjaan / tbMaster_HargaPekerjaan (job types & pricing).

Table relationships

erDiagram
    tbMaster_Customer         ||--o{ tbTr_Service_H            : "owner"
    tbMaster_Teknisi          ||--o{ tbTr_Service_H            : "technician"
    tbMaster_HargaPekerjaan   ||--o{ tbTr_Service_H            : "job pricing"
    tbTr_TandaTerimaService_H ||--|{ tbTr_TandaTerimaService_D : "intake header/detail"
    tbTr_Service_H            ||--|{ tbTr_Service_D            : "service header/detail"
    tbTr_Service_H            ||--o{ tbTr_ServicePart          : "parts used"
    tbMaster_SparePart        ||--o{ tbTr_ServicePart          : "part"
    tbTr_Service_H {
        string SVH_KODECABANG PK
        string SVH_NOSTRUK PK
        string SVH_KODECUST FK
        string SVH_KODETEKNISI FK
        string SVH_SERIALNUMBER
        string SVH_STATUS
        double SVH_UANGMUKA "down-payment"
        double SVH_GROSS
    }

tbTr_Service_H (SVH_) — the repair record

The header captures the full workflow in one wide row:

  • Session/identity: SVH_KODECABANG, SVH_NOSTRUK, SVH_TGLTRN, SVH_STATION, SVH_SHIFT, SVH_USERID.
  • Item under repair: SVH_SERIALNUMBER, SVH_PERLENGKAPAN (accessories), SVH_KETERANGAN, SVH_PHOTO/SVH_PHOTO2 (condition photos), SVH_GARANSI (warranty), SVH_KODEPEK (job code).
  • Customer block: SVH_KODECUST, SVH_NAMACUST, address, SVH_TELEPHONE, SVH_NOKARTU.
  • Workflow dates/status: SVH_TGLSELESAI (done), SVH_TGLAMBIL (picked up), SVH_TGLEXPIRED, SVH_TGLBATAL (cancelled), SVH_STATUS.
  • Assignment/commission: SVH_KODETEKNISI, SVH_TEKNISIKOMISI, SVH_KODESALES, SVH_SALESKOMISI, SVH_SPAREPART.
  • Money: SVH_GROSS, SVH_HPP, SVH_PPN, discounts, SVH_UANGMUKA (down-payment), and the tender split (SVH_CASH, SVH_DEBIT, SVH_CARD, SVH_VOUCHER, SVH_TARIKTUNAI, SVH_JASALUAR = outside labour).

Integration points

  • Sales: the retail sale header also carries service columns (JLH_NOSERVICE, JLH_JASASERVICE, JLH_SPAREPART) so a service can be billed through the till — see POS & Sales.
  • Inter-branch sync: service data ships between sites under the SVH (header) and SVP (photo) file prefixes — see Inter-Branch Sync.
  • Stock: consumed spare parts move inventory through the same stock engine as everything else — see Stock & Costing.