Commit graph

164 commits

Author SHA1 Message Date
John Wiegley
7bb83173da Added some missing DEBUG #if's 2012-03-07 08:34:15 -06:00
John Wiegley
71d0033b6f Corrected several compile and link problems 2012-03-06 23:04:27 -06:00
John Wiegley
3ea5d88eb3 The last test is closer to working now 2012-03-05 05:03:52 -06:00
John Wiegley
8d6bf11334 All tests are working again but one 2012-03-05 05:03:52 -06:00
John Wiegley
48ab6ad1db Switched to using Boost.Graph for commodity pricing 2012-03-05 05:03:52 -06:00
John Wiegley
e2afc783db Increased file copyrights to 2012 2012-02-29 22:32:23 -06:00
John Wiegley
6adfcc8469 Rewrite the way interval reports are generated 2012-02-28 02:34:37 -06:00
John Wiegley
887f429ae4 Added debug code for debugging interval reports 2012-02-28 01:37:29 -06:00
John Wiegley
fc62402c60 Fixed nasty problem related to interval reporting 2012-02-28 00:08:39 -06:00
John Wiegley
c3a9a7d2c5 Fixed many Clang type conversion warnings with static_cast 2012-02-17 15:17:52 -06:00
John Wiegley
a19b541dd9 Removed unneeded default cases 2012-02-17 15:15:32 -06:00
John Wiegley
3fd0c4229c Fixes for variable shadowing (14/28) 2012-02-17 15:06:12 -06:00
John Wiegley
f0791bbd72 Cleanup whitespace 2011-08-18 14:48:38 -04:00
John Wiegley
add6f6ca2a Removed unused variables 2011-08-18 14:46:36 -04:00
John Wiegley
cf35984971 Use Boost iterator_facade to create new iterators 2011-07-19 23:29:41 -05:00
John Wiegley
d0dfff62a6 Changed how some of the filters are constructed 2011-07-17 16:25:05 -05:00
John Wiegley
d36606582f Whitespace fix 2011-07-02 17:51:35 -05:00
John Wiegley
96dc3dcf9e Simplified some code 2011-06-30 09:26:14 -05:00
John Wiegley
77e6694de5 Corrected a debug string 2011-06-30 09:26:03 -05:00
John Wiegley
a5f2c25f47 Whitespace fix 2011-06-30 09:25:58 -05:00
John Wiegley
21a123e525 Corrected a lingering reference to a temporary
Fixes: CEE57FBC-DF19-40DD-901D-68B1AEC29888
2011-02-10 23:00:18 -05:00
John Wiegley
7b6cc4c365 Output budget even if no postings directly matched 2010-06-20 20:55:24 -04:00
John Wiegley
c5714a81e3 Factored out some unused local variables 2010-06-20 20:29:56 -04:00
John Wiegley
3a5653e365 Rename dow_posts to day_of_week_posts, to be clearer 2010-06-20 20:29:56 -04:00
John Wiegley
b95818026f When anonymizing posts, remove the transaction code 2010-06-20 17:13:59 -04:00
John Wiegley
135d997293 If a periodic posting terminates, stop forecasting with it 2010-06-20 17:08:27 -04:00
John Wiegley
6770380b6d Subsantial fixes and improvements to budgeting
1. A bounded budget "from DATE to DATE" will now generate entries
    throughout that entire range, if it is triggered.

 2. An unbounded budget begins, as before, in the timeframe of the
    reported posting which triggered it, but now continues until the
    present date.
2010-06-19 16:07:59 -04:00
John Wiegley
4bbce6dc7b When --inject is used for a tag, convert to an amount 2010-06-18 19:44:10 -04:00
John Wiegley
b7ea365bfc Renamed the "Rounding" account to "Adjustment" 2010-06-18 08:29:14 -04:00
John Wiegley
5da1e7756d Added new option --inject=KEY[,KEY...]
If you have a typed metadata key which contains an amount, you can use
--inject=KEY to inject a posting with that amount wherever a match
occurs.  There are two main forms of usage:

  2010-06-18 Sample
      ; Key:: $100
      Expenses:Food                $100.00
      Assets:Checking

The command would be:

  ledger reg --inject=Key

In the above, transactional form, a posting under the account "Key" will
be injected before the first posting reported for this transaction.
It's amount will be $100.  This only happens once for the whole
transaction.

It is also possible to associate the key with a posting:

  2010-06-18 Sample
      Expenses:Food                $100.00
      ; Key:: $100
      Assets:Checking

