version 1.11, 2020/11/30 17:45:34 |
version 1.14, 2020/12/11 20:00:27 |
|
|
.Ar file |
.Ar file |
argument is omitted, standard input is read instead. |
argument is omitted, standard input is read instead. |
.Pp |
.Pp |
|
The |
.Ar accountname |
.Ar accountname |
is exactly one of |
argument corresponds to an existing |
.Pp |
|
.Bl -bullet -offset indent -compact |
|
.It |
|
.Cm bbva_usa |
|
.It |
|
.Cm capital_one_360 |
|
.It |
|
.Cm capital_one_credit |
|
.It |
|
.Cm chase_credit |
|
.It |
|
.Cm etrade_ira |
|
.It |
|
.Cm optum_hsa |
|
.It |
|
.Cm sparkasse_camt |
|
.It |
|
.Cm wellsfargo |
|
.El |
|
.Pp |
|
and corresponds to an existing |
|
.Pa ./import/ Ns Ar accountname Ns Pa .txt |
.Pa ./import/ Ns Ar accountname Ns Pa .txt |
configuration file. |
configuration file. |
.Ss Configuration file format |
.Ss Configuration file format |
Line 143 by delimiters defined in the |
|
Line 123 by delimiters defined in the |
|
rule. |
rule. |
.El |
.El |
.Sh FILES |
.Sh FILES |
.Bl -tag -width Ds -compact |
Example configuration files: |
|
.Bl -tag -offset indent -width Ds -compact |
.It Pa ./import/bbva_usa.txt |
.It Pa ./import/bbva_usa.txt |
.It Pa ./import/capital_one_360.txt |
.It Pa ./import/capital_one_360.txt |
.It Pa ./import/capital_one_credit.txt |
.It Pa ./import/capital_one_credit.txt |
|
|
.It Pa ./import/wellsfargo.txt |
.It Pa ./import/wellsfargo.txt |
.El |
.El |
.Pp |
.Pp |
These files contain the header that the financial institution uses, the |
Example CSV files: |
account number from |
.Bl -tag -offset indent -width Ds -compact |
.Pa ./accounts.txt |
.It Pa ./csv/bbva_usa.csv |
used by this account, as well as patterns used to map transactions to |
.It Pa ./csv/capital_one_360.csv |
the correct account and booking identifier. |
.It Pa ./csv/capital_one_credit.csv |
|
.It Pa ./csv/chase_credit.csv |
|
.It Pa ./csv/etrade_ira.csv |
|
.It Pa ./csv/optum_hsa.csv |
|
.It Pa ./csv/wellsfargo.csv |
|
.El |
.Sh EXIT STATUS |
.Sh EXIT STATUS |
.Ex -std |
.Ex -std |
.Sh EXAMPLES |
.Sh EXAMPLES |
Add journal entries to a journal file using a CSV file generated by |
Add journal entries to a journal file using a CSV file generated by |
a financial institution: |
a financial institution, and a configuration file |
|
.Pa ./import/my_bank.txt : |
.Pp |
.Pp |
.Dl "$ pta_import -I chase_credit chasedownload.csv >> journal.txt" |
.Dl "$ pta_import -I my_bank downloaded.csv >> journal.txt" |
.Ss Account numbers in the configuration file |
|
The line |
|
.Pp |
.Pp |
.Dl ACCOUNT 3235 |
The result of applying a configuration file |
.Pp |
of the form |
in the configuration file corresponds to a line such as |
.Pa ./import/accountname.txt |
.Pp |
to the corresponding CSV file |
.Dl 3235 L Capital One credit card |
.Pa ./csv/accountname.csv |
.Pp |
may be seen in |
in |
.Pa ./regress/import/expected/accountname.out . |
.Pa ./accounts.txt . |
|
.Pp |
|
The description |
|
.Qq Capital One credit card |
|
may vary, but in this example, the account numbers |
|
.Qq 3235 |
|
match, and the account type is |
|
.Qq L |
|
to indicate that it is a liability account. |
|
.Ss Patterns in the configuration file |
|
Suppose |
|
.Pp |
|
.Dl ,,,Automotive,,, 1111 AUTO |
|
.Pp |
|
is a sample entry in the |
|
.Pa ./import/chase_credit.txt |
|
file which uses headers of the form |
|
.Pp |
|
.Dl Transaction Date,Post Date,Description,Category,Type,Amount |
|
.Pp |
|
Then this |
|
.Ar selector |
|
ignores the transaction date, post date, description, type, and amount. |
|
It matches the |
|
.Qq Automotive |
|
category and maps transactions to account |
|
.Qq 1111 |
|
defined in |
|
.Pa ./accounts.txt |
|
with the |
|
.Qq Auto |
|
booking identifier. |
|
.Ss A sample credit card purchase |
|
If |
|
.Pa chasedownload.csv |
|
file contains |
|
.Pp |
|
.Dl "10/26/2020,10/26/2020,example.com*asldfkj,Shopping,Sale,-17.07" |
|
.Pp |
|
and |
|
.Pa ./import/chase_credit.txt |
|
contains |
|
.Bd -literal -offset Ds |
|
ACCOUNT 3234 |
|
,,,Shopping,,, 9996 SHOP |
|
.Ed |
|
.Pp |
|
and |
|
.Pa ./accounts.txt |
|
contains |
|
.Bd -literal -offset Ds |
|
3234 L Chase credit card |
|
9996 X shopping |
|
.Ed |
|
.Pp |
|
then the |
|
.Qq Shopping |
|
category defined by Chase is mapped to the user's |
|
.Qq SHOP |
|
booking identifier, the user's account for shopping |
|
expenses is defined as |
|
.Qq 9996 |
|
in their |
|
.Pa ./accounts.txt , |
|
the user's account for the credit card is 3234 in their |
|
.Pa ./accounts.txt , |
|
and |
|
.Nm |
|
prints |
|
.Pp |
|
.Dl "20201026 SHOP 9996 3234 17.07 example.com*asldfkj" |
|
.Ss A complete example |
|
Suppose |
|
.Pa ./accounts.txt |
|
is given by |
|
.Bd -literal |
|
1700 A My Bank |
|
3234 L My Chase Credit Card |
|
5102 X Physician expenses |
|
5103 X Dental expenses |
|
5203 X Shopping |
|
.Ed |
|
.Pp |
|
and |
|
.Pa chasedownload.csv |
|
is given by |
|
.Bd -literal |
|
Transaction Date,Post Date,Description,Category,Type,Amount,Memo |
|
11/06/2020,11/09/2020,Dr. Joseph Schmoe,Health & Wellness,Sale,-100.00, |
|
11/06/2020,11/09/2020,Dr. Sally Sue,Health & Wellness,Sale,-183.00, |
|
11/08/2020,11/08/2020,example.com,Shopping,Sale,-53.83, |
|
11/04/2020,11/04/2020,Payment Thank You - Web,,Payment,75.43, |
|
.Ed |
|
.Pp |
|
and |
|
.Pa ./import/chase_credit.txt |
|
is given by |
|
.Bd -literal |
|
# Chase credit card header is |
|
# Transaction Date,Post Date,Description,Category,Type,Amount |
|
# The format of this file is |
|
# selector account_number booking_identifier |
|
# selector is a comma-separated list of regular expressions which |
|
# matches corresponding fields in the CSV file |
|
ACCOUNT 3234 |
|
,,,Automotive,,, 1111 AUTO |
|
,,,Bills & Utilities,,, 2222 BILLS |
|
,,,Fees & Adjustments,,, 3333 FEES |
|
,,,Food & Drink,,, 4444 FOOD |
|
,,,Gas,,, 5555 GAS |
|
,,,Gifts & Donations,,, 6666 GIFTS |
|
,,,Groceries,,, 7777 GROCERIES |
|
,,Dr. Sally Sue,,,, 5103 DENTAL |
|
,,,Health & Wellness,,, 5102 PHYSICIAN |
|
,,,Home,,, 9999 HOME |
|
,,,Personal,,, 9998 PERSONAL |
|
,,,Professional Services,,, 9997 PRO |
|
,,,Shopping,,, 5203 SHOP |
|
,,,,Payment,, 1700 PAY |
|
.Ed |
|
.Pp |
|
Then |
|
.Pp |
|
.Dl pta_import -I chase_credit chasedownload.csv |
|
.Pp |
|
outputs |
|
.Bd -literal |
|
20201109 PHYSICIAN 5102 3234 100.00 Dr. Joseph Schmoe |
|
20201109 DENTAL 5103 3234 183.00 Dr. Sally Sue |
|
20201108 SHOP 5203 3234 53.83 example.com |
|
20201104 PAY 3234 1700 75.43 Payment Thank You - Web |
|
.Ed |
|
.Pp |
|
Note that the selector for Dr\&. Sally Sue |
|
in the example configuration file comes before the |
|
Health & Wellness selector. |
|
Since the first match wins, transactions for Dr\&. Sally Sue |
|
can be classified with the DENTAL booking identifier, |
|
even though the bank's CSV file classifies |
|
these transactions as Health & Wellness. |
|
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr pta-accounts 5 , |
.Xr pta-accounts 5 , |
.Xr pta-journal 5 , |
.Xr pta-journal 5 , |
Line 329 has the following limitations: |
|
Line 174 has the following limitations: |
|
Pattern recognition in the |
Pattern recognition in the |
.Pa import/accountname.txt |
.Pa import/accountname.txt |
files is under continued development. |
files is under continued development. |
.It |
|
User-defined configuration files are not currently |
|
supported. |
|
.El |
.El |