(56 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
| [[Others|Check Time]] || [https://sites.google.com/site/sqlestream/sql-payroll/7-time-attendance/7-07-checktime MVIT Solution] | | [[Others|Check Time]] || [https://sites.google.com/site/sqlestream/sql-payroll/7-time-attendance/7-07-checktime MVIT Solution] | ||
|- | |- | ||
| [[Others|ECOTimePrint]] || [ | | [[Others|ECOTimePrint]] || [http://www.ecotimeprint.com Eco Solution Technology] | ||
|- | |||
| [[Others|Invotime]] || [https://invocore.com.my/time-and-attendance Invocore Sdn Bhd] | |||
|} | |} | ||
Line 35: | Line 37: | ||
==Guideline & Example== | ==Guideline & Example== | ||
: There are | : There are 3 type of import | ||
:* Single File Import | :* Single File Import | ||
:* Batch File Import (Available in Version 1.2019.167.146 & above) | :* <del>Batch File Import (Available in Version 1.2019.167.146 & above)</del> | ||
: | :* Command Line Sync (Available in Version 1.2020.186.160 & above) | ||
===Single File Import=== | ===Single File Import=== | ||
Line 56: | Line 58: | ||
| | | | ||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | {| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | ||
! Example 1 - OT or Wages | ! Example 1 - OT or Wages (not applicable for version 192 & above) | ||
|- | |- | ||
| | | | ||
Line 89: | Line 91: | ||
| align="center" |'''Remarks''' | | align="center" |'''Remarks''' | ||
|- | |- | ||
| Date || Date || align="center" |0 || In dd/mm/ | | Date || Date || align="center" |0 || In dd/mm/yyyy format | ||
|- | |- | ||
| Employee || String || align="center" |30 || Employee Code/ID | | Employee || String || align="center" |30 || Employee Code/ID | ||
Line 97: | Line 99: | ||
| Unit || FMTBcd|| align="center" |8 || Time in rate eg 3 hr 15 min = 3.25 (3 + (15/60)) | | Unit || FMTBcd|| align="center" |8 || Time in rate eg 3 hr 15 min = 3.25 (3 + (15/60)) | ||
|- | |- | ||
| UnitAsTime || Time || align="center" |0 || In HH:MM format | | UnitAsTime || Time || align="center" |0 || | ||
* In HH:MM format | |||
* not applicable for version 192 & above | |||
|} | |} | ||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
====Leave==== | ====Leave==== | ||
{| style="margin: 1em auto 1em auto;" | {| style="margin: 1em auto 1em auto;" | ||
Line 140: | Line 145: | ||
| align="center" |'''Remarks''' | | align="center" |'''Remarks''' | ||
|- | |- | ||
| Date || Date || align="center" |0 || In dd/mm/ | | Date || Date || align="center" |0 || In dd/mm/yyyy format | ||
|- | |- | ||
| Employee || String || align="center" |30 || Employee Code/ID | | Employee || String || align="center" |30 || Employee Code/ID | ||
Line 165: | Line 170: | ||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
====Employee==== | ====Employee==== | ||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | {| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | ||
Line 281: | Line 287: | ||
| align="center" |'''Remarks''' | | align="center" |'''Remarks''' | ||
|- | |- | ||
| Date || Date || align="center" |0 || In dd/mm/ | | Date || Date || align="center" |0 || In dd/mm/yyyy format | ||
|- | |- | ||
| Employee || String || align="center" |30 || Employee Code/ID | | Employee || String || align="center" |30 || Employee Code/ID | ||
Line 328: | Line 334: | ||
| align="center" |'''Remarks''' | | align="center" |'''Remarks''' | ||
|- | |- | ||
| TransDate || Date || align="center" |0 || In dd/mm/ | | TransDate || Date || align="center" |0 || In dd/mm/yyyy format <br> | ||
Date of transaction <br> | Date of transaction <br> | ||
Default TransDate is same as PostDate | Default TransDate is same as PostDate | ||
|- | |- | ||
| PostDate || Date || align="center" |0 || In dd/mm/ | | PostDate || Date || align="center" |0 || In dd/mm/yyyy format <br> | ||
Date of Process Date<br> | Date of Process Date<br> | ||
Default PostDate is same as TransDate | Default PostDate is same as TransDate | ||
Line 350: | Line 356: | ||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
===Batch File Import=== | ===Batch File Import(Deprecated)=== | ||
: This function only Available in Version 1.2019.167.146 & above. | : This function only Available in Version 1.2019.167.146 & above. | ||
: All file should be in CSV also but need to be in 1 zip file. | : All file should be in CSV also but need to be in 1 zip file. | ||
Line 591: | Line 597: | ||
====Setting In SQL Payroll==== | ====Setting In SQL Payroll==== | ||
:An access token is required when the third party application calls data provider and data import commands. | :An access token is required when the third party application calls data provider and data import commands. | ||
[[File:SQLPayImp-02.jpg|center]] | |||
:01. Click Tools | Maintain User | :01. Click Tools | Maintain User | ||
:02. Double Click ADMIN user | :02. Double Click ADMIN user | ||
Line 599: | Line 606: | ||
====Data Provider (Export)==== | ====Data Provider (Export)==== | ||
: This command is to export data from SQL Payroll to Json file | : This command is to export data from SQL Payroll to Json file | ||
: [https://www.estream.com.my/downloadfile/Fairy/Example-SQLPay-Json.zip Sample Output - 20200914] | |||
[[File:SQLPayImp-01.jpg|center]] | |||
<pre> | <pre> | ||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "<id>" [-<param name> "<param value>"] -out "<json file>" | [SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "<id>" [-<param name> "<param value>"] -out "<json file>" | ||
Line 625: | Line 634: | ||
Command | Command | ||
<pre> | <pre> | ||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id | [SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "employee" -out "<json file>" | ||
</pre> | </pre> | ||
Example | Example | ||
Line 636: | Line 645: | ||
Command | Command | ||
<pre> | <pre> | ||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id | [SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "branch" -out "<json file>" | ||
</pre> | </pre> | ||
Example | Example | ||
Line 648: | Line 657: | ||
Command | Command | ||
<pre> | <pre> | ||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id | [SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "department" -out "<json file>" | ||
</pre> | </pre> | ||
Example | Example | ||
Line 660: | Line 669: | ||
Command | Command | ||
<pre> | <pre> | ||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id | [SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "hrgroup" -out "<json file>" | ||
</pre> | </pre> | ||
Example | Example | ||
Line 670: | Line 679: | ||
=====Maintain Category===== | =====Maintain Category===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "category" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "category" -out "c:\Users\Star\Desktop\category.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Project===== | =====Maintain Project===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "project" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "project" -out "c:\Users\Star\Desktop\project.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Job===== | =====Maintain Job===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "job" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "job" -out "c:\Users\Star\Desktop\job.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Task===== | =====Maintain Task===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "task" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "task" -out "c:\Users\Star\Desktop\task.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Leave Type===== | =====Maintain Leave Type===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leavetype" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leavetype" -out "c:\Users\Star\Desktop\leavetype.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Leave Group===== | =====Maintain Leave Group===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leavegroup" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leavegroup" -out "c:\Users\Star\Desktop\leavegroup.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Leave Application===== | =====Leave Application===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leave" -datefrom "<yyyy-mm-dd>" -dateto "<yyyy-mm-dd>" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leave" -datefrom "2020-01-01" -dateto "2020-12-31" -out "c:\Users\Star\Desktop\leave.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Wages===== | =====Maintain Wages===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "wages" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "wages" -out "c:\Users\Star\Desktop\wages.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Allowance===== | =====Maintain Allowance===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "allowance" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "allowance" -out "c:\Users\Star\Desktop\allowance.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Overtime===== | =====Maintain Overtime===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "overtime" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "overtime" -out "c:\Users\Star\Desktop\overtime.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Commission===== | =====Maintain Commission===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "commission" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "commission" -out "c:\Users\Star\Desktop\commission.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Claim===== | =====Maintain Claim===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "claim" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "claim" -out "c:\Users\Star\Desktop\claim.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====Maintain Deduction===== | =====Maintain Deduction===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "deduction" -out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "deduction" -out "c:\Users\Star\Desktop\deduction.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
=====PaySheet===== | =====PaySheet===== | ||
Command | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "paysheet" -year "<ProcessYear>" -month "<ProcessMonth>"-out "<json file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "paysheet" -year "2019" -month "1" -out "c:\Users\Star\Desktop\paysheet.json" | |||
</pre> | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
====Data Import==== | |||
: This command is to import data to SQL Payroll | |||
<pre> | |||
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataimport -in "<zip file>" | |||
</pre> | |||
Example | |||
<pre> | |||
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataimport -in "c:\Users\Star\Desktop\output.zip" | |||
</pre> | |||
:Each ZIP file can contains one or more data file, each data file is a JSON object that has id and data fields. | |||
<pre> | |||
{ | |||
"id":"", | |||
"data":[ | |||
] | |||
} | |||
</pre> | |||
=====Leave Application===== | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
!Fields Properties | |||
|- | |||
! Field Name !! Type !! Size !! (M)andatory/(O)ptional !! Description | |||
|- | |||
| code || String || 30 || align="center" | M || Employee Code | |||
|- | |||
| leavedate || date || || align="center" | M || | |||
* ISO 8601 Date Format (yyyy-mm-dd). | |||
* Example: "2020-09-08" | |||
|- | |||
| description || String || 160 || align="center" | O || Leave Description | |||
|- | |||
| leavetype || String || 20 || align="center" | M || Leave Type Code | |||
|- | |||
| leaveday || decimal || 18,8 || align="center" | O || Decimal in string. Example: "0.16666667" | |||
|- | |||
| leavedayastime || time || || align="center" | O || Time Format (hh:nn). Example: "01:20" | |||
|} | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
! Example | |||
|- | |||
| | |||
<pre> | |||
{ | |||
"id":"leave.application", | |||
"data":[ | |||
{ | |||
"code":"001", | |||
"leavedate":"2020-09-09", | |||
"description":"Attent Shopping event", | |||
"leavetype":"AL", | |||
"leaveday":"1" | |||
}, | |||
{ | |||
"code":"002", | |||
"leavedate":"2020-09-08", | |||
"leavetype":"AL", | |||
"leavedayastime":"01:20" | |||
} | |||
] | |||
} | |||
</pre> | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
=====Pending Wages, Overtime, Allowance & Deduction===== | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
!Fields Properties | |||
|- | |||
! Field Name !! Type !! Size !! (M)andatory/(O)ptional !! Description | |||
|- | |||
| postdate || date || || align="center" | M || | |||
* ISO 8601 Date Format (yyyy-mm-dd). | |||
* Example: "2020-09-08" | |||
|- | |||
| employee || String || 30 || align="center" | M || Employee Code | |||
|- | |||
| project || String || 20 || align="center" | O || Project Code | |||
|- | |||
| job || String || 20 || align="center" | O || Job Code | |||
|- | |||
| task || String || 20 || align="center" | O || Task Code | |||
|- | |||
| code || String || 20 || align="center" | M || | |||
* pending.wages => Wages Type Code | |||
* pending.overtime => Overtime Type Code | |||
* pending.allowance => Allowance Type Code | |||
* pending.deduction => Deduction Type Code | |||
|- | |||
| description || String || 160 || align="center" | O || Transaction Description | |||
|- | |||
| workunit || decimal || 18,8 || align="center" | O || Decimal in string. Example: "0.16666667" | |||
|- | |||
| workunitastime || time || || align="center" | O || Time Format (hh:nn). Example: "01:20" | |||
|} | |||
{| style="margin: 1em auto 1em auto;" | |||
|- | |||
| | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
! Example Pending Wages | |||
|- | |||
| | |||
<pre> | |||
{ | |||
"id":"pending.wages", | |||
"data":[ | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"001", | |||
"code":"DR01", | |||
"description":"aaa", | |||
"workunit":"1" | |||
}, | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"002", | |||
"code":"DR01", | |||
"workunitastime":"02:10" | |||
} | |||
] | |||
} | |||
</pre> | |||
|} | |||
|| | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
! Example Pending Overtime | |||
|- | |||
| | |||
<pre> | |||
{ | |||
"id":"pending.overtime", | |||
"data":[ | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"001", | |||
"code":"DR01", | |||
"description":"aaa", | |||
"workunit":"1" | |||
}, | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"002", | |||
"code":"DR01", | |||
"workunitastime":"02:10" | |||
} | |||
] | |||
} | |||
</pre> | |||
|} | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
=====Pending Claim===== | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
!Fields Properties | |||
|- | |||
! Field Name !! Type !! Size !! (M)andatory/(O)ptional !! Description | |||
|- | |||
| postdate || date || || align="center" | M || | |||
* ISO 8601 Date Format (yyyy-mm-dd). | |||
* Example: "2020-09-08" | |||
|- | |||
| employee || String || 30 || align="center" | M || Employee Code | |||
|- | |||
| project || String || 20 || align="center" | O || Project Code | |||
|- | |||
| job || String || 20 || align="center" | O || Job Code | |||
|- | |||
| task || String || 20 || align="center" | O || Task Code | |||
|- | |||
| code || String || 20 || align="center" | M || Claim Type Code | |||
|- | |||
| description || String || 160 || align="center" | O || Transaction Description | |||
|- | |||
| ref1 || string || 20 || align="center" | O || Claim Reference 1 | |||
|- | |||
| ref2 || string || 20 || align="center" | O || Claim Reference 2 | |||
|- | |||
| amount|| 18,2 || || align="center" | M || Claim Amount | |||
|} | |||
{| class="mw-collapsible mw-collapsed wikitable" style="margin: 1em auto 1em auto;" | |||
! Example | |||
|- | |||
| | |||
<pre> | |||
{ | |||
"id":"pending.claim", | |||
"data":[ | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"001", | |||
"description":"aaa", | |||
"amount":"1.12" | |||
}, | |||
{ | |||
"postdate":"2020-09-08", | |||
"employee":"001", | |||
"amount":"1.12" | |||
} | |||
] | |||
} | |||
</pre> | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | |||
====Appendix==== | |||
:Below are constants used in SQL Payroll | |||
=====Gender===== | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Value !! Description | |||
|- | |||
| align="center" | M || Male | |||
|- | |||
| align="center" | F || Female | |||
|} | |||
=====Married Status===== | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Value !! Description | |||
|- | |||
| align="center" | S || Single | |||
|- | |||
| align="center" | M || Married | |||
|- | |||
| align="center" | D || Divorced | |||
|- | |||
| align="center" | W || Widow | |||
|} | |||
=====SOCSO Type===== | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Value !! Description | |||
|- | |||
| align="center" | 0 || No SOCSO | |||
|- | |||
| align="center" | 1 || First Category | |||
|- | |||
| align="center" | 2 || Second Category | |||
|} | |||
=====EIS Type===== | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Value !! Description | |||
|- | |||
| align="center" | 0 || No EIS | |||
|- | |||
| align="center" | 1 || With EIS | |||
|} | |||
=====Leave Application Status===== | |||
{| class="wikitable" style="margin: 1em auto 1em auto;" | |||
|- | |||
! Value !! Description | |||
|- | |||
| align="center" | 0 || Pending | |||
|- | |||
| align="center" | 1 || Approved | |||
|- | |||
| align="center" | 2 || Rejected | |||
|- | |||
| align="center" | 3 || Cancelled | |||
|- | |||
| align="center" | 4 || Commiteed | |||
|} | |||
<div style="float: right;"> [[#top|[top]]]</div> | <div style="float: right;"> [[#top|[top]]]</div> | ||
Latest revision as of 03:23, 10 August 2023
Introduction
This function is to import Information/Data from other Software Data
Below is the list Data that we can Import from
Special Import
Standard Import
SQL Payroll Program
May get it from here
Modules Require
- For all import except UBS Payroll & AutoCount Payroll
- Data Import
Guideline & Example
- There are 3 type of import
- Single File Import
Batch File Import (Available in Version 1.2019.167.146 & above)- Command Line Sync (Available in Version 1.2020.186.160 & above)
Single File Import
- This guide is all import except UBS Payroll & AutoCount Payroll
- Just copy below example & paste to notepad & save it as CSV
Pros
- Column Field name can be free format
- No need to Hash File
Cons
- Need Manually Mapping the Column
- Manually Import individually
- Not secure cause user can change the file before import
Overtime & Wages
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
Date | Date | 0 | In dd/mm/yyyy format |
Employee | String | 30 | Employee Code/ID |
Code | String | 20 | Overtime or Wages Code |
Unit | FMTBcd | 8 | Time in rate eg 3 hr 15 min = 3.25 (3 + (15/60)) |
UnitAsTime | Time | 0 |
|
Leave
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
Date | Date | 0 | In dd/mm/yyyy format |
Employee | String | 30 | Employee Code/ID |
LeaveCode | String | 20 | Leave Code (Eg AL, MC, etc) |
Unit | FMTBcd | 8 | Day in rate eg 9 hr 20 min for 8 hr per day = 1.17 (((9+(20/60))/24)*(24/8)) |
UnitAsTime | Time | 0 | In HH:MM format |
|
Employee
Example 1 - Employee |
---|
"Code";"Name";"DOB";"Gender";"Salary";"Resident";"EISTYPE";"EISCATEGORY" |
Example 2 - Employee |
---|
CODE,NAME,NAME2,GENDER,DOB,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,PHONE1,PHONE2,MOBILE,EMAIL,NEWIC,OLDIC,PASSPORT,IMMIGRATIONNO,BRANCH,HRGROUP,DEPARTMENT,CATEGORY,PROJECT,JOB,TASK,COUNTRY,RACE,CALENDAR,JOBTITLE,JOINDATE,CONFIRMDATE,RESIGNDATE,MARITALSTATUS,ISACTIVE,WAGESTYPE,WAGES,CONTRIB,FREQUENCY,PAYMENTMETHOD,BANK,BANKACCNO,EPFNO,NK,INITIAL,SOCSONO,SOCSOTYPE,TAXBRANCH,TAXNO,DISABLED,RESIDENT,EASERIALNO,SPOUSENAME,SPOUSEADDRESS1,SPOUSEADDRESS2,SPOUSEADDRESS3,SPOUSEADDRESS4,SPOUSEPHONE1,SPOUSEPHONE2,SPOUSEMOBILE,SPOUSETAXBRANCH,SPOUSETAXNO,SPOUSEICNO,SPOUSEWORKING,SPOUSEDISABLED,LEAVEGROUP |
Table Fields Properties | |
---|---|
Field Name | Remarks |
Marital Status |
|
Socso Type |
|
EIS Type |
|
EIS Category |
|
Bank Code | Is Bank SWIFT Code
|
Allowance & Deduction
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
Date | Date | 0 | In dd/mm/yyyy format |
Employee | String | 30 | Employee Code/ID |
Code | String | 20 | Allowance or Deduction Code |
Unit | FMTBcd | 8 | Qty or Unit |
Claim
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
TransDate | Date | 0 | In dd/mm/yyyy format Date of transaction |
PostDate | Date | 0 | In dd/mm/yyyy format Date of Process Date |
Employee | String | 30 | Employee Code/ID |
Code | String | 20 | Claim Code |
Description | String | 100 | Claim Description (Optional) |
Ref1 | String | 20 | Claim Reference 1 (Optional) |
Ref2 | String | 20 | Claim Reference 2 (Optional) |
Amount | FMTBcd | 8 | Claim Amount |
Batch File Import(Deprecated)
- This function only Available in Version 1.2019.167.146 & above.
- All file should be in CSV also but need to be in 1 zip file.
- In Zip should had At least 2 file
- Transaction File (eg pending.overtime.csv)
- Hash File (eg pending.overtime.hash)
- Zip File Name can be any name you like
Pros
- 1 Button to import all the files
- No need to manually mapping the column
- Secure from changes by user cause file is Hash
Cons
- Need follow the column name given
Overtime & Wages
Transaction Type | File Name |
---|---|
Wages |
|
Overtime |
|
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
TransDate | Date | 0 | In dd/mm/yyyy or dd-mm-yyyy format Date of transaction |
PostDate | Date | 0 | In dd/mm/yyyy or dd-mm-yyyy format Date of Process Date |
Employee | String | 30 | Employee Code/ID |
Code | String | 20 | Overtime or Wages Code |
WorkUnit | FMTBcd | 8 | Time in rate eg 3 hr 15 min = 3.25 (3 + (15/60)) |
WorkUnitAsTime | Time | 0 | In HH:MM format |
Leave
File Name
- leave.application.csv
- leave.application.hash
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
Date | Date | 0 | In dd/mm/yyyy or dd-mm-yyyy format |
Code | String | 30 | Employee Code/ID |
LeaveType | String | 20 | Leave Code (Eg AL, MC, etc) |
Description | String | 80 | Leave Description |
LeaveDay | FMTBcd | 8 | Day in rate eg 9 hr 20 min for 8 hr per day = 1.17 (((9+(20/60))/24)*(24/8)) |
LeaveDayAsTime | Time | 0 | In HH:MM format |
|
Allowance & Deduction
Transaction Type | File Name |
---|---|
Allowance |
|
Deduction |
|
|
|
Table Fields Properties | |||
---|---|---|---|
Field Name | Field Type | Field Size | Remarks |
TransDate | Date | 0 | In dd/mm/yyyy or dd-mm-yyyy format Date of transaction |
PostDate | Date | 0 | In dd/mm/yyyy or dd-mm-yyyy format Date of Process Date |
Employee | String | 30 | Employee Code/ID |
Code | String | 20 | Allowance or Deduction Code |
WorkUnit | FMTBcd | 8 | Qty or Unit |
File Hash
- The Hash is using MD5
Steps
- 01. File Hash : Hash MD5 the whole file
- 02. File String Hash : Hash MD5 again using the result shown in MD5 in Step 1.
- 03. Save the result in Step 2 in .hash file
Example Using the Allowance Information as above
- 01. Result from File Hash : e83045758c13cb7c17ba8f2150919f36
- 02. Result from String Hash from Step 1 : 1b324dad30a84f322c23a1cdec481cc1
- 03. Save the Result in Step 2 in pending.allowance.hash file
Command Line Sync
- This function only Available in Version 1.2020.186.160 & above.
- This function can import and export file from/to SQL Payroll
Setting In SQL Payroll
- An access token is required when the third party application calls data provider and data import commands.
- 01. Click Tools | Maintain User
- 02. Double Click ADMIN user
- 03. Click More | Generate Access Token
- 04. Enter the ADMIN password
- 05. Save the Token File
Data Provider (Export)
- This command is to export data from SQL Payroll to Json file
- Sample Output - 20200914
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "<id>" [-<param name> "<param value>"] -out "<json file>"
Command | Description |
---|---|
[SQL Payroll bin folder Path] |
|
-token | A Code where generate |
-dataprovider | Indicator To export Data from SQL Payroll |
-id | Indicator type of Data to export |
[-<param name> "<param value>"] | Additional parameter for some id type |
-out | Json file folder & name to save to |
Maintain Employee
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "employee" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "employee" -out "c:\Users\Star\Desktop\employee.json"
Maintain Branch
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "branch" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "branch" -out "c:\Users\Star\Desktop\branch.json"
Maintain Department
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "department" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "department" -out "c:\Users\Star\Desktop\department.json"
Maintain HR Group
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "hrgroup" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "hrgroup" -out "c:\Users\Star\Desktop\hrgroup.json"
Maintain Category
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "category" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "category" -out "c:\Users\Star\Desktop\category.json"
Maintain Project
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "project" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "project" -out "c:\Users\Star\Desktop\project.json"
Maintain Job
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "job" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "job" -out "c:\Users\Star\Desktop\job.json"
Maintain Task
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "task" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "task" -out "c:\Users\Star\Desktop\task.json"
Maintain Leave Type
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leavetype" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leavetype" -out "c:\Users\Star\Desktop\leavetype.json"
Maintain Leave Group
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leavegroup" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leavegroup" -out "c:\Users\Star\Desktop\leavegroup.json"
Leave Application
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "leave" -datefrom "<yyyy-mm-dd>" -dateto "<yyyy-mm-dd>" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "leave" -datefrom "2020-01-01" -dateto "2020-12-31" -out "c:\Users\Star\Desktop\leave.json"
Maintain Wages
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "wages" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "wages" -out "c:\Users\Star\Desktop\wages.json"
Maintain Allowance
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "allowance" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "allowance" -out "c:\Users\Star\Desktop\allowance.json"
Maintain Overtime
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "overtime" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "overtime" -out "c:\Users\Star\Desktop\overtime.json"
Maintain Commission
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "commission" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "commission" -out "c:\Users\Star\Desktop\commission.json"
Maintain Claim
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "claim" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "claim" -out "c:\Users\Star\Desktop\claim.json"
Maintain Deduction
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "deduction" -out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "deduction" -out "c:\Users\Star\Desktop\deduction.json"
PaySheet
Command
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataprovider -id "paysheet" -year "<ProcessYear>" -month "<ProcessMonth>"-out "<json file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataprovider -id "paysheet" -year "2019" -month "1" -out "c:\Users\Star\Desktop\paysheet.json"
Data Import
- This command is to import data to SQL Payroll
[SQL Payroll bin folder Path]> sqlpay -token "<accesstoken>" -dataimport -in "<zip file>"
Example
C:\estream\SQL Payroll\bin>sqlpay -token "eyJ0eXAiOi..." -dataimport -in "c:\Users\Star\Desktop\output.zip"
- Each ZIP file can contains one or more data file, each data file is a JSON object that has id and data fields.
{ "id":"", "data":[ ] }
Leave Application
Fields Properties | ||||
---|---|---|---|---|
Field Name | Type | Size | (M)andatory/(O)ptional | Description |
code | String | 30 | M | Employee Code |
leavedate | date | M |
| |
description | String | 160 | O | Leave Description |
leavetype | String | 20 | M | Leave Type Code |
leaveday | decimal | 18,8 | O | Decimal in string. Example: "0.16666667" |
leavedayastime | time | O | Time Format (hh:nn). Example: "01:20" |
Example |
---|
{ "id":"leave.application", "data":[ { "code":"001", "leavedate":"2020-09-09", "description":"Attent Shopping event", "leavetype":"AL", "leaveday":"1" }, { "code":"002", "leavedate":"2020-09-08", "leavetype":"AL", "leavedayastime":"01:20" } ] } |
Pending Wages, Overtime, Allowance & Deduction
Fields Properties | ||||
---|---|---|---|---|
Field Name | Type | Size | (M)andatory/(O)ptional | Description |
postdate | date | M |
| |
employee | String | 30 | M | Employee Code |
project | String | 20 | O | Project Code |
job | String | 20 | O | Job Code |
task | String | 20 | O | Task Code |
code | String | 20 | M |
|
description | String | 160 | O | Transaction Description |
workunit | decimal | 18,8 | O | Decimal in string. Example: "0.16666667" |
workunitastime | time | O | Time Format (hh:nn). Example: "01:20" |
|
|
Pending Claim
Fields Properties | ||||
---|---|---|---|---|
Field Name | Type | Size | (M)andatory/(O)ptional | Description |
postdate | date | M |
| |
employee | String | 30 | M | Employee Code |
project | String | 20 | O | Project Code |
job | String | 20 | O | Job Code |
task | String | 20 | O | Task Code |
code | String | 20 | M | Claim Type Code |
description | String | 160 | O | Transaction Description |
ref1 | string | 20 | O | Claim Reference 1 |
ref2 | string | 20 | O | Claim Reference 2 |
amount | 18,2 | M | Claim Amount |
Example |
---|
{ "id":"pending.claim", "data":[ { "postdate":"2020-09-08", "employee":"001", "description":"aaa", "amount":"1.12" }, { "postdate":"2020-09-08", "employee":"001", "amount":"1.12" } ] } |
Appendix
- Below are constants used in SQL Payroll
Gender
Value | Description |
---|---|
M | Male |
F | Female |
Married Status
Value | Description |
---|---|
S | Single |
M | Married |
D | Divorced |
W | Widow |
SOCSO Type
Value | Description |
---|---|
0 | No SOCSO |
1 | First Category |
2 | Second Category |
EIS Type
Value | Description |
---|---|
0 | No EIS |
1 | With EIS |
Leave Application Status
Value | Description |
---|---|
0 | Pending |
1 | Approved |
2 | Rejected |
3 | Cancelled |
4 | Commiteed |
Things To Consider
- 01. The target database must had Valid
- - Employee Code
- - OT Code
- - Leave Code
- - Wages Code
- 02. File extention must be in csv (e.g. OT.csv)
- 03. The data in "Net Figure" (eg. OT WorkUnitAsTime := Logout Time - Login Time)
- 04. There is no display format for Amount/Qty (eg 1600.12 not 1,600.12)
- 05. There is no extra spacing at the Begin & End of data (eg Tes1,Test2 not Tes1 , Tes2 ,)
- 06. The data type which is Boolean (0 = False & 1 = True)
- 07. Must 1 Transaction type 1 file (i.e. Overtime 1 file & Leave 1 file)
- 08. The output can be export out in Day or Time but not both in same time
- 09. Make sure only export out relevant data (eg if OT = 0 or No leave taken don't export out)
- ----------------------------------------------------------------------------------------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------------------------------------------------------
- Need assistance? May email to support@sql.com.my
See also
- Others Customisation