---
# System prepended metadata

title: Update fitur multi Cabang - POS WEB

---

# Update fitur multi Cabang - POS WEB

## Redesign schema

### auth

- table **auth_tenant**:
    - jika `is_multi_store=TRUE` = multi_cabang
- table **auth_user**:
    - tambahkan kolom `cabang_id` reference m_cabang(id)
    - jika auth_tenant.is_multi_store = true, maka setiap user harus mempunyai `cabang_id`
    - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL
- table **m_gudang**
    - menambahkan kolom `cabang_id`
    - jika auth_tenant.is_multi_store = true, maka setiap gudang harus mempunyai `cabang_id`
    - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL
        
### master data
- menambahkan table baru **m_item_harga_cabang**:
```
    tenant_id character(36) NOT NULL references auth_tenant(id),
    cabang_id character(36) COLLATE references m_cabang(id),
    id character varying(36) NOT NULL primary key,
    item_id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    satuan_id character varying(36) COLLATE pg_catalog."default" NOT NULL,
    qty_max bigint DEFAULT 999999999,
    harga1 numeric(18,2) DEFAULT 0,
    created_by character varying(100) COLLATE pg_catalog."default",
    created_at timestamp with time zone DEFAULT now(),
    updated_by character varying(100) COLLATE pg_catalog."default",
    updated_at timestamp with time zone,
    is_deleted boolean DEFAULT false,
    harga2 numeric(18,2) DEFAULT 0,
    harga3 numeric(18,2) DEFAULT 0,
    harga4 numeric(18,2) DEFAULT 0,
```
- m_item_harga_promo
- 
### penjualan
- table **ar_inv**
    - menambahkan kolom `cabang_id`
    - jika auth_tenant.is_multi_store = true, maka setiap penjualan harus mempunyai `cabang_id`
    - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL
- table **billing**
    - menambahkan kolom `cabang_id`
    - jika auth_tenant.is_multi_store = true, maka setiap billing harus mempunyai `cabang_id`
    - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL
- table 

### pembelian
- table **ap_inv**
    - menambahkan kolom `cabang_id`
    - jika `auth_tenant.is_multi_store = true`, maka setiap pembelian harus mempunyai `cabang_id`
    - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL
- table **ap_payment**
    - menambahkan kolom `cabang_id`
    - jika `auth_tenant.is_multi_store = true`, maka setiap pembelian harus mempunyai `cabang_id`
    - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL

### persediaan
- table **mutasi_item**
    - menambahkan kolom `cabang_id`
    - jika `auth_tenant.is_multi_store = true`, maka setiap mutasi harus mempunyai `cabang_id`
    - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL
- table **transfer**
    - menambahkan kolom `cabang_id`
    - jika `auth_tenant.is_multi_store = true`, maka setiap transfer harus mempunyai `cabang_id`
    - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL
