-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
24 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,29 @@ | ||
# Process CSV reports | ||
|
||
The processing script `process_report.py` takes in the monthly invoices and goes through several processing and exporting steps: | ||
1. Combines all provided invoices (more info below) | ||
2. Obtain each PI's institution name | ||
3. Exports the list of non-billable projects (more info below) | ||
4. Apply the New PI credit | ||
5. Exports the billable projects as one csv, by PI, for HU PIs only, for HU and BU PIs, and for projects with Lenovo SU Types | ||
|
||
The CSV invoices must at least contain the following headers: | ||
- Invoice Month | ||
- Project - Allocation | ||
- Manager (PI) | ||
- Institution | ||
- SU Hours (GBhr or SUhr) | ||
- SU Type | ||
- Cost | ||
|
||
``` | ||
usage: process_report.py [-h] --pi-file PI_FILE --projects-file PROJECTS_FILE --timed-projects-file TIMED_PROJECTS_FILE [--output-file OUTPUT_FILE] | ||
[--output-folder OUTPUT_FOLDER] [--HU-invoice-file HU_INVOICE_FILE] [--HU-BU-invoice-file HU_BU_INVOICE_FILE] [--old-pi-file OLD_PI_FILE] | ||
csv_files [csv_files ...] | ||
process_report.py: error: the following arguments are required: csv_files, --pi-file, --projects-file, --timed-projects-file | ||
E.g. python process_report.py test1.csv test2.csv --pi-file pi.txt --projects-file projects.txt --timed-projects-file timed_projects.txt --output-file myfile.csv | ||
``` | ||
## Non-Billable | ||
|
||
Automates the process of removing non-billable PIs and projects from the supplied csv report. | ||
|
@@ -33,16 +57,6 @@ [email protected],project bar,2023-09,2024-08,Internal | |
The script will gather the invoice month from the csv reports and if it falls under the start and end date then those projects will be excluded. | ||
In this example, `project foo` will not be billed for September 2023 and August 2024 and all the months in between for total of 1 year. | ||
|
||
The CSV report must have the headers `Manager (PI)'` and `Project - Allocation'`. | ||
|
||
``` | ||
usage: process_report.py [-h] --pi-file PI_FILE --projects-file PROJECTS_FILE --timed-projects-file TIMED_PROJECTS_FILE [--output-file OUTPUT_FILE] | ||
csv_files [csv_files ...] | ||
process_report.py: error: the following arguments are required: csv_files, --pi-file, --projects-file, --timed-projects-file | ||
E.g. python process_report.py test1.csv test2.csv --pi-file pi.txt --projects-file projects.txt --timed-projects-file timed_projects.txt --output-file myfile.csv | ||
``` | ||
|
||
## Combine CSVs | ||
|
||
This script also combines the 3 separate Invoice data CSVs into 1 Invoice CSV. It combines | ||
|