From 27b4ff13ed468c062a0597a32e70f14d1bb3521c Mon Sep 17 00:00:00 2001 From: Adam Gagorik Date: Sat, 3 Aug 2024 20:08:00 -0400 Subject: [PATCH] Add example config files --- cfgs/.gitignore | 6 + cfgs/allocate.yaml | 7 + cfgs/costco-split.txt | 39 ++++ cfgs/extract-pdf-lifeatford.yml | 225 ++++++++++++++++++++++ cfgs/extract-pdf-paylocity.yml | 320 ++++++++++++++++++++++++++++++++ 5 files changed, 597 insertions(+) create mode 100644 cfgs/.gitignore create mode 100644 cfgs/allocate.yaml create mode 100644 cfgs/costco-split.txt create mode 100644 cfgs/extract-pdf-lifeatford.yml create mode 100644 cfgs/extract-pdf-paylocity.yml diff --git a/cfgs/.gitignore b/cfgs/.gitignore new file mode 100644 index 0000000..8fb28d5 --- /dev/null +++ b/cfgs/.gitignore @@ -0,0 +1,6 @@ +* +!.gitignore +!allocate.yaml +!costco-split.txt +!extract-pdf-paylocity.yml +!extract-pdf-lifeatford.yml \ No newline at end of file diff --git a/cfgs/allocate.yaml b/cfgs/allocate.yaml new file mode 100644 index 0000000..182d418 --- /dev/null +++ b/cfgs/allocate.yaml @@ -0,0 +1,7 @@ +- { label: 'TOTAL', optimal_ratio: 100, current_value: 6000, amount_to_add: 8000, children: ['regex::.*'] } +- { label: 'VIGAX', optimal_ratio: 22, current_value: 1000, amount_to_add: 0, children: [] } +- { label: 'VVIAX', optimal_ratio: 28, current_value: 1000, amount_to_add: 0, children: [] } +- { label: 'VMGMX', optimal_ratio: 10, current_value: 1000, amount_to_add: 0, children: [] } +- { label: 'VMVAX', optimal_ratio: 15, current_value: 1000, amount_to_add: 0, children: [] } +- { label: 'VSGAX', optimal_ratio: 10, current_value: 1000, amount_to_add: 0, children: [] } +- { label: 'VSIAX', optimal_ratio: 15, current_value: 1000, amount_to_add: 0, children: [] } diff --git a/cfgs/costco-split.txt b/cfgs/costco-split.txt new file mode 100644 index 0000000..8eaa157 --- /dev/null +++ b/cfgs/costco-split.txt @@ -0,0 +1,39 @@ +split -a 24.99 -p Costco -C Misc -d Dad=1 -c Adam=1 +tax -r 0.07 +split -a 16.39 -p Costco -C Misc -d Doug=1 -c Adam=1 +tax -r 0.07 +split -a 19.89 -p Costco -C Misc -d Doug=1 -c Adam=1 +tax -r 0.07 +split -a 21.49 -p Costco -C Misc -d Doug=1 -c Adam=1 +tax -r 0.07 +split -a 18.49 -p Costco -C Misc -d Doug=1 -c Adam=1 +split -a 5.99 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 10.49 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 19.99 -p Costco -C Clothes -d Adam=1 -c Adam=1 +split -a 14.99-3.00 -p Costco -C Clothes -d Adam=1 -c Adam=1 +split -a 16.99 -p Costco -C Clothes -d Adam=1 -c Adam=1 +split -a 22.49 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 4.79 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 4.79 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 11.89-3.50 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 16.49 -p Costco -C Misc -d Dad=1 -c Adam=1 +tax -r 0.07 +split -a 12.99 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 4.99 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 13.29 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 10.99 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 8.99 -p Costco -C Misc -d Dad=1 -c Adam=1 +split -a 26.11 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 8.99 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 8.99 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 8.97 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 17.59 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 17.99-3.60 -p Costco -C Laundry -d Adam=1 -c Adam=1 +tax -r 0.07 +split -a 10.99 -p Costco -C Food -d Adam=1 -c Adam=1 +split -a 22.99-5.00 -p Costco -C Kitchen -d Adam=1 -c Adam=1 +tax -r 0.07 +split -a 26.99 -p Costco -C Laundry -d Adam=1 -c Adam=1 +tax -r 0.07 +split -a 9.99 -p Costco -C Food -d Adam=1 -c Adam=1 +summarize diff --git a/cfgs/extract-pdf-lifeatford.yml b/cfgs/extract-pdf-lifeatford.yml new file mode 100644 index 0000000..c930a7b --- /dev/null +++ b/cfgs/extract-pdf-lifeatford.yml @@ -0,0 +1,225 @@ +######################################################################################################################## +# Regular Expressions defined for date like values +######################################################################################################################## +dates: + Force Date: + value: |- + 2024-09-01 + + Check Date: + regex: |- + (?P\d\d\d\d-\d\d-\d\d) + +######################################################################################################################## +# Regular Expressions defined for money like values +######################################################################################################################## +amounts: + Salary: + group: EARNINGS + inflow: true + regex: |- + BASE\s+SALARY\s+ + (?P{AMOUNT}) + + Award: + group: EARNINGS + inflow: true + regex: |- + PRIZE\s+AWARD\s+ + (?P{AMOUNT}) + + TOTAL-EARNINGS: + group: EARNINGS + inflow: true + total: true + regex: |- + TOTAL\s+GROSS\s+ + (?P{AMOUNT}) + + FITW: + group: TAXES + regex: |- + FEDERAL\s+ + (?P{AMOUNT}) + + MED: + group: TAXES + regex: |- + MEDICARE\s+ + (?P{AMOUNT}) + + PA: + group: TAXES + regex: |- + PENNSYLVANIA\s+ + (?P{AMOUNT}) + + PASUI-E: + group: TAXES + regex: |- + STATE\sU\.\s?C\.\s+ + (?P{AMOUNT}) + + SS: + group: TAXES + regex: |- + FICA\s+ + (?P{AMOUNT}) + + 401K: + group: DEDUCTIONS + regex: |- + SSIP\s+PRE-TAX\s+ + (?P{AMOUNT}) + + TERM: + group: DEDUCTIONS + regex: |- + GPLIFE\s+IMPUTED\s+ + (?P{AMOUNT}) + + HSA: + group: DEDUCTIONS + regex: |- + HSA\s+DEDUCTION\s+ + (?P{AMOUNT}) + + Vision: + group: DEDUCTIONS + regex: |- + VISION\s+CARE\s+ + (?P{AMOUNT}) + + Dental: + group: DEDUCTIONS + regex: |- + DENTAL\s+ + (?P{AMOUNT}) + + TOTAL-DEDUCTIONS: + total: true + group: DEDUCTIONS + regex: |- + TOTAL\s+DEDEUCTIONS\s+ + (?P{AMOUNT}) + + TOTAL-DEPOSITS: + group: DEPOSITS + inflow: true + total: true + regex: |- + NET\sPAY\s + (?P{AMOUNT}) + +######################################################################################################################## +# Transactions to push to a YNAB budget (these may reference the matches defined above) +######################################################################################################################## +transactions: +- budget: 2024 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : Income' + memo: '2024' + color: blue + amount: FITW + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : MED/EE' + memo: '2024' + color: blue + amount: MED + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Taxes: State' + payee: 'USA : Income' + memo: '2024 : PA' + color: blue + amount: PA + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Insurance: Unemployment' + payee: PA + memo: + color: blue + amount: PASUI-E + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : OSAD/EE' + memo: 2024 + color: blue + amount: SS + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Insurance: Life' + payee: Gaurdian + memo: + color: blue + amount: TERM + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Insurance: Life' + payee: Gaurdian + memo: + color: red + amount: TERM + date: Force Date + factor: -1 + +- budget: 2024 + account: 'PNC : Spend' + category: 'Internal Master Category: Inflow: Ready to Assign' + payee: Ford + memo: 2024 + color: red + amount: Salary + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Investment: Alight' + payee: 'Transfer : Alight : 401k' + memo: 2024 + color: yellow + amount: 401K + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Investment: HSA' + payee: 'Transfer : Alight : HSA' + memo: 2024 + color: yellow + amount: HSA + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Insurance: Vision' + payee: 'Davis Vision' + memo: + color: blue + amount: Vision + date: Force Date + +- budget: 2024 + account: 'PNC : Spend' + category: 'Insurance: Dental' + payee: 'Delta Dental' + memo: + color: blue + amount: Dental + date: Force Date diff --git a/cfgs/extract-pdf-paylocity.yml b/cfgs/extract-pdf-paylocity.yml new file mode 100644 index 0000000..c626e4a --- /dev/null +++ b/cfgs/extract-pdf-paylocity.yml @@ -0,0 +1,320 @@ +######################################################################################################################## +# Regular Expressions defined for date like values +######################################################################################################################## +dates: + Force Date: + value: |- + 2023-11-01 + + Check Date: + regex: |- + Check\s+Date\s+(?P{MONTHS}\s+\d+,?\s+\d\d\d\d) + + Period Beginning: + regex: |- + Period\s+Beginning\s+(?P{MONTHS}\s+\d+,?\s+\d\d\d\d) + + Period Ending: + regex: |- + Period\s+Ending\s+(?P{MONTHS}\s+\d+,?\s+\d\d\d\d) + +######################################################################################################################## +# Regular Expressions defined for money like values +######################################################################################################################## +amounts: + 401K Match: + group: EARNINGS + inflow: true + regex: |- + 401K\s+MAT\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + Bonus: + group: EARNINGS + inflow: true + regex: |- + BONUS\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT})\s+ + + Referral: + group: EARNINGS + inflow: true + regex: |- + Referral\s+B\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + Group Term: + group: EARNINGS + inflow: true + regex: |- + GROUP\s+TE\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + Salary: + group: EARNINGS + inflow: true + regex: |- + REGULAR\s+ + (?P{NUMBER})\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + TOTAL-EARNINGS: + group: EARNINGS + inflow: true + total: true + regex: |- + Gross\s+Earnings\s+ + (?P{NUMBER})\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + FITW: + group: TAXES + regex: |- + FITW\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + MED: + group: TAXES + regex: |- + MED\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + PA: + group: TAXES + regex: |- + PA\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + PA-LOCAL: + group: TAXES + regex: |- + PA-700102\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + PA-PITF: + group: TAXES + regex: |- + PA-PITF\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + PASUI-E: + group: TAXES + regex: |- + PASUI-E\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + SS: + group: TAXES + regex: |- + SS\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + TOTAL-TAXES: + total: true + group: TAXES + regex: |- + Taxes\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + 401K: + group: DEDUCTIONS + regex: |- + 401K\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + TERM: + group: DEDUCTIONS + regex: |- + GROUP\s+TERM\s+LIFE\s+-\s+FLAT\s+AM\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + HSA: + group: DEDUCTIONS + regex: |- + Health\s+Spending\s+Acco\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + WFH: + group: DEDUCTIONS + inflow: true + regex: |- + WFH\s+Reimb\s+ + -(?P{AMOUNT})\s+ + -(?P{AMOUNT}) + + TOTAL-DEDUCTIONS: + total: true + group: DEDUCTIONS + regex: |- + Deductions\s+ + (?P{AMOUNT})\s+ + (?P{AMOUNT}) + + TOTAL-DEPOSITS: + group: DEPOSITS + inflow: true + total: true + regex: |- + Total\s+Direct\s+Deposits\s+ + (?P{AMOUNT}) + +######################################################################################################################## +# Transactions to push to a YNAB budget (these may reference the matches defined above) +######################################################################################################################## +transactions: +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : Income' + memo: '2023' + color: blue + amount: FITW + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : MED/EE' + memo: '2023' + color: blue + amount: MED + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: State' + payee: 'USA : Income' + memo: '2023 : PA' + color: blue + amount: PA + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: Local' + payee: 'USA : Income' + memo: '2023 : PA - 700102' + color: blue + amount: PA-LOCAL + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: State' + payee: 'USA : Income' + memo: PA-PITF + color: blue + amount: PA-PITF + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Insurance: Unemployment' + payee: PA + memo: + color: blue + amount: PASUI-E + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Taxes: Federal' + payee: 'USA : OSAD/EE' + memo: 2023 + color: blue + amount: SS + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Insurance: Life' + payee: Gaurdian + memo: + color: blue + amount: TERM + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Insurance: Life' + payee: Gaurdian + memo: + color: red + amount: Group Term + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Internal Master Category: Inflow: Ready to Assign' + payee: Syapse + memo: 2023 + color: red + amount: Salary + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Investment: Fidelity' + payee: 'Transfer : Fidelity : Syapse' + memo: 2023 + color: yellow + amount: 401K + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Investment: HSA' + payee: 'Transfer : Navia : HSA' + memo: 2023 + color: yellow + amount: HSA + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Internal Master Category: Inflow: Ready to Assign' + payee: Syapse + memo: Stipend + color: red + amount: WFH + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Internal Master Category: Inflow: Ready to Assign' + payee: Syapse + memo: Bonus + color: red + amount: Bonus + date: Force Date + +- budget: 2023 + account: 'PNC : Spend' + category: 'Internal Master Category: Inflow: Ready to Assign' + payee: Syapse + memo: Bonus + color: red + amount: Referral + date: Force Date