Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmedraafat14/payroll-dates-generator
Small command-line utility to generate csv file for a year salaries/bonus payment dates
https://github.com/ahmedraafat14/payroll-dates-generator
composer csv csv-writer oop oop-examples oop-in-php php7 php74
Last synced: about 2 months ago
JSON representation
Small command-line utility to generate csv file for a year salaries/bonus payment dates
- Host: GitHub
- URL: https://github.com/ahmedraafat14/payroll-dates-generator
- Owner: AhmedRaafat14
- Created: 2020-02-06T14:35:18.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-02-06T14:55:09.000Z (almost 5 years ago)
- Last Synced: 2023-11-30T17:57:31.167Z (about 1 year ago)
- Topics: composer, csv, csv-writer, oop, oop-examples, oop-in-php, php7, php74
- Language: PHP
- Size: 3.91 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# Payroll Dates Generator
##### This is console utility that generate CSV file (for now) has the payroll for a whole year salary and bonus payment dates.
## The problem:
* Sales staff get a regular monthly fixed base salary and a monthly bonus.
* The base salaries are paid on the last day of the month unless that day is a Saturday or
a Sunday (weekend).
* On the 15th of every month bonuses are paid for the previous month, unless that day is
a weekend. In that case, they are paid the first Wednesday after the 15th.
* The output of the utility should be a CSV file, containing the payment dates for the
remainder of this year. The CSV file should contain a column for the month, a column that contains the salary payment date for that month, and a column that contains the bonus payment date.## Requirements:
* PHP >= 7.4
* composer## Usage:
> Please, make sure first that is the `bin` file has the correct permissions, you can run the following command to be sure:
```cmd
$ chmod +x bin
```* First run composer:
```cmd
$ composer update
```* To generate CSV file for the current year payroll, open your terminal and type:
```cmd
$ ./bin --salary-sheet --generate
```
> This will generate csv file under `result/` folder with name `2020_salaryAndBonusPaymentDays.csv`.* If you want to generate it for specific year, just update the command to:
```cmd
$ ./bin --salary-sheet --generate --year=2019
```* If you want to use specific CSV file name then update the command to:
```cmd
$ ./bin --salary-sheet --generate --sheet-name=payroll_for_year_2020
```* If you want the generated file to be located in specific directory then update the command to:
```cmd
$ ./bin --salary-sheet --generate --sheet-path=payroll
```
**NOTE:** if the provided directory not exist it will create it.**You can as well combine more than one option for the command**