# Paychex payroll importer for Beancount 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. ## Usage See a demo with: java -jar import-x.x.x-standalone.jar --demo Provide your own payroll data with: 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 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 ## Development Run tests with: bin/test You can run without building using: 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`. ## Build To build, run: bin/build This will output a JAR file like `target/import-x.x.x-standalone.jar`.