Simon Michael
e2c55aafa9
budget: --drop preserves the <unbudgeted> top-level account
2018-04-23 18:52:28 -07:00
Simon Michael
43287a3e26
budget: use a new first-class BudgetReport for --budget
2018-04-23 18:52:28 -07:00
Simon Michael
4b3c6afe75
lib: new generic PeriodicReport, and some report-related type aliases
2018-04-23 18:52:28 -07:00
Simon Michael
0b380971f7
journal: require a decimal point in commodity/format/D directives
...
A commodity directive that doesn't specify the decimal point character
increases ambiguity and the chance of misparsing numbers, especially
as it overrides all style information inferred from the journal amounts.
In some cases it caused amounts with a decimal point to be parsed as if
with a digit group separator so 1.234 became 1234.
We could augment it with extra info from the journal amounts, when available,
but it would still be possible to be ambiguous, and that won't be obvious.
A commodity directive is what we recommend to nail down the style.
It seems the simple and really only way to do this reliably is to require
an explicit decimal point character. Most folks probably do this already.
Unfortunately, it makes another potential incompatiblity with ledger and
beancount journals. But the error message will be clear and easy to
work around.
2018-04-20 21:56:06 -07:00
Simon Michael
3f2827424c
refactor: number parsing docs
2018-04-20 21:39:06 -07:00
Simon Michael
3d4f5600ae
journal: infer and balance amounts with standard amount styles ( fix #737 )
...
Inferred amounts now have the appropriate standard amount style applied.
And when checking for balanced transactions, amount styles declared with
commodity directives are also used (previously only inferred amount styles were).
2018-04-20 13:40:05 -07:00
Simon Michael
91e3ddd4fb
lib: refactor
2018-04-20 05:24:09 -07:00
Dmitry Astapov
0c835acd18
lib, app: better descriptions for forecast transactions
2018-04-18 16:05:08 -07:00
Simon Michael
f2d3b3e1d4
csv: handle the other double negation cases: -(N), ((N)) ( fix #736 )
2018-04-18 07:39:33 -07:00
Dmitry Astapov
d82370d10b
lib, app, web: remove differences between command line and journal file aliases
2018-04-17 16:09:11 -07:00
Dmitry Astapov
f6ec26e321
lib, app, web, ui: rename readJournalFile[s]WithOpts to readJournalFile, same for tryReader[s]WithOpts
2018-04-17 15:25:02 -07:00
Simon Michael
ae8046d47b
lib: restore/update haddocks on readJournalFile[s]WithOpts
...
[ci skip]
2018-04-17 14:34:43 -07:00
Dmitry Astapov
5579af9a04
lib: remove readJournalFile(s) - supeceded by readJournalFile(s)WithOpts
2018-04-17 14:33:32 -07:00
Dmitry Astapov
37607beaea
lib, app, web: use readJournalFileWithOpts instead of readJournalFile whenever possible
2018-04-17 14:33:32 -07:00
Dmitry Astapov
93814652f8
lib: auto postings are generated right after posting that triggered them ( #729 )
2018-04-17 14:33:32 -07:00
Dmitry Astapov
ecf49b1e4b
lib: auto postings generated before amount inference and balance checks ( #729 )
2018-04-17 14:33:32 -07:00
Everett Hildenbrandt
c69fbff6d9
CsvReader: print more information about amount-in/out errors
2018-04-15 16:52:52 -07:00
Pavlo Kerestey
63d4c51dc4
Use quoteIfNeeded in quoteIfSpaced. Fix escapeDoubleQuotes to escape
2018-04-12 12:04:20 -07:00
Pavlo Kerestey
980210070a
Explicit exports of Hledger.Utils.Text
2018-04-12 12:04:20 -07:00
Simon Michael
0b5ddcebee
cli: clarify smart dates with more examples; add support for YYYYMM
2018-04-04 17:45:23 +01:00
Simon Michael
4ff3a749c6
lib: note an oddity with runJournalParser
2018-03-31 02:44:31 +01:00
Mykola Orliuk
b377bff90a
lib: support scientific number notation ( #704 , #706 )
...
closes simonmichael/hledger#704
2018-03-31 01:49:46 +01:00
Simon Michael
2b34ff1184
lib: reportSpan debug output
2018-03-30 02:41:03 +01:00
Simon Michael
ebaac2866b
lib: fix reportStartEndDates, rename to reportSpan
2018-03-30 00:16:35 +01:00
Simon Michael
dc4def835c
lib: refactor runPeriodicTransaction, add a test
2018-03-29 18:11:34 +01:00
Simon Michael
d060398484
lib: splitSpan: return no spans for an empty datespan
...
Fixes an issue where a bounded budget could wrongly appear in a
disjoint report period.
2018-03-29 18:10:51 +01:00
Simon Michael
4d562ef068
lib: don't count periodic/modifier txns in Journal debug output
2018-03-29 16:45:34 +01:00
Simon Michael
083d9190fd
budget: only periodic txns with the selected interval are used
2018-03-29 15:51:52 +01:00
Moritz Kiefer
d7b68fbd7d
Use skipMany/skipSome for parsing spacenonewline
...
This avoids allocating the list of space characters only to then
discard it.
2018-03-25 22:59:05 +01:00
Simon Michael
84579bb1b4
silence redundant import warnings with ghc 8.4
2018-03-24 22:51:56 +00:00
Peter Simons
4c5a58ec1e
hledger-lib: add missing Semigroup instance for Journal
...
GHC 8.4.1 makes Semigroup a superclass of Monoid. See
https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid
for details.
2018-03-12 23:17:14 +00:00
Simon Michael
968ae13035
lib: redo buggy Amount refactoring
2018-02-16 02:26:39 -08:00
Simon Michael
b6a089b8a3
lib: Amount: hlint
2018-02-15 17:28:23 -08:00
Simon Michael
b231d99e38
lib: Account, AccountName: hlint
2018-02-15 11:38:34 -08:00
Simon Michael
6d94eed6fd
lib: Types: fix/silence hlint warnings
2018-02-15 07:35:51 -08:00
Simon Michael
13855d6b53
csv: no csv records is no longer an error
2018-02-01 09:41:03 -08:00
Simon Michael
d3fde29b36
bal: --invert flag to flip all signs
2018-01-29 14:53:23 -08:00
Simon Michael
9b88fc2ed0
bal/bs/cf/is: sort accounts by account code, if any, then account name
...
If any accounts have numeric codes assigned via account directives,
those accounts will be listed first, lowest account codes first.
2018-01-23 11:33:24 -08:00
Simon Michael
d420a8b534
journal: account directive: parse and store a numeric account code also
2018-01-23 11:33:23 -08:00
Simon Michael
88ef586480
lib: rename, clarify purpose of balanceReportFromMultiBalanceReport
2018-01-23 11:32:24 -08:00
Simon Michael
5b1883fcdf
bs/bse/cf/is: fix display of abbreviated name for December
2018-01-19 12:45:51 -08:00
Simon Michael
e9624486b6
bs/bse/cf/is: show local abbreviated month names on monthly columns
2018-01-18 11:46:12 -08:00
Simon Michael
6b349e3123
bs/bse/cf/is: show all balances as normally-positive (experimental)
...
Income, liability and equity balances, which until now we have
always displayed as negative numbers, are now shown as normally positive
by these reports.
Negative numbers now indicate a contra-balance (eg an overdrawn
checking account), a net loss, a negative net worth, etc.
This makes these reports more like conventional financial statements,
and easier to read and share with normal people.
2018-01-18 11:01:07 -08:00
Simon Michael
3b2a9eaba4
lib: refactor
2018-01-15 14:15:52 -08:00
Simon Michael
79812f974a
rename NormalBalance -> NormalSign
2018-01-15 14:12:38 -08:00
Simon Michael
fedf36e823
lib: when the text encoding is UTF-8, ignore any UTF-8 BOM prefix
...
Paypal's new CSV has this BOM prefix (at the time of writing),
which was causing a confusing parse error.
2018-01-04 16:29:23 -08:00
Simon Michael
81e964502b
lib: refactor low-level text file reading
2018-01-04 16:17:25 -08:00
Simon Michael
ecdbc05703
Merge branch 'feature/space-as-digits-sep' of https://github.com/ony/hledger into ony-feature/space-as-digits-sep
2017-12-30 09:29:22 -08:00
Simon Michael
8f55b6137d
uses today's prices, not those of last txn date, for -V (fix #683,#648)
2017-12-29 21:42:59 -08:00
Simon Michael
69e255cead
lib: deduplicate, refactor valuation code
2017-12-29 16:52:08 -08:00