Monday, August 31, 2020

Debian Buster: build and install ZJ-5802 Portable Bluetooth Thermal Receipt Printer 58 mm

 

Install CUPS configurator

# apt-get install  system-config-printer

Installing ZJ-5802 Portable Bluetooth Thermal Receipt Printer driver

  1. install requirements
    # apt install build-essential cmake libcups2-dev libcupsimage2-dev
    wait, it takes some times.
  2. Download code (by click 'Code') from https://github.com/klirichek/zj-58
  3. create directory
    $ mkdir zj58master
  4. copy file
    $ cp zj-58-master.zip zj58master/
  5. extract
    $ cd zj58master/
    $ unzip zj-58-master.zip
  6. move to extraced folder
    $ cd zj-58-master/
  7. create directory to build source
    $ mkdir build
  8. move to build directory
    $ cd build/
  9. run cmake from source i.e. /home/[your_user_name]/Downloads/zj58master/zj-58-master
    $ cmake /home/dedetok/Downloads/zj58master/zj-58-master
  10. install as root from folder /home/[your_user_name]/Downloads/zj58master/zj-58-master/build
    # make install
  11. if there is no failure, you can configure your CUPS

Configure CUPS

  1. Applications -> Settings -> Print Settings
  2. Unlock printer
  3. Add (sign '+ ADD') Printer
  4. Select Device
        Devices: Unknown (Printer)
        Connection: USB
    click Forward
  5. Choose driver
        Select printer from database: Zijiang
    click Forward
        Models: Zj-58
        Drivers: Zijiang Zj-58 [en] (recommended)
    click Forward
        Leave blank on options (i.e. Cash Drawer 1, Cash Drawer 2, and Cutter. My model does not have these hardware)
    click Forward
  6. click Apply
  7. Print test page
  8. Your printer should be run properly

Reference:
https://github.com/klirichek/zj-58

odoo 13: point of sale (clean install)

First time you open odoo http://localhost:8069/web/database/selector, you need to create database for your store

Database Name    : castore
Email    : <your valid email>
Password    : ****
Phone number    :
Language    :English
Country    : Indonesia

Note: Default buildin user is "Administrator".

Note: you can select Language Indonesia if you wish
It takes sometime to complete, depend on your hardware. In my small laptop Asus Eee PC 1215B RAM 8GB, it takes about 2-3 minutes.

Configure Preferences
go to Administrator (drop down) -> Preferences
Timezone    : Asia/Jakarta
and save.

Configure your company (store),
go to Settings -> Users & Companies -> Companies -> My Company -> Edit
Company Name    : <your company/store>
Currency    : IDR
and Save.

Add Apps, go to Apps
Apps -> Point of Sale -> Install (will install Inventory and Invoicing)
Apps -> Sales -> Install

Configure products
Inventory -> Master Data -> Products -> Create
Product Name    : lacquer isamu 250 gram
    Can be Sold
    Can be Purchased
General Information
    Product Type    : Storable Product
    Product Category    : All
    Sales Price    : 30000
    Cost    : 20000
To add picture/icon, at camera icon click Edit
Then click On Hand -> Create
On Hand Quantity    : 10000
and Save.
Edit your previous product (i.e. lacquer isamu 250 gram)
Point of Sale
    Available in POS: checked
    Category -> Create and Edit
        Category Name: iron putty
        Parent Category: <blank>
        and save.
and save.


Try your Point of Sale
Point of Sale -> New Session
lacquer isamu 250 gram
change Qty (quantity) to 2.
change Price to 25000
make Payment -> Cash
Tendered: 60000
Validate and you can print reciept.

Done. You can now add more products to sell.
 

Reference:
https://www.planet-odoo.com/odoo-13-point-of-sale-a-complete-guide-to-point-of-sales-features-payments-pricing/

Wednesday, August 26, 2020

odoo 13: install on Debian 10.5

Install PostgreSQL
# apt-get install postgresql

Install package wkhtmltopdf
# apt-get install wkhtmltopdf

Install package python3-xlwt
# apt-get install python3-xlwt

Install package python3-num2words
# apt-get install python3-num2words

Add odoo 13 repository and install
1. download repository key and install
# wget https://nightly.odoo.com/odoo.key
# apt-key add odoo.key
2. add odoo 13 to /etc/apt/sources.list
...
# odoo
deb http://nightly.odoo.com/13.0/nightly/deb/ ./
3. update your repository
# apt-get update
4. install odoo 13
# apt-get install odoo

My complete /etc/apt/sources.list
# security
deb http://security.debian.org/debian-security buster/updates main

# main
deb http://kartolo.sby.datautama.net.id/debian/ buster main

# non free
deb http://httpredir.debian.org/debian buster main contrib non-free