Now the injected posting is generated whenever that particular post is
reported.
2010-06-18 02:28:12 -04:00
John Wiegley
b881220987 Minor fix to the way transfer_details sets post date 2010-06-18 02:20:12 -04:00
John Wiegley
31e8ed7587 Individual postings may each have their own payee
If a posting has the metadata field "Payee" set to a string, that will
be used as the payee name for that posting.  This affects the register
report, the payees report, and the --by-payee option.

This is useful because sometimes I send, say, 4 checks at a time to my
bank.  So on my bank statement, this is all just one amount:

   2010-06-17 Sample
     Assets:Bank        $400.00
     Income:Check1     $-100.00
     Income:Check2     $-100.00
     Income:Check3     $-100.00
     Income:Check4     $-100.00

Though it's important that the Assets:Bank posting be a single posting
of $400 value, I'd like for income reports to show whom each check came
from.  Now I can say:

   2010-06-17 Sample
     Assets:Bank        $400.00
     Income:Check1     $-100.00  ; Payee: Person One
     Income:Check2     $-100.00  ; Payee: Person Two
     Income:Check3     $-100.00  ; Payee: Person Three
     Income:Check4     $-100.00  ; Payee: Person Four

When I report this, it appears as:

10-Jun-17 Sample             Assets:Bank             $400.00     $400.00
          Person One         Income:Check1          $-100.00     $300.00
          Person Two         Income:Check2          $-100.00     $200.00
          Person Three       Income:Check3          $-100.00     $100.00
          Person Four        Income:Check4          $-100.00           0

This shows that they are all in the same transaction (which is why the
date is not repeated), but they have different payees.
2010-06-17 23:42:23 -04:00
John Wiegley
968a6f3c0a Changes for building with Visual Studio 2008 2010-06-15 05:14:00 -04:00
John Wiegley
847a5fae3d Removed some unneeded code 2010-06-14 01:00:11 -04:00
John Wiegley
e78af146e8 Corrected bug with forecasting date bounded xacts 2010-06-13 23:41:50 -04:00
John Wiegley
a1fc3c5cfe The --anon option now randomizes its effect 2010-06-12 14:43:40 -04:00
John Wiegley
dea2aed0b5 Untabified all source files 2010-06-11 17:02:25 -04:00
John Wiegley
91a99fc88e Fix to budgeting when fixed dates are involved 2010-06-10 08:17:32 -04:00
John Wiegley
c28fad384c The --anon option now anonymizes commodities
Fixes #227 / 1C90D8AF-830E-43C2-A5B7-D382F68EBDE3
2010-06-09 07:47:45 -04:00
John Wiegley
659741ac47 Insert <Rounding> posts within the affected xact 2010-06-09 02:25:53 -04:00
John Wiegley
fc09b69fb7 Fixed interaction with -V/X and grouped postings
With -s, -M/Y/D, -n, and a few other flags, postings get "grouped" into
meta-transactions that contain more postings than before.  In all these
cases, -V use the date of the *earliest* posting in that group, which
makes little sense and caused breakages with -J.  It now uses the latest
date.

Fixes #197 / 68EAF363-D0FE-4127-866E-A5AEBACB65D6
2010-06-09 02:22:50 -04:00
John Wiegley
8bd362b5d1 Minor optimization of how non --empty is handled 2010-06-07 08:32:13 -04:00
John Wiegley
39f9854e2c Reworked the way that <Rounding> entries are shown
Fixes #188 / 53BCED29-F3B9-4E02-9A35-6C739ABB9662
2010-06-06 06:20:07 -04:00
John Wiegley
63c7ba0322 Make --anon work with the print command
Fixes #226 / C1C1E731-D991-40ED-BE43-8ED55585386C
2010-06-05 02:46:22 -04:00
John Wiegley
b848ace768 Allow opt -NDEBUG build to complete without warnings 2010-06-04 06:02:00 -04:00
John Wiegley
27b86a5388 Avoid unnecessary object copying when using foreach 2010-06-03 17:43:38 -04:00
John Wiegley
d513c71236 Minor optimization 2010-06-01 17:40:27 -04:00
John Wiegley
654c842348 -G option now takes price history into account 2010-05-30 21:58:05 -06:00
John Wiegley
5a2644c1b7 -V/-X options now take price history into account 2010-05-30 20:49:50 -06:00
John Wiegley
58621a96a2 Made several debug categories more consistent 2010-05-30 20:43:45 -06:00