2024-02-21 23:11:07 +00:00
|
|
|
# Paychex payroll importer for Beancount
|
|
|
|
|
2024-02-22 03:06:45 +00:00
|
|
|
The aim of this tool is to automate the monthly task of transcribing payroll CSV
|
|
|
|
information for Conservancy's 8 (currently) employees into ~ 300 lines of fairly
|
|
|
|
intricate Beancount bookkeeping data.
|
|
|
|
|
2024-03-15 03:06:54 +00:00
|
|
|
|
2024-02-21 23:11:07 +00:00
|
|
|
## Usage
|
|
|
|
|
2024-03-15 06:17:41 +00:00
|
|
|
See a demo with:
|
2024-02-21 23:11:07 +00:00
|
|
|
|
2024-03-15 06:17:41 +00:00
|
|
|
java -jar import-x.x.x-standalone.jar --demo
|
2024-02-21 23:11:07 +00:00
|
|
|
|
2024-03-15 06:17:41 +00:00
|
|
|
Provide your own payroll data with:
|
2024-02-21 23:11:07 +00:00
|
|
|
|
2024-03-15 06:17:41 +00:00
|
|
|
java -jar import-x.x.x-standalone.jar --csv resources/example-paychex-pay-item-details.csv --total-fees 206.50
|
|
|
|
|
|
|
|
In the above, various values such as the date, time period covered and
|
|
|
|
receipt/invoice values will be replace with "TODO" placeholders. You can
|
|
|
|
alternatively provide any/all of these explicitly:
|
|
|
|
|
|
|
|
java -jar import-x.x.x-standalone.jar --csv resources/example-paychex-pay-item-details.csv --date 2023-12-29 --period 'December 2023' --total-fees 206.50 --pay-receipt-no rt:19462/674660 --pay-invoice-no rt:19403/675431 --fees-receipt-no rt:19459/675387 --fees-invoice-no rt:19459/674887 --retirement-receipt-no rt:19403/676724 --retirement-invoice-no rt:19403/675431
|
2024-02-22 03:29:50 +00:00
|
|
|
|
|
|
|
You can test the output in Beancount by adding the following header entries to define the accounts:
|
|
|
|
|
|
|
|
2023-01-01 open Assets:FR:Check2721
|
|
|
|
2023-01-01 open Assets:FR:Check1345
|
|
|
|
2023-01-01 open Expenses:Payroll:Salary
|
|
|
|
2023-01-01 open Expenses:Payroll:Fees
|
|
|
|
2023-01-01 open Expenses:Payroll:Tax
|
|
|
|
2023-01-01 open Expenses:Hosting
|
|
|
|
2023-01-01 open Expenses:Insurance
|
|
|
|
2023-01-01 open Liabilities:Payable:Accounts
|
|
|
|
|
|
|
|
Then run Beancount with:
|
|
|
|
|
|
|
|
bean-report [your file] balances
|
2024-02-21 23:11:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
## Development
|
|
|
|
|
2024-02-22 03:06:45 +00:00
|
|
|
Run tests with:
|
|
|
|
|
2024-03-15 03:06:54 +00:00
|
|
|
bin/test
|
2024-02-22 03:06:45 +00:00
|
|
|
|
2024-02-22 01:43:32 +00:00
|
|
|
You can run without building using:
|
|
|
|
|
2024-03-15 03:06:54 +00:00
|
|
|
bin/dev --csv resources/example-paychex-pay-item-details.csv --total-fees 206.50
|
|
|
|
|
|
|
|
The project is set up for development in Emacs and CIDER-mode. Open a source
|
|
|
|
file and run `cider-jack-in`.
|
2024-02-22 01:43:32 +00:00
|
|
|
|
2024-02-21 23:11:07 +00:00
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
To build, run:
|
|
|
|
|
2024-03-15 03:06:54 +00:00
|
|
|
bin/build
|
|
|
|
|
|
|
|
This will output a JAR file like `target/import-x.x.x-standalone.jar`.
|