# backport
deb http://ftp.debian.org/debian buster-backports main

# odoo
deb http://nightly.odoo.com/13.0/nightly/deb/ ./

Note: nightly build will release everyday, If you don't need to update it daily, you may comment out odoo in /etc/apt/sources.list.

After finish, you can open your odoo using firefox http://localhost:8069/.

Reference:
https://www.odoo.com/documentation/13.0/setup/install.html

Monday, August 24, 2020

Dolibarr ERP 12: Configure your TakePOS for small retail

Start your company
Home -> Setup -> Company/Organization
Tab Company
    Name is mandatory
    Country is mandatory
    Sales Tax Management for small company choose "Sales tax is not used"
Tab Opening hours
    Monday - Sunday for example 7-12 13-16 means open from 7am, at 12pm, close at 16pm.

Enabling module Financial Modules (Accounting/Treasury) -> Banks & Cash
After enable, from Top Bar go to Banks | Cash
Create New financial account
    Ref.: cash0001
    Bank or cash label: Cash
    Account type: Cash Account
    Currency: Indonesia
    Status: Open
    Account country: Indonesia
    Initial balance: 5000000

Enabling module Customer Relationship Management (CRM) -> Third Parties
After enable, from Top Bar go to Third Parties.
Create Third-party (New Customer)
    Third-party name: "Unknown 3rd party"
    Prospect / Customer: "Customer"
Create Contacts/Addresses
    Last name / Label: "Unknown Customer"
    Third-party: "Unknown 3rd party"

Enabling module
    Product Management (PM) -> Prodcuts
    Product Management (PM) -> Stocks
    Multi-modules tools -> Tags/categories
After enable, from Top Bar go to Products.
New warehouse
    Ref.: local
    Short name location: local001
New product
    Ref.: Isamu_Lacquer_1_4kg
    Label: Isamu Lacquer 1/4kg
    Status (Sell): For sale
    Status (Purchase): For purchase
    Default warehouse: local
    Nature of product (material/finished):  Manufactured product
    Selling price: 25000
    Min. sell price: 23000
    Tag/categories: dempul besi (modify from Product -> Tags/Category)
and save.
List or Stocks -> choose Isamu_Lacquer_1_4kg -> tab Stock -> Correct Stock
    Warehouse: local
    Number of untis: 50
    Unit Purchase price: 21000
and save.

TakePOS
Enabling module Websites and other frontal application -> TakePOS
After enable, click icon setting.
In Parameters, Enabling Simple
Enable:
    Group VAT by rate in tickets|receipts
    Group same products lines
    Use payment icon on numpad
    Direct cash payment button
    Control cash box at opening pos
and Save.
in tab Terminal 1
    Default generic third party to use for sales: "Unknown 3rd Party"
    Default account to use to receive cash payments: Cash
and Save.

To start TakePOS, from Top Bar go to POS -> Start and Save

Sunday, August 23, 2020

Membuat Presensi/Absensi sekolah secara sederhana

 Login ke google melalui browser.

Siapkan google drive untuk menyimpan presensi:

  1. buka https://drive.google.com/drive/my-drive
  2. pilih "New" -> "Folder"
  3. masukan nama folder misalnya "presensi" -> "CREATE"

Membuat google form untuk presensi:

  1. dari google drive, buka folder yang baru yang dibuat (folder presensi)
  2. klik "New" -> "More" -> "Google Forms" -> "Blank form"
  3. ganti judul "Untitle form" menjadi "Presensi/Absensi"
  4. ganti "Untitle Questions" menjadi "kelas"
  5. rubah "Multiple Choice" menjadi "Dropdown"
  6. aktifkan "Required"
  7. tambahkan question melalui icon "+" -> "Add question"
  8. isi question dengan "tanggal"
  9. rubah "Multiple choice" dengan "Date"
  10. aktifkan "Required"
  11. tambahkan question melalui icon "+" -> "Add question"
  12. isi question dengan "nama"
  13. rubah "Multiple choice" dengan "Short Answer"
  14. aktifkan "Required"

(Opsional) Konfigurasi form presensi/absensi:

  1. 1. klik tombol settings (disamping tombol "Send")
  2. 2. Collect email address
  3. 3. Bila presensi/absensi akan dibuat per pertemuan dan siswa hanya bisa absen 1 kali, aktifkan opsi "Limit to 1 response"

Google form anda telah siap dan tersimpan di google driver folder "presensi" dengan nama "Presensi/Absensi" 

Untuk mengirimkan google form tersebut, buka google form presensi yang telah dibuat, lalu klik "Send" dan pilih link. Copy link yang akan dishare ke group whatsapp atau peserta lainnya.

Folder presensi tersebut dapat dishare ke guru/admin sekolah untuk dicopy (dibutuhkan akun google dari guru/admin).