hledger-lib 1.20.1 → 1.20.2
raw patch · 14 files changed
+542/−549 lines, 14 filesdep −parsecPVP ok
version bump matches the API change (PVP)
Dependencies removed: parsec
API changes (from Hackage documentation)
Files
- CHANGES.md +6/−3
- hledger-lib.cabal +2/−5
- hledger_csv.5 +5/−5
- hledger_csv.info +226/−222
- hledger_csv.txt +7/−5
- hledger_journal.5 +21/−23
- hledger_journal.info +220/−225
- hledger_journal.txt +25/−25
- hledger_timeclock.5 +5/−5
- hledger_timeclock.info +3/−8
- hledger_timeclock.txt +7/−5
- hledger_timedot.5 +5/−5
- hledger_timedot.info +3/−8
- hledger_timedot.txt +7/−5
CHANGES.md view
@@ -1,14 +1,17 @@ Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. -# 1.20.1 2020-12-15+# 1.20.2 2020-12-28 -- renamed: updateReportSpecFromOpts -> updateReportSpec[With]+- Fix the info manuals' node structure. +- Drop unused parsec dependency. -# 1.20 2020-12-05+# 1.20.1 2020-12-15 +- renamed: updateReportSpecFromOpts -> updateReportSpec[With] +# 1.20 2020-12-05 - added: journalApplyAliases, transactionApplyAliases, postingApplyAliases
hledger-lib.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: ca5acbb51137f6a05e911a261649e99feab3663ce6e1c4616d29245938828f40+-- hash: f99ed8ff188d98ffb43ea739b382591b37b4e66b2adbabc5345e75d4e8e69a56 name: hledger-lib-version: 1.20.1+version: 1.20.2 synopsis: A reusable library providing the core functionality of hledger description: A reusable library containing hledger's core functionality. This is used by most hledger* packages so that they support the same@@ -133,7 +133,6 @@ , megaparsec >=7.0.0 && <9.1 , mtl >=2.2.1 , old-time- , parsec >=3 , parser-combinators >=0.4.0 , pretty-simple >4 && <5 , regex-tdfa@@ -185,7 +184,6 @@ , megaparsec >=7.0.0 && <9.1 , mtl >=2.2.1 , old-time- , parsec >=3 , parser-combinators >=0.4.0 , pretty-simple >4 && <5 , regex-tdfa@@ -239,7 +237,6 @@ , megaparsec >=7.0.0 && <9.1 , mtl >=2.2.1 , old-time- , parsec >=3 , parser-combinators >=0.4.0 , pretty-simple >4 && <5 , regex-tdfa
hledger_csv.5 view
@@ -1,12 +1,12 @@ .\"t -.TH "hledger_csv" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals"+.TH "HLEDGER_CSV" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals" .SH NAME .PP-CSV - how hledger reads CSV data, and the CSV rules file format+How hledger reads CSV data, and the CSV rules file format. .SH DESCRIPTION .PP hledger can read CSV files (Character Separated Value - usually comma,@@ -1295,6 +1295,6 @@ Released under GNU GPL v3 or later. .SH SEE ALSO-hledger(1), hledger\-ui(1), hledger\-web(1),-hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),-ledger(1)+hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)++hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)
hledger_csv.info view
@@ -3,10 +3,10 @@ File: hledger_csv.info, Node: Top, Next: EXAMPLES, Up: (dir) -hledger_csv(5) hledger 1.20.1-*****************************+hledger_csv(5)+************** -CSV - how hledger reads CSV data, and the CSV rules file format+How hledger reads CSV data, and the CSV rules file format. hledger can read CSV files (Character Separated Value - usually comma, semicolon, or tab) containing dated records as if they were@@ -60,37 +60,11 @@ * Menu: * EXAMPLES::-* Basic::-* Bank of Ireland::-* Amazon::-* Paypal:: * CSV RULES::-* skip::-* fields::-* field assignment::-* separator::-* if block::-* if table::-* end::-* date-format::-* decimal-mark::-* newest-first::-* include::-* balance-type:: * TIPS::-* Rapid feedback::-* Valid CSV::-* File Extension::-* Reading multiple CSV files::-* Valid transactions::-* Deduplicating importing::-* Setting amounts::-* Setting currency/commodity::-* Referencing other fields::-* How CSV rules are evaluated:: -File: hledger_csv.info, Node: EXAMPLES, Next: Basic, Prev: Top, Up: Top+File: hledger_csv.info, Node: EXAMPLES, Next: CSV RULES, Prev: Top, Up: Top 1 EXAMPLES **********@@ -99,11 +73,18 @@ collection at: https://github.com/simonmichael/hledger/tree/master/examples/csv +* Menu:++* Basic::+* Bank of Ireland::+* Amazon::+* Paypal::+ -File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Prev: EXAMPLES, Up: Top+File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Up: EXAMPLES -2 Basic-*******+1.1 Basic+========= At minimum, the rules file must identify the date and amount fields, and often it also specifies the date format and how many header lines there@@ -125,10 +106,10 @@ Default account names are chosen, since we didn't set them. -File: hledger_csv.info, Node: Bank of Ireland, Next: Amazon, Prev: Basic, Up: Top+File: hledger_csv.info, Node: Bank of Ireland, Next: Amazon, Prev: Basic, Up: EXAMPLES -3 Bank of Ireland-*****************+1.2 Bank of Ireland+=================== Here's a CSV with two amount fields (Debit and Credit), and a balance field, which we can use to add balance assertions, which is not@@ -178,10 +159,10 @@ imported into a journal file. -File: hledger_csv.info, Node: Amazon, Next: Paypal, Prev: Bank of Ireland, Up: Top+File: hledger_csv.info, Node: Amazon, Next: Paypal, Prev: Bank of Ireland, Up: EXAMPLES -4 Amazon-********+1.3 Amazon+========== Here we convert amazon.com order history, and use an if block to generate a third posting if there's a fee. (In practice you'd probably@@ -236,10 +217,10 @@ expenses:fees $1.00 -File: hledger_csv.info, Node: Paypal, Next: CSV RULES, Prev: Amazon, Up: Top+File: hledger_csv.info, Node: Paypal, Prev: Amazon, Up: EXAMPLES -5 Paypal-********+1.4 Paypal+========== Here's a real-world rules file for (customised) Paypal CSV, with some Paypal-specific rules, and a second rules file included:@@ -390,19 +371,34 @@ expenses:banking:paypal $0.59 ; business: -File: hledger_csv.info, Node: CSV RULES, Next: skip, Prev: Paypal, Up: Top+File: hledger_csv.info, Node: CSV RULES, Next: TIPS, Prev: EXAMPLES, Up: Top -6 CSV RULES+2 CSV RULES *********** The following kinds of rule can appear in the rules file, in any order. Blank lines and lines beginning with '#' or ';' are ignored. +* Menu:++* skip::+* fields::+* field assignment::+* separator::+* if block::+* if table::+* end::+* date-format::+* decimal-mark::+* newest-first::+* include::+* balance-type::+ -File: hledger_csv.info, Node: skip, Next: fields, Prev: CSV RULES, Up: Top+File: hledger_csv.info, Node: skip, Next: fields, Up: CSV RULES -7 'skip'-********+2.1 'skip'+========== skip N @@ -415,10 +411,10 @@ ignore certain CSV records (described below). -File: hledger_csv.info, Node: fields, Next: field assignment, Prev: skip, Up: Top+File: hledger_csv.info, Node: fields, Next: field assignment, Prev: skip, Up: CSV RULES -8 'fields'-**********+2.2 'fields'+============ fields FIELDNAME1, FIELDNAME2, ... @@ -457,8 +453,8 @@ File: hledger_csv.info, Node: Transaction field names, Next: Posting field names, Up: fields -8.1 Transaction field names-===========================+2.2.1 Transaction field names+----------------------------- 'date', 'date2', 'status', 'code', 'description', 'comment' can be used to form the transaction's first line.@@ -466,8 +462,8 @@ File: hledger_csv.info, Node: Posting field names, Prev: Transaction field names, Up: fields -8.2 Posting field names-=======================+2.2.2 Posting field names+------------------------- * Menu: @@ -480,8 +476,8 @@ File: hledger_csv.info, Node: account, Next: amount, Up: Posting field names -8.2.1 account--------------+2.2.2.1 account+............... 'accountN', where N is 1 to 99, causes a posting to be generated, with that account name.@@ -498,8 +494,8 @@ File: hledger_csv.info, Node: amount, Next: currency, Prev: account, Up: Posting field names -8.2.2 amount-------------+2.2.2.2 amount+.............. 'amountN' sets posting N's amount. If the CSV uses separate fields for inflows and outflows, you can use 'amountN-in' and 'amountN-out'@@ -525,8 +521,8 @@ File: hledger_csv.info, Node: currency, Next: balance, Prev: amount, Up: Posting field names -8.2.3 currency---------------+2.2.2.3 currency+................ If the CSV has the currency symbol in a separate field (ie, not part of the amount field), you can use 'currencyN' to prepend it to posting N's@@ -535,8 +531,8 @@ File: hledger_csv.info, Node: balance, Next: comment, Prev: currency, Up: Posting field names -8.2.4 balance--------------+2.2.2.4 balance+............... 'balanceN' sets a balance assertion amount (or if the posting amount is left empty, a balance assignment) on posting N.@@ -550,8 +546,8 @@ File: hledger_csv.info, Node: comment, Prev: balance, Up: Posting field names -8.2.5 comment--------------+2.2.2.5 comment+............... Finally, 'commentN' sets a comment on the Nth posting. Comments can also contain tags, as usual.@@ -559,10 +555,10 @@ See TIPS below for more about setting amounts and currency. -File: hledger_csv.info, Node: field assignment, Next: separator, Prev: fields, Up: Top+File: hledger_csv.info, Node: field assignment, Next: separator, Prev: fields, Up: CSV RULES -9 field assignment-******************+2.3 field assignment+==================== HLEDGERFIELDNAME FIELDVALUE @@ -584,10 +580,10 @@ referencing other fields. -File: hledger_csv.info, Node: separator, Next: if block, Prev: field assignment, Up: Top+File: hledger_csv.info, Node: separator, Next: if block, Prev: field assignment, Up: CSV RULES -10 'separator'-**************+2.4 'separator'+=============== You can use the 'separator' rule to read other kinds of character-separated data. The argument is any single separator@@ -609,10 +605,10 @@ inferred automatically, and you won't need this rule. -File: hledger_csv.info, Node: if block, Next: if table, Prev: separator, Up: Top+File: hledger_csv.info, Node: if block, Next: if table, Prev: separator, Up: CSV RULES -11 'if' block-*************+2.5 'if' block+============== if MATCHER RULE@@ -639,8 +635,8 @@ File: hledger_csv.info, Node: Matching the whole record, Next: Matching individual fields, Up: if block -11.1 Matching the whole record-==============================+2.5.1 Matching the whole record+------------------------------- Each MATCHER can be a record matcher, which looks like this: @@ -662,8 +658,8 @@ File: hledger_csv.info, Node: Matching individual fields, Next: Combining matchers, Prev: Matching the whole record, Up: if block -11.2 Matching individual fields-===============================+2.5.2 Matching individual fields+-------------------------------- Or, MATCHER can be a field matcher, like this: @@ -676,8 +672,8 @@ File: hledger_csv.info, Node: Combining matchers, Next: Rules applied on successful match, Prev: Matching individual fields, Up: if block -11.3 Combining matchers-=======================+2.5.3 Combining matchers+------------------------ A single matcher can be written on the same line as the "if"; or multiple matchers can be written on the following lines, non-indented.@@ -693,8 +689,8 @@ File: hledger_csv.info, Node: Rules applied on successful match, Prev: Combining matchers, Up: if block -11.4 Rules applied on successful match-======================================+2.5.4 Rules applied on successful match+--------------------------------------- After the patterns there should be one or more rules to apply, all indented by at least one space. Three kinds of rule are allowed in@@ -719,10 +715,10 @@ comment XXX deductible ? check it -File: hledger_csv.info, Node: if table, Next: end, Prev: if block, Up: Top+File: hledger_csv.info, Node: if table, Next: end, Prev: if block, Up: CSV RULES -12 'if' table-*************+2.6 'if' table+============== if,CSVFIELDNAME1,CSVFIELDNAME2,...,CSVFIELDNAMEn MATCHER1,VALUE11,VALUE12,...,VALUE1n@@ -780,10 +776,10 @@ 2020/01/12.*Plumbing LLC,expenses:house:upkeep,emergency plumbing call-out -File: hledger_csv.info, Node: end, Next: date-format, Prev: if table, Up: Top+File: hledger_csv.info, Node: end, Next: date-format, Prev: if table, Up: CSV RULES -13 'end'-********+2.7 'end'+========= This rule can be used inside if blocks (only), to make hledger stop reading this CSV file and move on to the next input file, or to command@@ -794,10 +790,10 @@ end -File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: Top+File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: CSV RULES -14 'date-format'-****************+2.8 'date-format'+================= date-format DATEFMT @@ -825,10 +821,10 @@ https://hackage.haskell.org/package/time/docs/Data-Time-Format.html#v:formatTime -File: hledger_csv.info, Node: decimal-mark, Next: newest-first, Prev: date-format, Up: Top+File: hledger_csv.info, Node: decimal-mark, Next: newest-first, Prev: date-format, Up: CSV RULES -15 'decimal-mark'-*****************+2.9 'decimal-mark'+================== decimal-mark . @@ -843,10 +839,10 @@ misparsed numbers. -File: hledger_csv.info, Node: newest-first, Next: include, Prev: decimal-mark, Up: Top+File: hledger_csv.info, Node: newest-first, Next: include, Prev: decimal-mark, Up: CSV RULES -16 'newest-first'-*****************+2.10 'newest-first'+=================== hledger always sorts the generated transactions by date. Transactions on the same date should appear in the same order as their CSV records,@@ -865,10 +861,10 @@ newest-first -File: hledger_csv.info, Node: include, Next: balance-type, Prev: newest-first, Up: Top+File: hledger_csv.info, Node: include, Next: balance-type, Prev: newest-first, Up: CSV RULES -17 'include'-************+2.11 'include'+============== include RULESFILE @@ -879,19 +875,19 @@ # someaccount.csv.rules -# someaccount-specific rules+## someaccount-specific rules fields date,description,amount account1 assets:someaccount account2 expenses:misc -# common rules+## common rules include categorisation.rules -File: hledger_csv.info, Node: balance-type, Next: TIPS, Prev: include, Up: Top+File: hledger_csv.info, Node: balance-type, Prev: include, Up: CSV RULES -18 'balance-type'-*****************+2.12 'balance-type'+=================== Balance assertions generated by assigning to balanceN are of the simple '=' type by default, which is a single-commodity, subaccount-excluding@@ -911,16 +907,29 @@ ==* multi commodity, include subaccounts -File: hledger_csv.info, Node: TIPS, Next: Rapid feedback, Prev: balance-type, Up: Top+File: hledger_csv.info, Node: TIPS, Prev: CSV RULES, Up: Top -19 TIPS-*******+3 TIPS+****** +* Menu:++* Rapid feedback::+* Valid CSV::+* File Extension::+* Reading multiple CSV files::+* Valid transactions::+* Deduplicating importing::+* Setting amounts::+* Setting currency/commodity::+* Referencing other fields::+* How CSV rules are evaluated::+ -File: hledger_csv.info, Node: Rapid feedback, Next: Valid CSV, Prev: TIPS, Up: Top+File: hledger_csv.info, Node: Rapid feedback, Next: Valid CSV, Up: TIPS -20 Rapid feedback-*****************+3.1 Rapid feedback+================== It's a good idea to get rapid feedback while creating/troubleshooting CSV rules. Here's a good way, using entr from@@ -934,10 +943,10 @@ output. -File: hledger_csv.info, Node: Valid CSV, Next: File Extension, Prev: Rapid feedback, Up: Top+File: hledger_csv.info, Node: Valid CSV, Next: File Extension, Prev: Rapid feedback, Up: TIPS -21 Valid CSV-************+3.2 Valid CSV+============= hledger accepts CSV conforming to RFC 4180. When CSV values are enclosed in quotes, note:@@ -946,10 +955,10 @@ * spaces outside the quotes are not allowed -File: hledger_csv.info, Node: File Extension, Next: Reading multiple CSV files, Prev: Valid CSV, Up: Top+File: hledger_csv.info, Node: File Extension, Next: Reading multiple CSV files, Prev: Valid CSV, Up: TIPS -22 File Extension-*****************+3.3 File Extension+================== To help hledger identify the format and show the right error messages, CSV/SSV/TSV files should normally be named with a '.csv', '.ssv' or@@ -966,10 +975,10 @@ See also: Input files in the hledger manual. -File: hledger_csv.info, Node: Reading multiple CSV files, Next: Valid transactions, Prev: File Extension, Up: Top+File: hledger_csv.info, Node: Reading multiple CSV files, Next: Valid transactions, Prev: File Extension, Up: TIPS -23 Reading multiple CSV files-*****************************+3.4 Reading multiple CSV files+============================== If you use multiple '-f' options to read multiple CSV files at once, hledger will look for a correspondingly-named rules file for each CSV@@ -977,10 +986,10 @@ used for all the CSV files. -File: hledger_csv.info, Node: Valid transactions, Next: Deduplicating importing, Prev: Reading multiple CSV files, Up: Top+File: hledger_csv.info, Node: Valid transactions, Next: Deduplicating importing, Prev: Reading multiple CSV files, Up: TIPS -24 Valid transactions-*********************+3.5 Valid transactions+====================== After reading a CSV file, hledger post-processes and validates the generated journal entries as it would for a journal file - balancing@@ -996,10 +1005,10 @@ $ hledger -f file.csv print | hledger -f- print -File: hledger_csv.info, Node: Deduplicating importing, Next: Setting amounts, Prev: Valid transactions, Up: Top+File: hledger_csv.info, Node: Deduplicating importing, Next: Setting amounts, Prev: Valid transactions, Up: TIPS -25 Deduplicating, importing-***************************+3.6 Deduplicating, importing+============================ When you download a CSV file periodically, eg to get your latest bank transactions, the new file may overlap with the old one, containing some@@ -1026,10 +1035,10 @@ * https://plaintextaccounting.org -> data import/conversion -File: hledger_csv.info, Node: Setting amounts, Next: Setting currency/commodity, Prev: Deduplicating importing, Up: Top+File: hledger_csv.info, Node: Setting amounts, Next: Setting currency/commodity, Prev: Deduplicating importing, Up: TIPS -26 Setting amounts-******************+3.7 Setting amounts+=================== A posting amount can be set in one of these ways: @@ -1055,10 +1064,10 @@ * If an amount value begins with a plus sign, that will be removed -File: hledger_csv.info, Node: Setting currency/commodity, Next: Referencing other fields, Prev: Setting amounts, Up: Top+File: hledger_csv.info, Node: Setting currency/commodity, Next: Referencing other fields, Prev: Setting amounts, Up: TIPS -27 Setting currency/commodity-*****************************+3.8 Setting currency/commodity+============================== If the currency/commodity symbol is included in the CSV's amount field(s):@@ -1103,10 +1112,10 @@ that would trigger the prepending effect, which we don't want here. -File: hledger_csv.info, Node: Referencing other fields, Next: How CSV rules are evaluated, Prev: Setting currency/commodity, Up: Top+File: hledger_csv.info, Node: Referencing other fields, Next: How CSV rules are evaluated, Prev: Setting currency/commodity, Up: TIPS -28 Referencing other fields-***************************+3.9 Referencing other fields+============================ In field assignments, you can interpolate only CSV fields, not hledger fields. In the example below, there's both a CSV field and a hledger@@ -1140,10 +1149,10 @@ comment C -File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: Top+File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: TIPS -29 How CSV rules are evaluated-******************************+3.10 How CSV rules are evaluated+================================ Here's how to think of CSV rules being evaluated (if you really need to). First,@@ -1183,90 +1192,85 @@ Tag Table: Node: Top72-Node: EXAMPLES3257-Ref: #examples3359-Node: Basic3505-Ref: #basic3613-Node: Bank of Ireland4155-Ref: #bank-of-ireland4281-Node: Amazon5743-Ref: #amazon5852-Node: Paypal7571-Ref: #paypal7674-Node: CSV RULES15318-Ref: #csv-rules15425-Node: skip15559-Ref: #skip15660-Node: fields16035-Ref: #fields16147-Node: Transaction field names17312-Ref: #transaction-field-names17468-Node: Posting field names17579-Ref: #posting-field-names17727-Node: account17797-Ref: #account17909-Node: amount18446-Ref: #amount18573-Node: currency19680-Ref: #currency19811-Node: balance20017-Ref: #balance20147-Node: comment20464-Ref: #comment20577-Node: field assignment20740-Ref: #field-assignment20873-Node: separator21691-Ref: #separator21818-Node: if block22358-Ref: #if-block22475-Node: Matching the whole record22876-Ref: #matching-the-whole-record23049-Node: Matching individual fields23853-Ref: #matching-individual-fields24055-Node: Combining matchers24279-Ref: #combining-matchers24473-Node: Rules applied on successful match24786-Ref: #rules-applied-on-successful-match24975-Node: if table25629-Ref: #if-table25740-Node: end27478-Ref: #end27582-Node: date-format27806-Ref: #date-format27930-Node: decimal-mark28679-Ref: #decimal-mark28814-Node: newest-first29153-Ref: #newest-first29284-Node: include29967-Ref: #include30088-Node: balance-type30530-Ref: #balance-type30653-Node: TIPS31353-Ref: #tips31463-Node: Rapid feedback31463-Ref: #rapid-feedback31590-Node: Valid CSV32050-Ref: #valid-csv32177-Node: File Extension32369-Ref: #file-extension32518-Node: Reading multiple CSV files32947-Ref: #reading-multiple-csv-files33129-Node: Valid transactions33370-Ref: #valid-transactions33545-Node: Deduplicating importing34173-Ref: #deduplicating-importing34349-Node: Setting amounts35382-Ref: #setting-amounts35548-Node: Setting currency/commodity36535-Ref: #setting-currencycommodity36724-Node: Referencing other fields37898-Ref: #referencing-other-fields38095-Node: How CSV rules are evaluated38992-Ref: #how-csv-rules-are-evaluated39160+Node: EXAMPLES2756+Ref: #examples2862+Node: Basic3070+Ref: #basic3170+Node: Bank of Ireland3712+Ref: #bank-of-ireland3847+Node: Amazon5309+Ref: #amazon5427+Node: Paypal7146+Ref: #paypal7240+Node: CSV RULES14884+Ref: #csv-rules14993+Node: skip15305+Ref: #skip15398+Node: fields15773+Ref: #fields15895+Node: Transaction field names17060+Ref: #transaction-field-names17220+Node: Posting field names17331+Ref: #posting-field-names17483+Node: account17553+Ref: #account17669+Node: amount18206+Ref: #amount18337+Node: currency19444+Ref: #currency19579+Node: balance19785+Ref: #balance19919+Node: comment20236+Ref: #comment20353+Node: field assignment20516+Ref: #field-assignment20659+Node: separator21477+Ref: #separator21612+Node: if block22152+Ref: #if-block22277+Node: Matching the whole record22678+Ref: #matching-the-whole-record22853+Node: Matching individual fields23657+Ref: #matching-individual-fields23861+Node: Combining matchers24085+Ref: #combining-matchers24281+Node: Rules applied on successful match24594+Ref: #rules-applied-on-successful-match24785+Node: if table25439+Ref: #if-table25558+Node: end27296+Ref: #end27408+Node: date-format27632+Ref: #date-format27764+Node: decimal-mark28513+Ref: #decimal-mark28656+Node: newest-first28995+Ref: #newest-first29136+Node: include29819+Ref: #include29950+Node: balance-type30394+Ref: #balance-type30514+Node: TIPS31214+Ref: #tips31296+Node: Rapid feedback31552+Ref: #rapid-feedback31669+Node: Valid CSV32129+Ref: #valid-csv32259+Node: File Extension32451+Ref: #file-extension32603+Node: Reading multiple CSV files33032+Ref: #reading-multiple-csv-files33217+Node: Valid transactions33458+Ref: #valid-transactions33636+Node: Deduplicating importing34264+Ref: #deduplicating-importing34443+Node: Setting amounts35476+Ref: #setting-amounts35645+Node: Setting currency/commodity36632+Ref: #setting-currencycommodity36824+Node: Referencing other fields37998+Ref: #referencing-other-fields38198+Node: How CSV rules are evaluated39095+Ref: #how-csv-rules-are-evaluated39268 End Tag Table---Local Variables:-coding: utf-8-End:
hledger_csv.txt view
@@ -1,10 +1,10 @@ -hledger_csv(5) hledger User Manuals hledger_csv(5)+HLEDGER_CSV(5) hledger User Manuals HLEDGER_CSV(5) NAME- CSV - how hledger reads CSV data, and the CSV rules file format+ How hledger reads CSV data, and the CSV rules file format. DESCRIPTION hledger can read CSV files (Character Separated Value - usually comma,@@ -951,9 +951,11 @@ SEE ALSO- hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)+ hledger(1), hledger-ui(1), hledger-web(1), ledger(1) + hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-+ dot(5) -hledger 1.20.1 December 2020 hledger_csv(5)++hledger-lib-1.20.1 December 2020 HLEDGER_CSV(5)
hledger_journal.5 view
@@ -1,13 +1,12 @@ .\"t -.TH "hledger_journal" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals"+.TH "HLEDGER_JOURNAL" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals" .SH NAME .PP-Journal - hledger\[aq]s default file format, representing a General-Journal+hledger\[aq]s default file format, representing a General Journal. .SH DESCRIPTION .PP hledger\[aq]s usual data source is a plain text file containing journal@@ -34,7 +33,6 @@ for Vim, and hledger-vscode for Visual Studio Code, make this easier, adding colour, formatting, tab completion, and useful commands. See Editor configuration at hledger.org for the full list.-.SH FILE FORMAT .PP Here\[aq]s a description of each part of the file format (and hledger\[aq]s data model).@@ -42,7 +40,7 @@ related concepts have been grouped together for easy reference, or linked before they are introduced, so feel free to skip over anything that looks unnecessary right now.-.SS Transactions+.SH TRANSACTIONS .PP Transactions are the main unit of information in a journal file. They represent events, typically a movement of some quantity of@@ -75,7 +73,7 @@ income:salary $-1 \f[R] .fi-.SS Dates+.SH DATES .SS Simple dates .PP Dates in the journal file use \f[I]simple dates\f[R] format:@@ -181,7 +179,7 @@ \f[C]0123456789/-.=\f[R] characters in this way. With this syntax, DATE infers its year from the transaction and DATE2 infers its year from DATE.-.SS Status+.SH STATUS .PP Transactions, or individual postings within a transaction, can have a status mark, which is a single character before the transaction@@ -268,7 +266,7 @@ at your bank, \f[C]-U\f[R] to see things which will probably hit your bank soon (like uncashed checks), and no flags to see the most up-to-date state of your finances.-.SS Description+.SH DESCRIPTION .PP A transaction\[aq]s description is the rest of the line following the date and status mark (or until a comment begins).@@ -283,7 +281,7 @@ additional note field on the right (after the first \f[C]|\f[R]). This may be worthwhile if you need to do more precise querying and pivoting by payee or by note.-.SS Comments+.SH COMMENTS .PP Lines in the journal beginning with a semicolon (\f[C];\f[R]) or hash (\f[C]#\f[R]) or star (\f[C]*\f[R]) are comments, and will be ignored.@@ -324,7 +322,7 @@ .PP You can also comment larger regions of a file using \f[C]comment\f[R] and \f[C]end comment\f[R] directives.-.SS Tags+.SH TAGS .PP Tags are a way to add extra labels or labelled data to postings and transactions, which you can then search or pivot on.@@ -383,7 +381,7 @@ .PP Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag values are simple strings.-.SS Postings+.SH POSTINGS .PP A posting is an addition of some amount to, or removal of some amount from, an account.@@ -454,7 +452,7 @@ postings\f[R]. You can exclude virtual postings from reports with the \f[C]-R/--real\f[R] flag or \f[C]real:1\f[R] query.-.SS Account names+.SH ACCOUNT NAMES .PP Account names typically have several parts separated by a full colon, from which hledger derives a hierarchical chart of accounts.@@ -468,7 +466,7 @@ spaces\f[R] (or newline). .PP Account names can be aliased.-.SS Amounts+.SH AMOUNTS .PP After the account name, there is usually an amount. (Important: between account name and amount, there must be \f[B]two or@@ -637,7 +635,7 @@ number, eg 0.5 displayed with zero decimal places is \[dq]0\[dq]). (Guaranteed since hledger 1.17.1; in older versions this could vary if hledger was built with Decimal < 0.5.1.)-.SS Transaction prices+.SH TRANSACTION PRICES .PP Within a transaction, you can note an amount\[aq]s price in another commodity.@@ -734,7 +732,7 @@ \[Eu]100 assets:euros \f[R] .fi-.SS Lot prices and lot dates+.SH LOT PRICES, LOT DATES .PP Ledger allows another kind of price, lot price (four variants: \f[C]{UNITPRICE}\f[R], \f[C]{{TOTALPRICE}}\f[R],@@ -745,7 +743,7 @@ currently ignores them. A transaction price, lot price and/or lot date may appear in any order, after the posting amount and before the balance assertion if any.-.SS Balance assertions+.SH BALANCE ASSERTIONS .PP hledger supports Ledger-style balance assertions in journal files. These look like, for example, \f[C]= EXPECTEDBALANCE\f[R] following a@@ -901,7 +899,7 @@ Eg a commodity directive may limit the display precision, but this will not affect balance assertions. Balance assertion failure messages show exact amounts.-.SS Balance assignments+.SH BALANCE ASSIGNMENTS .PP Ledger-style balance assignments are also supported. These are like balance assertions, but with no posting amount on the@@ -958,7 +956,7 @@ (a) $1 \[at] \[Eu]2 = $1 \[at] \[Eu]2 \f[R] .fi-.SS Directives+.SH DIRECTIVES .PP A directive is a line in the journal beginning with a special keyword, that influences how the journal is processed.@@ -1850,7 +1848,7 @@ hledger-web. If account aliases are present, they are applied after the default parent account.-.SS Periodic transactions+.SH PERIODIC TRANSACTIONS .PP Periodic transaction rules describe transactions that recur. They allow hledger to generate temporary future transactions to help@@ -2004,7 +2002,7 @@ .PP See also: Budgeting and Forecasting. .PP-.SS Auto postings+.SH AUTO POSTINGS .PP \[dq]Automated postings\[dq] or \[dq]auto postings\[dq] are extra postings which get added automatically to transactions which match@@ -2150,6 +2148,6 @@ Released under GNU GPL v3 or later. .SH SEE ALSO-hledger(1), hledger\-ui(1), hledger\-web(1),-hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),-ledger(1)+hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)++hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)
hledger_journal.info view
@@ -2,12 +2,12 @@ stdin. -File: hledger_journal.info, Node: Top, Next: Transactions, Up: (dir)+File: hledger_journal.info, Node: Top, Next: TRANSACTIONS, Up: (dir) -hledger_journal(5) hledger 1.20.1-*********************************+hledger_journal(5)+****************** -Journal - hledger's default file format, representing a General Journal+hledger's default file format, representing a General Journal. hledger's usual data source is a plain text file containing journal entries in hledger journal format. This file represents a standard@@ -40,27 +40,27 @@ * Menu: -* Transactions::-* Dates::-* Status::-* Description::-* Comments::-* Tags::-* Postings::-* Account names::-* Amounts::-* Transaction prices::-* Lot prices and lot dates::-* Balance assertions::-* Balance assignments::-* Directives::-* Periodic transactions::-* Auto postings::+* TRANSACTIONS::+* DATES::+* STATUS::+* DESCRIPTION::+* COMMENTS::+* TAGS::+* POSTINGS::+* ACCOUNT NAMES::+* AMOUNTS::+* TRANSACTION PRICES::+* LOT PRICES LOT DATES::+* BALANCE ASSERTIONS::+* BALANCE ASSIGNMENTS::+* DIRECTIVES::+* PERIODIC TRANSACTIONS::+* AUTO POSTINGS:: -File: hledger_journal.info, Node: Transactions, Next: Dates, Prev: Top, Up: Top+File: hledger_journal.info, Node: TRANSACTIONS, Next: DATES, Prev: Top, Up: Top -1 Transactions+1 TRANSACTIONS ************** Transactions are the main unit of information in a journal file. They@@ -87,9 +87,9 @@ income:salary $-1 -File: hledger_journal.info, Node: Dates, Next: Status, Prev: Transactions, Up: Top+File: hledger_journal.info, Node: DATES, Next: STATUS, Prev: TRANSACTIONS, Up: Top -2 Dates+2 DATES ******* * Menu:@@ -99,7 +99,7 @@ * Posting dates:: -File: hledger_journal.info, Node: Simple dates, Next: Secondary dates, Up: Dates+File: hledger_journal.info, Node: Simple dates, Next: Secondary dates, Up: DATES 2.1 Simple dates ================@@ -115,7 +115,7 @@ dates documented in the hledger manual.) -File: hledger_journal.info, Node: Secondary dates, Next: Posting dates, Prev: Simple dates, Up: Dates+File: hledger_journal.info, Node: Secondary dates, Next: Posting dates, Prev: Simple dates, Up: DATES 2.2 Secondary dates ===================@@ -151,7 +151,7 @@ 2010-02-19 movie ticket assets:checking $-10 $-10 -File: hledger_journal.info, Node: Posting dates, Prev: Secondary dates, Up: Dates+File: hledger_journal.info, Node: Posting dates, Prev: Secondary dates, Up: DATES 2.3 Posting dates =================@@ -186,9 +186,9 @@ transaction and DATE2 infers its year from DATE. -File: hledger_journal.info, Node: Status, Next: Description, Prev: Dates, Up: Top+File: hledger_journal.info, Node: STATUS, Next: DESCRIPTION, Prev: DATES, Up: Top -3 Status+3 STATUS ******** Transactions, or individual postings within a transaction, can have a@@ -236,9 +236,9 @@ your finances. -File: hledger_journal.info, Node: Description, Next: Comments, Prev: Status, Up: Top+File: hledger_journal.info, Node: DESCRIPTION, Next: COMMENTS, Prev: STATUS, Up: Top -4 Description+4 DESCRIPTION ************* A transaction's description is the rest of the line following the date@@ -252,7 +252,7 @@ * Payee and note:: -File: hledger_journal.info, Node: Payee and note, Up: Description+File: hledger_journal.info, Node: Payee and note, Up: DESCRIPTION 4.1 Payee and note ==================@@ -264,9 +264,9 @@ precise querying and pivoting by payee or by note. -File: hledger_journal.info, Node: Comments, Next: Tags, Prev: Description, Up: Top+File: hledger_journal.info, Node: COMMENTS, Next: TAGS, Prev: DESCRIPTION, Up: Top -5 Comments+5 COMMENTS ********** Lines in the journal beginning with a semicolon (';') or hash ('#') or@@ -304,9 +304,9 @@ 'end comment' directives. -File: hledger_journal.info, Node: Tags, Next: Postings, Prev: Comments, Up: Top+File: hledger_journal.info, Node: TAGS, Next: POSTINGS, Prev: COMMENTS, Up: Top -6 Tags+6 TAGS ****** Tags are a way to add extra labels or labelled data to postings and@@ -347,9 +347,9 @@ are simple strings. -File: hledger_journal.info, Node: Postings, Next: Account names, Prev: Tags, Up: Top+File: hledger_journal.info, Node: POSTINGS, Next: ACCOUNT NAMES, Prev: TAGS, Up: Top -7 Postings+7 POSTINGS ********** A posting is an addition of some amount to, or removal of some amount@@ -379,7 +379,7 @@ * Virtual postings:: -File: hledger_journal.info, Node: Virtual postings, Up: Postings+File: hledger_journal.info, Node: Virtual postings, Up: POSTINGS 7.1 Virtual postings ====================@@ -414,9 +414,9 @@ '-R/--real' flag or 'real:1' query. -File: hledger_journal.info, Node: Account names, Next: Amounts, Prev: Postings, Up: Top+File: hledger_journal.info, Node: ACCOUNT NAMES, Next: AMOUNTS, Prev: POSTINGS, Up: Top -8 Account names+8 ACCOUNT NAMES *************** Account names typically have several parts separated by a full colon,@@ -432,9 +432,9 @@ Account names can be aliased. -File: hledger_journal.info, Node: Amounts, Next: Transaction prices, Prev: Account names, Up: Top+File: hledger_journal.info, Node: AMOUNTS, Next: TRANSACTION PRICES, Prev: ACCOUNT NAMES, Up: Top -9 Amounts+9 AMOUNTS ********* After the account name, there is usually an amount. (Important: between@@ -488,7 +488,7 @@ * Rounding:: -File: hledger_journal.info, Node: Digit group marks, Next: Commodity display style, Up: Amounts+File: hledger_journal.info, Node: Digit group marks, Next: Commodity display style, Up: AMOUNTS 9.1 Digit group marks =====================@@ -521,7 +521,7 @@ commodity 1 000 000.9455 -File: hledger_journal.info, Node: Commodity display style, Next: Rounding, Prev: Digit group marks, Up: Amounts+File: hledger_journal.info, Node: Commodity display style, Next: Rounding, Prev: Digit group marks, Up: AMOUNTS 9.2 Commodity display style ===========================@@ -566,7 +566,7 @@ style. -File: hledger_journal.info, Node: Rounding, Prev: Commodity display style, Up: Amounts+File: hledger_journal.info, Node: Rounding, Prev: Commodity display style, Up: AMOUNTS 9.3 Rounding ============@@ -579,9 +579,9 @@ this could vary if hledger was built with Decimal < 0.5.1.) -File: hledger_journal.info, Node: Transaction prices, Next: Lot prices and lot dates, Prev: Amounts, Up: Top+File: hledger_journal.info, Node: TRANSACTION PRICES, Next: LOT PRICES LOT DATES, Prev: AMOUNTS, Up: Top -10 Transaction prices+10 TRANSACTION PRICES ********************* Within a transaction, you can note an amount's price in another@@ -646,10 +646,10 @@ €100 assets:euros -File: hledger_journal.info, Node: Lot prices and lot dates, Next: Balance assertions, Prev: Transaction prices, Up: Top+File: hledger_journal.info, Node: LOT PRICES LOT DATES, Next: BALANCE ASSERTIONS, Prev: TRANSACTION PRICES, Up: Top -11 Lot prices and lot dates-***************************+11 LOT PRICES, LOT DATES+************************ Ledger allows another kind of price, lot price (four variants: '{UNITPRICE}', '{{TOTALPRICE}}', '{=FIXEDUNITPRICE}',@@ -661,9 +661,9 @@ assertion if any. -File: hledger_journal.info, Node: Balance assertions, Next: Balance assignments, Prev: Lot prices and lot dates, Up: Top+File: hledger_journal.info, Node: BALANCE ASSERTIONS, Next: BALANCE ASSIGNMENTS, Prev: LOT PRICES LOT DATES, Up: Top -12 Balance assertions+12 BALANCE ASSERTIONS ********************* hledger supports Ledger-style balance assertions in journal files.@@ -699,7 +699,7 @@ * Assertions and precision:: -File: hledger_journal.info, Node: Assertions and ordering, Next: Assertions and included files, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and ordering, Next: Assertions and included files, Up: BALANCE ASSERTIONS 12.1 Assertions and ordering ============================@@ -718,7 +718,7 @@ can assert intra-day balances. -File: hledger_journal.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: BALANCE ASSERTIONS 12.2 Assertions and included files ==================================@@ -730,7 +730,7 @@ you'll have to put the assertion in the right file. -File: hledger_journal.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: BALANCE ASSERTIONS 12.3 Assertions and multiple -f options =======================================@@ -739,7 +739,7 @@ -f options. Use include or concatenate the files instead. -File: hledger_journal.info, Node: Assertions and commodities, Next: Assertions and prices, Prev: Assertions and multiple -f options, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and commodities, Next: Assertions and prices, Prev: Assertions and multiple -f options, Up: BALANCE ASSERTIONS 12.4 Assertions and commodities ===============================@@ -787,7 +787,7 @@ a:euro 0 == 1€ -File: hledger_journal.info, Node: Assertions and prices, Next: Assertions and subaccounts, Prev: Assertions and commodities, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and prices, Next: Assertions and subaccounts, Prev: Assertions and commodities, Up: BALANCE ASSERTIONS 12.5 Assertions and prices ==========================@@ -805,7 +805,7 @@ _assignments_ do use them (see below). -File: hledger_journal.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and prices, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and prices, Up: BALANCE ASSERTIONS 12.6 Assertions and subaccounts ===============================@@ -822,7 +822,7 @@ checking 1 ==* 11 -File: hledger_journal.info, Node: Assertions and virtual postings, Next: Assertions and precision, Prev: Assertions and subaccounts, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and virtual postings, Next: Assertions and precision, Prev: Assertions and subaccounts, Up: BALANCE ASSERTIONS 12.7 Assertions and virtual postings ====================================@@ -832,7 +832,7 @@ query. -File: hledger_journal.info, Node: Assertions and precision, Prev: Assertions and virtual postings, Up: Balance assertions+File: hledger_journal.info, Node: Assertions and precision, Prev: Assertions and virtual postings, Up: BALANCE ASSERTIONS 12.8 Assertions and precision =============================@@ -843,9 +843,9 @@ assertion failure messages show exact amounts. -File: hledger_journal.info, Node: Balance assignments, Next: Directives, Prev: Balance assertions, Up: Top+File: hledger_journal.info, Node: BALANCE ASSIGNMENTS, Next: DIRECTIVES, Prev: BALANCE ASSERTIONS, Up: Top -13 Balance assignments+13 BALANCE ASSIGNMENTS ********************** Ledger-style balance assignments are also supported. These are like@@ -880,7 +880,7 @@ * Balance assignments and prices:: -File: hledger_journal.info, Node: Balance assignments and prices, Up: Balance assignments+File: hledger_journal.info, Node: Balance assignments and prices, Up: BALANCE ASSIGNMENTS 13.1 Balance assignments and prices ===================================@@ -896,9 +896,9 @@ (a) $1 @ €2 = $1 @ €2 -File: hledger_journal.info, Node: Directives, Next: Periodic transactions, Prev: Balance assignments, Up: Top+File: hledger_journal.info, Node: DIRECTIVES, Next: PERIODIC TRANSACTIONS, Prev: BALANCE ASSIGNMENTS, Up: Top -14 Directives+14 DIRECTIVES ************* A directive is a line in the journal beginning with a special keyword,@@ -997,7 +997,7 @@ * Default parent account:: -File: hledger_journal.info, Node: Directives and multiple files, Next: Comment blocks, Up: Directives+File: hledger_journal.info, Node: Directives and multiple files, Next: Comment blocks, Up: DIRECTIVES 14.1 Directives and multiple files ==================================@@ -1017,7 +1017,7 @@ directives do not affect parent or sibling files (see below). -File: hledger_journal.info, Node: Comment blocks, Next: Including other files, Prev: Directives and multiple files, Up: Directives+File: hledger_journal.info, Node: Comment blocks, Next: Including other files, Prev: Directives and multiple files, Up: DIRECTIVES 14.2 Comment blocks ===================@@ -1027,7 +1027,7 @@ file) ends it. See also comments. -File: hledger_journal.info, Node: Including other files, Next: Default year, Prev: Comment blocks, Up: Directives+File: hledger_journal.info, Node: Including other files, Next: Default year, Prev: Comment blocks, Up: DIRECTIVES 14.3 Including other files ==========================@@ -1058,7 +1058,7 @@ files): 'include timedot:~/notes/2020*.md'. -File: hledger_journal.info, Node: Default year, Next: Declaring commodities, Prev: Including other files, Up: Directives+File: hledger_journal.info, Node: Default year, Next: Declaring commodities, Prev: Including other files, Up: DIRECTIVES 14.4 Default year =================@@ -1084,7 +1084,7 @@ assets -File: hledger_journal.info, Node: Declaring commodities, Next: Default commodity, Prev: Default year, Up: Directives+File: hledger_journal.info, Node: Declaring commodities, Next: Default commodity, Prev: Default year, Up: DIRECTIVES 14.5 Declaring commodities ==========================@@ -1152,7 +1152,7 @@ checking, see the notes there for more details. -File: hledger_journal.info, Node: Default commodity, Next: Declaring market prices, Prev: Declaring commodities, Up: Directives+File: hledger_journal.info, Node: Default commodity, Next: Declaring market prices, Prev: Declaring commodities, Up: DIRECTIVES 14.6 Default commodity ======================@@ -1179,7 +1179,7 @@ b -File: hledger_journal.info, Node: Declaring market prices, Next: Declaring accounts, Prev: Default commodity, Up: Directives+File: hledger_journal.info, Node: Declaring market prices, Next: Declaring accounts, Prev: Default commodity, Up: DIRECTIVES 14.7 Declaring market prices ============================@@ -1209,7 +1209,7 @@ amount values in another commodity. See Valuation. -File: hledger_journal.info, Node: Declaring accounts, Next: Rewriting accounts, Prev: Declaring market prices, Up: Directives+File: hledger_journal.info, Node: Declaring accounts, Next: Rewriting accounts, Prev: Declaring market prices, Up: DIRECTIVES 14.8 Declaring accounts =======================@@ -1471,7 +1471,7 @@ between 'a:b' and 'a:c'). -File: hledger_journal.info, Node: Rewriting accounts, Next: Default parent account, Prev: Declaring accounts, Up: Directives+File: hledger_journal.info, Node: Rewriting accounts, Next: Default parent account, Prev: Declaring accounts, Up: DIRECTIVES 14.9 Rewriting accounts =======================@@ -1629,7 +1629,7 @@ end aliases -File: hledger_journal.info, Node: Default parent account, Prev: Rewriting accounts, Up: Directives+File: hledger_journal.info, Node: Default parent account, Prev: Rewriting accounts, Up: DIRECTIVES 14.10 Default parent account ============================@@ -1670,9 +1670,9 @@ parent account. -File: hledger_journal.info, Node: Periodic transactions, Next: Auto postings, Prev: Directives, Up: Top+File: hledger_journal.info, Node: PERIODIC TRANSACTIONS, Next: AUTO POSTINGS, Prev: DIRECTIVES, Up: Top -15 Periodic transactions+15 PERIODIC TRANSACTIONS ************************ Periodic transaction rules describe transactions that recur. They allow@@ -1717,7 +1717,7 @@ * Budgeting with periodic transactions:: -File: hledger_journal.info, Node: Periodic rule syntax, Next: Two spaces between period expression and description!, Up: Periodic transactions+File: hledger_journal.info, Node: Periodic rule syntax, Next: Two spaces between period expression and description!, Up: PERIODIC TRANSACTIONS 15.1 Periodic rule syntax =========================@@ -1740,7 +1740,7 @@ will be relative to Y/1/1. -File: hledger_journal.info, Node: Two spaces between period expression and description!, Next: Forecasting with periodic transactions, Prev: Periodic rule syntax, Up: Periodic transactions+File: hledger_journal.info, Node: Two spaces between period expression and description!, Next: Forecasting with periodic transactions, Prev: Periodic rule syntax, Up: PERIODIC TRANSACTIONS 15.2 Two spaces between period expression and description! ==========================================================@@ -1765,7 +1765,7 @@ expression. -File: hledger_journal.info, Node: Forecasting with periodic transactions, Next: Budgeting with periodic transactions, Prev: Two spaces between period expression and description!, Up: Periodic transactions+File: hledger_journal.info, Node: Forecasting with periodic transactions, Next: Budgeting with periodic transactions, Prev: Two spaces between period expression and description!, Up: PERIODIC TRANSACTIONS 15.3 Forecasting with periodic transactions ===========================================@@ -1811,7 +1811,7 @@ '--forecast=2020'. -File: hledger_journal.info, Node: Budgeting with periodic transactions, Prev: Forecasting with periodic transactions, Up: Periodic transactions+File: hledger_journal.info, Node: Budgeting with periodic transactions, Prev: Forecasting with periodic transactions, Up: PERIODIC TRANSACTIONS 15.4 Budgeting with periodic transactions =========================================@@ -1826,9 +1826,9 @@ See also: Budgeting and Forecasting. -File: hledger_journal.info, Node: Auto postings, Prev: Periodic transactions, Up: Top+File: hledger_journal.info, Node: AUTO POSTINGS, Prev: PERIODIC TRANSACTIONS, Up: Top -16 Auto postings+16 AUTO POSTINGS **************** "Automated postings" or "auto postings" are extra postings which get@@ -1904,7 +1904,7 @@ * Auto posting tags:: -File: hledger_journal.info, Node: Auto postings and multiple files, Next: Auto postings and dates, Up: Auto postings+File: hledger_journal.info, Node: Auto postings and multiple files, Next: Auto postings and dates, Up: AUTO POSTINGS 16.1 Auto postings and multiple files =====================================@@ -1914,7 +1914,7 @@ sibling files (when multiple '-f'/'--file' are used - see #1212). -File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Prev: Auto postings and multiple files, Up: Auto postings+File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Prev: Auto postings and multiple files, Up: AUTO POSTINGS 16.2 Auto postings and dates ============================@@ -1924,7 +1924,7 @@ used in the generated posting. -File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: Auto postings+File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: AUTO POSTINGS 16.3 Auto postings and transaction balancing / inferred amounts / =================================================================@@ -1940,7 +1940,7 @@ for background. -File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: Auto postings+File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: AUTO POSTINGS 16.4 Auto posting tags ======================@@ -1964,142 +1964,137 @@ Tag Table: Node: Top76-Node: Transactions2154-Ref: #transactions2272-Node: Dates3286-Ref: #dates3393-Node: Simple dates3458-Ref: #simple-dates3580-Node: Secondary dates4089-Ref: #secondary-dates4239-Node: Posting dates5575-Ref: #posting-dates5700-Node: Status7072-Ref: #status7180-Node: Description8888-Ref: #description9009-Node: Payee and note9329-Ref: #payee-and-note9439-Node: Comments9774-Ref: #comments9887-Node: Tags11081-Ref: #tags11183-Node: Postings12576-Ref: #postings12691-Node: Virtual postings13717-Ref: #virtual-postings13830-Node: Account names15135-Ref: #account-names15263-Node: Amounts15750-Ref: #amounts15876-Node: Digit group marks17000-Ref: #digit-group-marks17147-Node: Commodity display style18085-Ref: #commodity-display-style18261-Node: Rounding19804-Ref: #rounding19924-Node: Transaction prices20336-Ref: #transaction-prices20497-Node: Lot prices and lot dates22928-Ref: #lot-prices-and-lot-dates23112-Node: Balance assertions23600-Ref: #balance-assertions23773-Node: Assertions and ordering24806-Ref: #assertions-and-ordering24990-Node: Assertions and included files25690-Ref: #assertions-and-included-files25929-Node: Assertions and multiple -f options26262-Ref: #assertions-and-multiple--f-options26514-Node: Assertions and commodities26646-Ref: #assertions-and-commodities26874-Node: Assertions and prices28031-Ref: #assertions-and-prices28241-Node: Assertions and subaccounts28681-Ref: #assertions-and-subaccounts28906-Node: Assertions and virtual postings29230-Ref: #assertions-and-virtual-postings29468-Node: Assertions and precision29610-Ref: #assertions-and-precision29799-Node: Balance assignments30066-Ref: #balance-assignments30227-Node: Balance assignments and prices31391-Ref: #balance-assignments-and-prices31559-Node: Directives31783-Ref: #directives31929-Node: Directives and multiple files37427-Ref: #directives-and-multiple-files37606-Node: Comment blocks38270-Ref: #comment-blocks38449-Node: Including other files38625-Ref: #including-other-files38801-Node: Default year39725-Ref: #default-year39890-Node: Declaring commodities40297-Ref: #declaring-commodities40476-Node: Commodity error checking42320-Ref: #commodity-error-checking42476-Node: Default commodity42733-Ref: #default-commodity42915-Node: Declaring market prices43804-Ref: #declaring-market-prices43995-Node: Declaring accounts44852-Ref: #declaring-accounts45034-Node: Account error checking46236-Ref: #account-error-checking46408-Node: Account comments47587-Ref: #account-comments47777-Node: Account subdirectives48201-Ref: #account-subdirectives48392-Node: Account types48705-Ref: #account-types48885-Node: Declaring account types49621-Ref: #declaring-account-types49806-Node: Auto-detected account types50456-Ref: #auto-detected-account-types50703-Node: Interference from auto-detected account types51600-Ref: #interference-from-auto-detected-account-types51883-Node: Old account type syntax52366-Ref: #old-account-type-syntax52569-Node: Account display order52869-Ref: #account-display-order53035-Node: Rewriting accounts54186-Ref: #rewriting-accounts54367-Node: Basic aliases55124-Ref: #basic-aliases55266-Node: Regex aliases55970-Ref: #regex-aliases56138-Node: Combining aliases56857-Ref: #combining-aliases57046-Node: Aliases and multiple files58322-Ref: #aliases-and-multiple-files58527-Node: end aliases59106-Ref: #end-aliases59259-Node: Default parent account59360-Ref: #default-parent-account59524-Node: Periodic transactions60408-Ref: #periodic-transactions60570-Node: Periodic rule syntax62487-Ref: #periodic-rule-syntax62689-Node: Two spaces between period expression and description!63393-Ref: #two-spaces-between-period-expression-and-description63708-Node: Forecasting with periodic transactions64392-Ref: #forecasting-with-periodic-transactions64693-Node: Budgeting with periodic transactions66748-Ref: #budgeting-with-periodic-transactions66983-Node: Auto postings67392-Ref: #auto-postings67519-Node: Auto postings and multiple files69698-Ref: #auto-postings-and-multiple-files69898-Node: Auto postings and dates70107-Ref: #auto-postings-and-dates70377-Node: Auto postings and transaction balancing / inferred amounts / balance assertions70552-Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70899-Node: Auto posting tags71241-Ref: #auto-posting-tags71452+Node: TRANSACTIONS2111+Ref: #transactions2229+Node: DATES3243+Ref: #dates3350+Node: Simple dates3415+Ref: #simple-dates3537+Node: Secondary dates4046+Ref: #secondary-dates4196+Node: Posting dates5532+Ref: #posting-dates5657+Node: STATUS7029+Ref: #status7137+Node: DESCRIPTION8845+Ref: #description8966+Node: Payee and note9286+Ref: #payee-and-note9396+Node: COMMENTS9731+Ref: #comments9844+Node: TAGS11038+Ref: #tags11140+Node: POSTINGS12533+Ref: #postings12648+Node: Virtual postings13674+Ref: #virtual-postings13787+Node: ACCOUNT NAMES15092+Ref: #account-names15220+Node: AMOUNTS15707+Ref: #amounts15833+Node: Digit group marks16957+Ref: #digit-group-marks17104+Node: Commodity display style18042+Ref: #commodity-display-style18218+Node: Rounding19761+Ref: #rounding19881+Node: TRANSACTION PRICES20293+Ref: #transaction-prices20450+Node: LOT PRICES LOT DATES22881+Ref: #lot-prices-lot-dates23055+Node: BALANCE ASSERTIONS23543+Ref: #balance-assertions23712+Node: Assertions and ordering24745+Ref: #assertions-and-ordering24929+Node: Assertions and included files25629+Ref: #assertions-and-included-files25868+Node: Assertions and multiple -f options26201+Ref: #assertions-and-multiple--f-options26453+Node: Assertions and commodities26585+Ref: #assertions-and-commodities26813+Node: Assertions and prices27970+Ref: #assertions-and-prices28180+Node: Assertions and subaccounts28620+Ref: #assertions-and-subaccounts28845+Node: Assertions and virtual postings29169+Ref: #assertions-and-virtual-postings29407+Node: Assertions and precision29549+Ref: #assertions-and-precision29738+Node: BALANCE ASSIGNMENTS30005+Ref: #balance-assignments30166+Node: Balance assignments and prices31330+Ref: #balance-assignments-and-prices31498+Node: DIRECTIVES31722+Ref: #directives31868+Node: Directives and multiple files37366+Ref: #directives-and-multiple-files37545+Node: Comment blocks38209+Ref: #comment-blocks38388+Node: Including other files38564+Ref: #including-other-files38740+Node: Default year39664+Ref: #default-year39829+Node: Declaring commodities40236+Ref: #declaring-commodities40415+Node: Commodity error checking42259+Ref: #commodity-error-checking42415+Node: Default commodity42672+Ref: #default-commodity42854+Node: Declaring market prices43743+Ref: #declaring-market-prices43934+Node: Declaring accounts44791+Ref: #declaring-accounts44973+Node: Account error checking46175+Ref: #account-error-checking46347+Node: Account comments47526+Ref: #account-comments47716+Node: Account subdirectives48140+Ref: #account-subdirectives48331+Node: Account types48644+Ref: #account-types48824+Node: Declaring account types49560+Ref: #declaring-account-types49745+Node: Auto-detected account types50395+Ref: #auto-detected-account-types50642+Node: Interference from auto-detected account types51539+Ref: #interference-from-auto-detected-account-types51822+Node: Old account type syntax52305+Ref: #old-account-type-syntax52508+Node: Account display order52808+Ref: #account-display-order52974+Node: Rewriting accounts54125+Ref: #rewriting-accounts54306+Node: Basic aliases55063+Ref: #basic-aliases55205+Node: Regex aliases55909+Ref: #regex-aliases56077+Node: Combining aliases56796+Ref: #combining-aliases56985+Node: Aliases and multiple files58261+Ref: #aliases-and-multiple-files58466+Node: end aliases59045+Ref: #end-aliases59198+Node: Default parent account59299+Ref: #default-parent-account59463+Node: PERIODIC TRANSACTIONS60347+Ref: #periodic-transactions60509+Node: Periodic rule syntax62426+Ref: #periodic-rule-syntax62628+Node: Two spaces between period expression and description!63332+Ref: #two-spaces-between-period-expression-and-description63647+Node: Forecasting with periodic transactions64331+Ref: #forecasting-with-periodic-transactions64632+Node: Budgeting with periodic transactions66687+Ref: #budgeting-with-periodic-transactions66922+Node: AUTO POSTINGS67331+Ref: #auto-postings67458+Node: Auto postings and multiple files69637+Ref: #auto-postings-and-multiple-files69837+Node: Auto postings and dates70046+Ref: #auto-postings-and-dates70316+Node: Auto postings and transaction balancing / inferred amounts / balance assertions70491+Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70838+Node: Auto posting tags71180+Ref: #auto-posting-tags71391 End Tag Table---Local Variables:-coding: utf-8-End:
hledger_journal.txt view
@@ -1,10 +1,10 @@ -hledger_journal(5) hledger User Manuals hledger_journal(5)+HLEDGER_JOURNAL(5) hledger User Manuals HLEDGER_JOURNAL(5) NAME- Journal - hledger's default file format, representing a General Journal+ hledger's default file format, representing a General Journal. DESCRIPTION hledger's usual data source is a plain text file containing journal en-@@ -31,14 +31,13 @@ formatting, tab completion, and useful commands. See Editor configura- tion at hledger.org for the full list. -FILE FORMAT Here's a description of each part of the file format (and hledger's data model). These are mostly in the order you'll use them, but in some cases related concepts have been grouped together for easy refer- ence, or linked before they are introduced, so feel free to skip over anything that looks unnecessary right now. - Transactions+TRANSACTIONS Transactions are the main unit of information in a journal file. They represent events, typically a movement of some quantity of commodities between two or more named accounts.@@ -66,7 +65,7 @@ assets:bank:checking $1 income:salary $-1 - Dates+DATES Simple dates Dates in the journal file use simple dates format: YYYY-MM-DD or YYYY/MM/DD or YYYY.MM.DD, with leading zeros optional. The year may be@@ -139,7 +138,7 @@ With this syntax, DATE infers its year from the transaction and DATE2 infers its year from DATE. - Status+STATUS Transactions, or individual postings within a transaction, can have a status mark, which is a single character before the transaction de- scription or posting account name, separated from it by a space, indi-@@ -183,7 +182,7 @@ cashed checks), and no flags to see the most up-to-date state of your finances. - Description+DESCRIPTION A transaction's description is the rest of the line following the date and status mark (or until a comment begins). Sometimes called the "narration" in traditional bookkeeping, it can be used for whatever you@@ -197,7 +196,7 @@ ter the first |). This may be worthwhile if you need to do more pre- cise querying and pivoting by payee or by note. - Comments+COMMENTS Lines in the journal beginning with a semicolon (;) or hash (#) or star (*) are comments, and will be ignored. (Star comments cause org-mode nodes to be ignored, allowing emacs users to fold and navigate their@@ -232,7 +231,7 @@ You can also comment larger regions of a file using comment and end comment directives. - Tags+TAGS Tags are a way to add extra labels or labelled data to postings and transactions, which you can then search or pivot on. @@ -272,7 +271,7 @@ Tags are like Ledger's metadata feature, except hledger's tag values are simple strings. - Postings+POSTINGS A posting is an addition of some amount to, or removal of some amount from, an account. Each posting line begins with at least one space or tab (2 or 4 spaces is common), followed by:@@ -326,7 +325,7 @@ postings. You can exclude virtual postings from reports with the -R/--real flag or real:1 query. - Account names+ACCOUNT NAMES Account names typically have several parts separated by a full colon, from which hledger derives a hierarchical chart of accounts. They can be anything you like, but in finance there are traditionally five top-@@ -338,7 +337,7 @@ Account names can be aliased. - Amounts+AMOUNTS After the account name, there is usually an amount. (Important: be- tween account name and amount, there must be two or more spaces.) @@ -460,7 +459,7 @@ places is "0"). (Guaranteed since hledger 1.17.1; in older versions this could vary if hledger was built with Decimal < 0.5.1.) - Transaction prices+TRANSACTION PRICES Within a transaction, you can note an amount's price in another commod- ity. This can be used to document the cost (in a purchase) or selling price (in a sale). For example, transaction prices are useful to@@ -521,7 +520,7 @@ EUR-100 assets:dollars # <- the dollars' selling price EUR100 assets:euros - Lot prices and lot dates+LOT PRICES, LOT DATES Ledger allows another kind of price, lot price (four variants: {UNIT- PRICE}, {{TOTALPRICE}}, {=FIXEDUNITPRICE}, {{=FIXEDTOTALPRICE}}), and/or a lot date ([DATE]) to be specified. These are normally used to@@ -530,7 +529,7 @@ transaction price, lot price and/or lot date may appear in any order, after the posting amount and before the balance assertion if any. - Balance assertions+BALANCE ASSERTIONS hledger supports Ledger-style balance assertions in journal files. These look like, for example, = EXPECTEDBALANCE following a posting's amount. Eg here we assert the expected dollar balance in accounts a@@ -653,7 +652,7 @@ limit the display precision, but this will not affect balance asser- tions. Balance assertion failure messages show exact amounts. - Balance assignments+BALANCE ASSIGNMENTS Ledger-style balance assignments are also supported. These are like balance assertions, but with no posting amount on the left side of the equals sign; instead it is calculated automatically so as to satisfy@@ -692,7 +691,7 @@ 2019-01-01 (a) $1 @ EUR2 = $1 @ EUR2 - Directives+DIRECTIVES A directive is a line in the journal beginning with a special keyword, that influences how the journal is processed. hledger's directives are based on a subset of Ledger's, but there are many differences (and also@@ -729,8 +728,6 @@ play style: amounts of that commodity in reports-- D declare a commodity to be default commodity: used for commodityless following commod- amounts, and its number no- ityless entries un-@@ -743,6 +740,8 @@ play style: amounts of that commodity in reports++ include include entries/directives what the included from another file directives affect P declare a market price for a amounts of that@@ -1075,7 +1074,6 @@ ^(debts?|lia- Liability bilit(y|ies))(:|$) ^equity(:|$) Equity- ^(income|revenue)s?(:|$) Revenue ^expenses?(:|$) Expense @@ -1312,7 +1310,7 @@ account aliases are present, they are applied after the default parent account. - Periodic transactions+PERIODIC TRANSACTIONS Periodic transaction rules describe transactions that recur. They al- low hledger to generate temporary future transactions to help with forecasting, so you don't have to write out each one in the journal,@@ -1443,7 +1441,7 @@ See also: Budgeting and Forecasting. - Auto postings+AUTO POSTINGS "Automated postings" or "auto postings" are extra postings which get added automatically to transactions which match certain queries, de- fined by "auto posting rules", when you use the --auto flag.@@ -1570,9 +1568,11 @@ SEE ALSO- hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)+ hledger(1), hledger-ui(1), hledger-web(1), ledger(1) + hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-+ dot(5) -hledger 1.20.1 December 2020 hledger_journal(5)++hledger-lib-1.20.1 December 2020 HLEDGER_JOURNAL(5)
hledger_timeclock.5 view
@@ -1,11 +1,11 @@ -.TH "hledger_timeclock" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals"+.TH "HLEDGER_TIMECLOCK" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals" .SH NAME .PP-Timeclock - the time logging format of timeclock.el, as read by hledger+The time logging format of timeclock.el, as read by hledger. .SH DESCRIPTION .PP hledger can read timeclock files.@@ -85,6 +85,6 @@ Released under GNU GPL v3 or later. .SH SEE ALSO-hledger(1), hledger\-ui(1), hledger\-web(1),-hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),-ledger(1)+hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)++hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)
hledger_timeclock.info view
@@ -4,10 +4,10 @@ File: hledger_timeclock.info, Node: Top, Up: (dir) -hledger_timeclock(5) hledger 1.20.1-***********************************+hledger_timeclock(5)+******************** -Timeclock - the time logging format of timeclock.el, as read by hledger+The time logging format of timeclock.el, as read by hledger. hledger can read timeclock files. As with Ledger, these are (a subset of) timeclock.el's format, containing clock-in and clock-out@@ -61,8 +61,3 @@ Node: Top78 End Tag Table---Local Variables:-coding: utf-8-End:
hledger_timeclock.txt view
@@ -1,10 +1,10 @@ -hledger_timeclock(5) hledger User Manuals hledger_timeclock(5)+HLEDGER_TIMECLOCK(5) hledger User Manuals HLEDGER_TIMECLOCK(5) NAME- Timeclock - the time logging format of timeclock.el, as read by hledger+ The time logging format of timeclock.el, as read by hledger. DESCRIPTION hledger can read timeclock files. As with Ledger, these are (a subset@@ -70,9 +70,11 @@ SEE ALSO- hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)+ hledger(1), hledger-ui(1), hledger-web(1), ledger(1) + hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-+ dot(5) -hledger 1.20.1 December 2020 hledger_timeclock(5)++hledger-lib-1.20.1 December 2020 HLEDGER_TIMECLOCK(5)
hledger_timedot.5 view
@@ -1,11 +1,11 @@ -.TH "hledger_timedot" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals"+.TH "HLEDGER_TIMEDOT" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals" .SH NAME .PP-Timedot - hledger\[aq]s human-friendly time logging format+hledger\[aq]s human-friendly time logging format. .SH DESCRIPTION .PP Timedot is a plain text format for logging dated, categorised quantities@@ -194,6 +194,6 @@ Released under GNU GPL v3 or later. .SH SEE ALSO-hledger(1), hledger\-ui(1), hledger\-web(1),-hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),-ledger(1)+hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)++hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)
hledger_timedot.info view
@@ -4,10 +4,10 @@ File: hledger_timedot.info, Node: Top, Up: (dir) -hledger_timedot(5) hledger 1.20.1-*********************************+hledger_timedot(5)+****************** -Timedot - hledger's human-friendly time logging format+hledger's human-friendly time logging format. Timedot is a plain text format for logging dated, categorised quantities (of time, usually), supported by hledger. It is convenient@@ -143,8 +143,3 @@ Node: Top76 End Tag Table---Local Variables:-coding: utf-8-End:
hledger_timedot.txt view
@@ -1,10 +1,10 @@ -hledger_timedot(5) hledger User Manuals hledger_timedot(5)+HLEDGER_TIMEDOT(5) hledger User Manuals HLEDGER_TIMEDOT(5) NAME- Timedot - hledger's human-friendly time logging format+ hledger's human-friendly time logging format. DESCRIPTION Timedot is a plain text format for logging dated, categorised quanti-@@ -153,9 +153,11 @@ SEE ALSO- hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)+ hledger(1), hledger-ui(1), hledger-web(1), ledger(1) + hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-+ dot(5) -hledger 1.20.1 December 2020 hledger_timedot(5)++hledger-lib-1.20.1 December 2020 HLEDGER_TIMEDOT(5)