version 1.12, 2020/12/03 14:17:39 |
version 1.17, 2021/06/04 03:09:50 |
|
|
.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 |
|
|
.Ar debit_column |
.Ar debit_column |
is omitted, amounts preceded by a minus sign or enclosed |
is omitted, amounts preceded by a minus sign or enclosed |
in parentheses are booked to the debit side. |
in parentheses are booked to the debit side. |
|
This rule is required in every configuration file. |
.It Ic COSTCENTER Ar costcenter_column |
.It Ic COSTCENTER Ar costcenter_column |
The column number in the CSV file containing the cost center. |
The column number in the CSV file containing the cost center. |
Numbering starts from 1. |
Numbering starts from 1. |
Line 110 This rule is required in every configuration file. |
|
Line 91 This rule is required in every configuration file. |
|
The column numbers in the CSV file to be concatenated to form the |
The column numbers in the CSV file to be concatenated to form the |
text string for the journal entry. |
text string for the journal entry. |
Numbering starts from 1. |
Numbering starts from 1. |
|
This rule is required in every configuration file. |
.It Ic DELIM Ar delimiter |
.It Ic DELIM Ar delimiter |
The character used to separate fields. |
The character used to separate fields. |
This rule is required in every configuration file. |
|
Most financial institutions use commas but some use semicolons. |
Most financial institutions use commas but some use semicolons. |
|
This rule is required in every configuration file. |
.It Ic HEADER Ar header |
.It Ic HEADER Ar header |
Skip the first line of the CSV file if it matches the |
Skip the first line of the CSV file if it matches the |
.Ar header |
.Ar header |
Line 130 securities is appended to the text string. |
|
Line 112 securities is appended to the text string. |
|
Expects that every field starts and ends with the |
Expects that every field starts and ends with the |
.Ar quote |
.Ar quote |
character. |
character. |
.It Ar selector account_number booking_identifier |
.It Ar selector account_number booking_identifier Op Ar subaccount |
Lines in the CSV file that match the |
Lines in the CSV file that match the |
.Ar selector |
.Ar selector |
are associated with the contra account |
are associated with the contra account |
.Ar account_number |
.Ar account_number , |
|
the optional |
|
.Ar subaccount , |
and are assigned the |
and are assigned the |
.Ar booking_identifier . |
.Ar booking_identifier . |
The selector is a string consisting of regular expressions separated |
The selector is a string consisting of regular expressions separated |
by delimiters defined in the |
by delimiters defined in the |
.Ic DELIM |
.Ic DELIM |
rule. |
rule. |
|
These rules appear after all other rule types. |
.El |
.El |
.Sh FILES |
.Sh FILES |
Example configuration files: |
Example configuration files: |
Line 169 Example CSV files: |
|
Line 154 Example CSV files: |
|
.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 1 , |
.Xr pta-accounts 5 , |
.Xr pta-accounts 5 , |
.Xr pta-journal 5 , |
.Xr pta-journal 5 , |
.Xr pta-glossary 7 |
.Xr pta-glossary 7 |
Line 335 has the following limitations: |
|
Line 180 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 |