diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,7 +1,14 @@
 Internal/api/developer-ish changes in the hledger-lib (and hledger) packages.
 For user-visible changes, see the hledger package changelog.
 
-# 16a3c96d
+# 1.15.2 2019-09-05
+
+Changes:
+
+- postingApplyValuation, mixedAmountApplyValuation, amountApplyValuation
+  take an argument, the report end date if one was specified.
+
+# 1.15.1 2019-09-02
 
 - fix failing doctests
 
diff --git a/Hledger/Data/Posting.hs b/Hledger/Data/Posting.hs
--- a/Hledger/Data/Posting.hs
+++ b/Hledger/Data/Posting.hs
@@ -331,19 +331,20 @@
   | otherwise = a
 aliasReplace (RegexAlias re repl) a = T.pack $ regexReplaceCIMemo re repl $ T.unpack a -- XXX
 
--- Apply a specified valuation to this posting's amount, using the provided
--- price oracle, commodity styles, period-end/current dates, and whether
--- this is for a multiperiod report or not.
-postingApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Day -> Bool -> Posting -> ValuationType -> Posting
-postingApplyValuation priceoracle styles periodend today ismultiperiod p v =
+-- | Apply a specified valuation to this posting's amount, using the
+-- provided price oracle, commodity styles, reference dates, and
+-- whether this is for a multiperiod report or not. See
+-- amountApplyValuation.
+postingApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Maybe Day -> Day -> Bool -> Posting -> ValuationType -> Posting
+postingApplyValuation priceoracle styles periodlast mreportlast today ismultiperiod p v =
   case v of
     AtCost    Nothing            -> postingToCost styles p
-    AtCost    mc                 -> postingValueAtDate priceoracle styles mc periodend $ postingToCost styles p
-    AtEnd     mc                 -> postingValueAtDate priceoracle styles mc periodend p
-    AtNow     mc                 -> postingValueAtDate priceoracle styles mc today     p
-    AtDefault mc | ismultiperiod -> postingValueAtDate priceoracle styles mc periodend p
-    AtDefault mc                 -> postingValueAtDate priceoracle styles mc today     p
-    AtDate d  mc                 -> postingValueAtDate priceoracle styles mc d         p
+    AtCost    mc                 -> postingValueAtDate priceoracle styles mc periodlast $ postingToCost styles p
+    AtEnd     mc                 -> postingValueAtDate priceoracle styles mc periodlast p
+    AtNow     mc                 -> postingValueAtDate priceoracle styles mc today p
+    AtDefault mc | ismultiperiod -> postingValueAtDate priceoracle styles mc periodlast p
+    AtDefault mc                 -> postingValueAtDate priceoracle styles mc (fromMaybe today mreportlast) p
+    AtDate d  mc                 -> postingValueAtDate priceoracle styles mc d p
 
 -- | Convert this posting's amount to cost, and apply the appropriate amount styles.
 postingToCost :: M.Map CommoditySymbol AmountStyle -> Posting -> Posting
diff --git a/Hledger/Data/Valuation.hs b/Hledger/Data/Valuation.hs
--- a/Hledger/Data/Valuation.hs
+++ b/Hledger/Data/Valuation.hs
@@ -97,26 +97,52 @@
 ------------------------------------------------------------------------------
 -- Valuation
 
--- | Apply a specified valuation to this mixed amount, using the provided
--- price oracle, commodity styles, period-end/current dates,
--- and whether this is for a multiperiod report or not.
-mixedAmountApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Day -> Bool -> ValuationType -> MixedAmount -> MixedAmount
-mixedAmountApplyValuation priceoracle styles periodend today ismultiperiod v (Mixed as) =
-  Mixed $ map (amountApplyValuation priceoracle styles periodend today ismultiperiod v) as
+-- | Apply a specified valuation to this mixed amount, using the
+-- provided price oracle, commodity styles, reference dates, and
+-- whether this is for a multiperiod report or not.
+-- See amountApplyValuation.
+mixedAmountApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Maybe Day -> Day -> Bool -> ValuationType -> MixedAmount -> MixedAmount
+mixedAmountApplyValuation priceoracle styles periodlast mreportlast today ismultiperiod v (Mixed as) =
+  Mixed $ map (amountApplyValuation priceoracle styles periodlast mreportlast today ismultiperiod v) as
 
 -- | Apply a specified valuation to this amount, using the provided
--- price oracle, commodity styles, period-end/current dates,
--- and whether this is for a multiperiod report or not.
-amountApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Day -> Bool -> ValuationType -> Amount -> Amount
-amountApplyValuation priceoracle styles periodend today ismultiperiod v a =
+-- price oracle, reference dates, and whether this is for a
+-- multiperiod report or not. Also fix up its display style using the
+-- provided commodity styles.
+--
+-- When the valuation requires converting to another commodity, a
+-- valuation (conversion) date is chosen based on the valuation type,
+-- the provided reference dates, and whether this is for a
+-- single-period or multi-period report. It will be one of:
+--
+-- - a fixed date specified by the ValuationType itself
+--   (--value=DATE).
+-- 
+-- - the provided "period end" date - this is typically the last day
+--   of a subperiod (--value=end with a multi-period report), or of
+--   the specified report period or the journal (--value=end with a
+--   single-period report).
+--
+-- - the provided "report end" date - the last day of the specified
+--   report period, if any (-V/-X with a report end date).
+--
+-- - the provided "today" date - (--value=now, or -V/X with no report
+--   end date).
+-- 
+-- This is all a bit complicated. See the reference doc at
+-- https://hledger.org/hledger.html#effect-of-value-on-reports
+-- (hledger_options.m4.md "Effect of --value on reports"), and #1083.
+--
+amountApplyValuation :: PriceOracle -> M.Map CommoditySymbol AmountStyle -> Day -> Maybe Day -> Day -> Bool -> ValuationType -> Amount -> Amount
+amountApplyValuation priceoracle styles periodlast mreportlast today ismultiperiod v a =
   case v of
     AtCost    Nothing            -> amountToCost styles a
-    AtCost    mc                 -> amountValueAtDate priceoracle styles mc periodend $ amountToCost styles a
-    AtEnd     mc                 -> amountValueAtDate priceoracle styles mc periodend a
-    AtNow     mc                 -> amountValueAtDate priceoracle styles mc today     a
-    AtDefault mc | ismultiperiod -> amountValueAtDate priceoracle styles mc periodend a
-    AtDefault mc                 -> amountValueAtDate priceoracle styles mc today     a
-    AtDate d  mc                 -> amountValueAtDate priceoracle styles mc d         a
+    AtCost    mc                 -> amountValueAtDate priceoracle styles mc periodlast $ amountToCost styles a
+    AtEnd     mc                 -> amountValueAtDate priceoracle styles mc periodlast a
+    AtNow     mc                 -> amountValueAtDate priceoracle styles mc today a
+    AtDefault mc | ismultiperiod -> amountValueAtDate priceoracle styles mc periodlast a
+    AtDefault mc                 -> amountValueAtDate priceoracle styles mc (fromMaybe today mreportlast) a
+    AtDate d  mc                 -> amountValueAtDate priceoracle styles mc d a
 
 -- | Find the market value of each component amount in the given
 -- commodity, or its default valuation commodity, at the given
diff --git a/Hledger/Reports/BalanceReport.hs b/Hledger/Reports/BalanceReport.hs
--- a/Hledger/Reports/BalanceReport.hs
+++ b/Hledger/Reports/BalanceReport.hs
@@ -71,25 +71,24 @@
       -- dbg1 = const id -- exclude from debug output
       dbg1 s = let p = "balanceReport" in Hledger.Utils.dbg1 (p++" "++s)  -- add prefix in debug output
 
-      today = fromMaybe (error' "balanceReport: ReportOpts today_ is unset so could not satisfy --value=now") today_
-      multiperiod = interval_ /= NoInterval
-      styles = journalCommodityStyles j
-
       -- Get all the summed accounts & balances, according to the query, as an account tree.
       -- If doing cost valuation, amounts will be converted to cost first.
       accttree = ledgerRootAccount $ ledgerFromJournal q $ journalSelectingAmountFromOpts ropts j
 
-      -- For other kinds of valuation, convert the summed amounts to value.
-      priceoracle = journalPriceOracle j
-      valuedaccttree = mapAccounts valueaccount accttree
+      -- For other kinds of valuation, convert the summed amounts to value,
+      -- per hledger_options.m4.md "Effect of --value on reports".
+      valuedaccttree = mapAccounts avalue accttree
         where
-          valueaccount a@Account{..} = a{aebalance=val aebalance, aibalance=val aibalance}
+          avalue a@Account{..} = a{aebalance=bvalue aebalance, aibalance=bvalue aibalance}
             where
-              val = maybe id (mixedAmountApplyValuation priceoracle styles periodlastday today multiperiod) value_
+              bvalue = maybe id (mixedAmountApplyValuation (journalPriceOracle j) (journalCommodityStyles j) periodlast mreportlast today multiperiod) value_
                 where
-                  periodlastday =
+                  periodlast =
                     fromMaybe (error' "balanceReport: expected a non-empty journal") $ -- XXX shouldn't happen
                     reportPeriodOrJournalLastDay ropts j
+                  mreportlast = reportPeriodLastDay ropts
+                  today = fromMaybe (error' "balanceReport: could not pick a valuation date, ReportOpts today_ is unset") today_
+                  multiperiod = interval_ /= NoInterval
 
       -- Modify this tree for display - depth limit, boring parents, zeroes - and convert to a list.
       displayaccts :: [Account]
diff --git a/Hledger/Reports/EntriesReport.hs b/Hledger/Reports/EntriesReport.hs
--- a/Hledger/Reports/EntriesReport.hs
+++ b/Hledger/Reports/EntriesReport.hs
@@ -14,11 +14,9 @@
 )
 where
 
-import Control.Applicative ((<|>))
 import Data.List
 import Data.Maybe
 import Data.Ord
-import Data.Time.Calendar (Day, addDays)
 
 import Hledger.Data
 import Hledger.Query
@@ -35,28 +33,19 @@
 -- | Select transactions for an entries report.
 entriesReport :: ReportOpts -> Query -> Journal -> EntriesReport
 entriesReport ropts@ReportOpts{..} q j@Journal{..} =
-  sortBy (comparing datefn) $ filter (q `matchesTransaction`) $ map tvalue jtxns
+  sortBy (comparing getdate) $ filter (q `matchesTransaction`) $ map tvalue jtxns
   where
-    datefn = transactionDateFn ropts
-    styles = journalCommodityStyles j
+    getdate = transactionDateFn ropts
+    -- We may be converting posting amounts to value, per hledger_options.m4.md "Effect of --value on reports".
     tvalue t@Transaction{..} = t{tpostings=map pvalue tpostings}
-    priceoracle = journalPriceOracle j
-    pvalue p = maybe p (postingApplyValuation priceoracle styles end today False p) value_
       where
-        today  = fromMaybe (error' "erValue: ReportOpts today_ is unset so could not satisfy --value=now") today_
-        end    = fromMaybe (postingDate p) mperiodorjournallastday
+        pvalue p = maybe p
+          (postingApplyValuation (journalPriceOracle j) (journalCommodityStyles j) periodlast mreportlast today False p)
+          value_
           where
-            mperiodorjournallastday = mperiodlastday <|> journalEndDate False j
-              where
-                -- The last day of the report period.
-                -- Will be Nothing if no report period is specified, or also
-                -- if ReportOpts does not have today_ set, since we need that
-                -- to get the report period robustly.
-                mperiodlastday :: Maybe Day = do
-                  t <- today_
-                  let q = queryFromOpts t ropts
-                  qend <- queryEndDate False q
-                  return $ addDays (-1) qend
+            periodlast  = fromMaybe today $ reportPeriodOrJournalLastDay ropts j
+            mreportlast = reportPeriodLastDay ropts
+            today       = fromMaybe (error' "erValue: could not pick a valuation date, ReportOpts today_ is unset") today_  -- should not happen
 
 tests_EntriesReport = tests "EntriesReport" [
   tests "entriesReport" [
diff --git a/Hledger/Reports/MultiBalanceReport.hs b/Hledger/Reports/MultiBalanceReport.hs
--- a/Hledger/Reports/MultiBalanceReport.hs
+++ b/Hledger/Reports/MultiBalanceReport.hs
@@ -245,9 +245,6 @@
       -- 6. Build the report rows.
 
       -- One row per account, with account name info, row amounts, row total and row average.
-      -- Row amounts are converted to value if that has been requested.
-      -- Row total/average are always simply the sum/average of the row amounts.
-      multiperiod = interval_ /= NoInterval
       rows :: [MultiBalanceReportRow] =
           dbg1 "rows" $
           [(a, accountLeafName a, accountNameLevel a, valuedrowbals, rowtot, rowavg)
@@ -259,38 +256,25 @@
                    PeriodChange      -> changes
                    CumulativeChange  -> drop 1 $ scanl (+) 0                      changes
                    HistoricalBalance -> drop 1 $ scanl (+) (startingBalanceFor a) changes
-             -- The row amounts valued according to --value if needed.
-           , let val end = maybe id (mixedAmountApplyValuation priceoracle styles end today multiperiod) value_
-           , let valuedrowbals = dbg1 "valuedrowbals" $ [val periodlastday amt | (amt,periodlastday) <- zip rowbals lastdays]
-             -- The total and average for the row, and their values.
+             -- We may be converting amounts to value, per hledger_options.m4.md "Effect of --value on reports".
+           , let valuedrowbals = dbg1 "valuedrowbals" $ [avalue periodlastday amt | (amt,periodlastday) <- zip rowbals lastdays]
+             -- The total and average for the row.
+             -- These are always simply the sum/average of the displayed row amounts.
              -- Total for a cumulative/historical report is always zero.
            , let rowtot = if balancetype_==PeriodChange then sum valuedrowbals else 0
            , let rowavg = averageMixedAmounts valuedrowbals
            , empty_ || depth == 0 || any (not . isZeroMixedAmount) valuedrowbals
            ]
         where
-          -- Some things needed if doing valuation.
-          -- Here's the current intended effect of --value on each part of the report:
-          --  -H/--historical starting balances:
-          --   cost: summed cost of previous postings
-          --   end:  historical starting balances valued at day before report start
-          --   date: historical starting balances valued at date
-          --  table cells:
-          --   cost: summed costs of postings
-          --   end:  summed postings, valued at subperiod end
-          --   date: summed postings, valued at date
-          --  column totals:
-          --   cost: summed column amounts
-          --   end:  summed column amounts
-          --   date: summed column amounts
-          --  row totals & averages, grand total & average:
-          --   cost: summed/averaged row amounts
-          --   end:  summed/averaged row amounts
-          --   date: summed/averaged row amounts
-          today = fromMaybe (error' "multiBalanceReport: ReportOpts today_ is unset so could not satisfy --value=now") today_  -- XXX shouldn't error if not needed, eg valuation type is AtDate
-          -- Market prices, commodity display styles.
-          styles = journalCommodityStyles j
-          -- The last day of each column subperiod.
+          avalue periodlast =
+            maybe id (mixedAmountApplyValuation priceoracle styles periodlast mreportlast today multiperiod) value_
+            where
+              -- Some things needed if doing valuation.
+              styles = journalCommodityStyles j
+              mreportlast = reportPeriodLastDay ropts
+              today = fromMaybe (error' "multiBalanceReport: could not pick a valuation date, ReportOpts today_ is unset") today_  -- XXX shouldn't happen
+              multiperiod = interval_ /= NoInterval
+          -- The last day of each column's subperiod.
           lastdays =
             map ((maybe
                   (error' "multiBalanceReport: expected all spans to have an end date")  -- XXX should not happen
diff --git a/Hledger/Reports/PostingsReport.hs b/Hledger/Reports/PostingsReport.hs
--- a/Hledger/Reports/PostingsReport.hs
+++ b/Hledger/Reports/PostingsReport.hs
@@ -70,67 +70,60 @@
 postingsReport ropts@ReportOpts{..} q j@Journal{..} =
   (totallabel, items)
     where
-      reportspan = adjustReportDates ropts q j
-      whichdate = whichDateFromOpts ropts
-      depth = queryDepth q
-      styles = journalCommodityStyles j
+      reportspan  = adjustReportDates ropts q j
+      whichdate   = whichDateFromOpts ropts
+      depth       = queryDepth q
+      styles      = journalCommodityStyles j
+      priceoracle = journalPriceOracle j
+      multiperiod = interval_ /= NoInterval
+      today       = fromMaybe (error' "postingsReport: could not pick a valuation date, ReportOpts today_ is unset") today_
 
       -- postings to be included in the report, and similarly-matched postings before the report start date
       (precedingps, reportps) = matchedPostingsBeforeAndDuring ropts q j reportspan
 
-      -- We may be converting amounts to value.
-      -- Currently this is done as follows (keep synced with hledger_options.m4.md):
-      --  register -M --value
-      --   cost: value each posting at cost, then summarise ; value -H starting balance at cost
-      --   end:  value each summary posting at period end   ; value -H starting balance at day before report start
-      --   date: value each summary posting at date         ; value -H starting balance at date
-      --  register --value
-      --   cost: value each posting at cost                 ; value -H starting balance at cost
-      --   end:  value each posting at report end           ; value -H starting balance at day before report start
-      --   date: value each posting at date                 ; value -H starting balance at date
-      --
-      --  In all cases, the running total/average is calculated from the above numbers.
-      --  "Day before report start" is a bit arbitrary.
-      today =
-        fromMaybe (error' "postingsReport: ReportOpts today_ is unset so could not satisfy --value=now")
-        today_
-      reportperiodlastday =
-        fromMaybe (error' "postingsReport: expected a non-empty journal") $ -- XXX shouldn't happen
-        reportPeriodOrJournalLastDay ropts j
-      multiperiod = interval_ /= NoInterval
-      showempty = empty_ || average_
-      priceoracle = journalPriceOracle j
-      pvalue p end = maybe p (postingApplyValuation priceoracle styles end today multiperiod p) value_
-
       -- Postings, or summary postings with their subperiod's end date, to be displayed.
       displayps :: [(Posting, Maybe Day)]
         | multiperiod =
             let summaryps = summarisePostingsByInterval interval_ whichdate depth showempty reportspan reportps
             in [(pvalue p lastday, Just periodend) | (p, periodend) <- summaryps, let lastday = addDays (-1) periodend]
         | otherwise =
-            [(pvalue p reportperiodlastday, Nothing) | p <- reportps]
+            [(pvalue p reportorjournallast, Nothing) | p <- reportps]
+        where
+          showempty = empty_ || average_
+          -- We may be converting posting amounts to value, per hledger_options.m4.md "Effect of --value on reports".
+          pvalue p periodlast = maybe p (postingApplyValuation priceoracle styles periodlast mreportlast today multiperiod p) value_
+            where
+              mreportlast = reportPeriodLastDay ropts
+          reportorjournallast =
+            fromMaybe (error' "postingsReport: expected a non-empty journal") $ -- XXX shouldn't happen
+            reportPeriodOrJournalLastDay ropts j
 
-      -- posting report items ready for display
-      items = dbg1 "postingsReport items" $ postingsReportItems displayps (nullposting,Nothing) whichdate depth startbalvalued runningcalc startnum
+      -- Posting report items ready for display.
+      items =
+        dbg1 "postingsReport items" $
+        postingsReportItems displayps (nullposting,Nothing) whichdate depth startbal runningcalc startnum
         where
+          -- In historical mode we'll need a starting balance, which we
+          -- may be converting to value per hledger_options.m4.md "Effect
+          -- of --value on reports".
+          -- XXX balance report doesn't value starting balance.. should this ?
           historical = balancetype_ == HistoricalBalance
-          precedingsum = sumPostings precedingps
-          precedingavg | null precedingps = 0
-                       | otherwise        = divideMixedAmount (fromIntegral $ length precedingps) precedingsum
-          startbal | average_  = if historical then precedingavg else 0
-                   | otherwise = if historical then precedingsum else 0
-          -- For --value=end/now/DATE, convert the initial running total/average to value.
-          startbalvalued = val startbal
+          startbal | average_  = if historical then bvalue precedingavg else 0
+                   | otherwise = if historical then bvalue precedingsum else 0
             where
-              val = maybe id (mixedAmountApplyValuation priceoracle styles daybeforereportstart today multiperiod) value_
+              precedingsum = sumPostings precedingps
+              precedingavg | null precedingps = 0
+                           | otherwise        = divideMixedAmount (fromIntegral $ length precedingps) precedingsum
+              bvalue = maybe id (mixedAmountApplyValuation priceoracle styles daybeforereportstart Nothing today multiperiod) value_
+                  -- XXX constrain valuation type to AtDate daybeforereportstart here ?
                 where
-                  daybeforereportstart = maybe
-                                         (error' "postingsReport: expected a non-empty journal") -- XXX shouldn't happen
-                                         (addDays (-1))
-                                         $ reportPeriodOrJournalStart ropts j
+                  daybeforereportstart =
+                    maybe (error' "postingsReport: expected a non-empty journal") -- XXX shouldn't happen
+                    (addDays (-1))
+                    $ reportPeriodOrJournalStart ropts j
 
-          startnum = if historical then length precedingps + 1 else 1
           runningcalc = registerRunningCalculationFn ropts
+          startnum = if historical then length precedingps + 1 else 1
 
 -- | Based on the given report options, return a function that does the appropriate
 -- running calculation for the register report, ie a running average or running total.
diff --git a/hledger-lib.cabal b/hledger-lib.cabal
--- a/hledger-lib.cabal
+++ b/hledger-lib.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: f27fe6795990dd3740ec4ca8e421ad8faaf22945809a16448fcf4d5ac0174165
+-- hash: 567ed725b211714a0f6db5e17a68d670789c7e603020b42d6b8f18e7af5ceb63
 
 name:           hledger-lib
-version:        1.15.1
+version:        1.15.2
 synopsis:       Core data types, parsers and functionality for the hledger accounting tools
 description:    This is a reusable library containing hledger's core functionality.
                 .
diff --git a/hledger_csv.5 b/hledger_csv.5
--- a/hledger_csv.5
+++ b/hledger_csv.5
@@ -1,5 +1,5 @@
 
-.TH "hledger_csv" "5" "August 2019" "hledger 1.15" "hledger User Manuals"
+.TH "hledger_csv" "5" "September 2019" "hledger 1.15.2" "hledger User Manuals"
 
 
 
diff --git a/hledger_csv.info b/hledger_csv.info
--- a/hledger_csv.info
+++ b/hledger_csv.info
@@ -3,8 +3,8 @@
 
 File: hledger_csv.info,  Node: Top,  Next: CSV RULES,  Up: (dir)
 
-hledger_csv(5) hledger 1.15
-***************************
+hledger_csv(5) hledger 1.15.2
+*****************************
 
 hledger can read CSV (comma-separated value) files as if they were
 journal files, automatically converting each CSV record into a
@@ -350,35 +350,35 @@
 
 Tag Table:
 Node: Top72
-Node: CSV RULES2161
-Ref: #csv-rules2269
-Node: skip2532
-Ref: #skip2626
-Node: date-format2798
-Ref: #date-format2925
-Node: field list3475
-Ref: #field-list3612
-Node: field assignment4342
-Ref: #field-assignment4497
-Node: conditional block5121
-Ref: #conditional-block5275
-Node: include6171
-Ref: #include6301
-Node: newest-first6532
-Ref: #newest-first6646
-Node: CSV TIPS7057
-Ref: #csv-tips7151
-Node: CSV ordering7295
-Ref: #csv-ordering7413
-Node: CSV accounts7594
-Ref: #csv-accounts7732
-Node: CSV amounts7986
-Ref: #csv-amounts8144
-Node: CSV balance assertions/assignments9224
-Ref: #csv-balance-assertionsassignments9442
-Node: Reading multiple CSV files9763
-Ref: #reading-multiple-csv-files9963
-Node: Valid CSV10237
-Ref: #valid-csv10360
+Node: CSV RULES2165
+Ref: #csv-rules2273
+Node: skip2536
+Ref: #skip2630
+Node: date-format2802
+Ref: #date-format2929
+Node: field list3479
+Ref: #field-list3616
+Node: field assignment4346
+Ref: #field-assignment4501
+Node: conditional block5125
+Ref: #conditional-block5279
+Node: include6175
+Ref: #include6305
+Node: newest-first6536
+Ref: #newest-first6650
+Node: CSV TIPS7061
+Ref: #csv-tips7155
+Node: CSV ordering7299
+Ref: #csv-ordering7417
+Node: CSV accounts7598
+Ref: #csv-accounts7736
+Node: CSV amounts7990
+Ref: #csv-amounts8148
+Node: CSV balance assertions/assignments9228
+Ref: #csv-balance-assertionsassignments9446
+Node: Reading multiple CSV files9767
+Ref: #reading-multiple-csv-files9967
+Node: Valid CSV10241
+Ref: #valid-csv10364
 
 End Tag Table
diff --git a/hledger_csv.txt b/hledger_csv.txt
--- a/hledger_csv.txt
+++ b/hledger_csv.txt
@@ -276,4 +276,4 @@
 
 
 
-hledger 1.15                      August 2019                   hledger_csv(5)
+hledger 1.15.2                  September 2019                  hledger_csv(5)
diff --git a/hledger_journal.5 b/hledger_journal.5
--- a/hledger_journal.5
+++ b/hledger_journal.5
@@ -1,6 +1,6 @@
 .\"t
 
-.TH "hledger_journal" "5" "August 2019" "hledger 1.15" "hledger User Manuals"
+.TH "hledger_journal" "5" "September 2019" "hledger 1.15.2" "hledger User Manuals"
 
 
 
diff --git a/hledger_journal.info b/hledger_journal.info
--- a/hledger_journal.info
+++ b/hledger_journal.info
@@ -4,8 +4,8 @@
 
 File: hledger_journal.info,  Node: Top,  Next: FILE FORMAT,  Up: (dir)
 
-hledger_journal(5) hledger 1.15
-*******************************
+hledger_journal(5) hledger 1.15.2
+*********************************
 
 hledger's usual data source is a plain text file containing journal
 entries in hledger journal format.  This file represents a standard
@@ -1668,113 +1668,113 @@
 
 Tag Table:
 Node: Top76
-Node: FILE FORMAT2352
-Ref: #file-format2476
-Node: Transactions2779
-Ref: #transactions2900
-Node: Postings3584
-Ref: #postings3711
-Node: Dates4706
-Ref: #dates4821
-Node: Simple dates4886
-Ref: #simple-dates5012
-Node: Secondary dates5378
-Ref: #secondary-dates5532
-Node: Posting dates7095
-Ref: #posting-dates7224
-Node: Status8596
-Ref: #status8716
-Node: Description10424
-Ref: #description10562
-Node: Payee and note10882
-Ref: #payee-and-note10996
-Node: Account names11331
-Ref: #account-names11474
-Node: Amounts11961
-Ref: #amounts12097
-Node: Virtual Postings15114
-Ref: #virtual-postings15273
-Node: Balance Assertions16493
-Ref: #balance-assertions16668
-Node: Assertions and ordering17627
-Ref: #assertions-and-ordering17813
-Node: Assertions and included files18513
-Ref: #assertions-and-included-files18754
-Node: Assertions and multiple -f options19087
-Ref: #assertions-and-multiple--f-options19341
-Node: Assertions and commodities19473
-Ref: #assertions-and-commodities19703
-Node: Assertions and prices20859
-Ref: #assertions-and-prices21071
-Node: Assertions and subaccounts21511
-Ref: #assertions-and-subaccounts21738
-Node: Assertions and virtual postings22062
-Ref: #assertions-and-virtual-postings22302
-Node: Assertions and precision22444
-Ref: #assertions-and-precision22635
-Node: Balance Assignments22902
-Ref: #balance-assignments23083
-Node: Balance assignments and prices24248
-Ref: #balance-assignments-and-prices24420
-Node: Transaction prices24644
-Ref: #transaction-prices24813
-Node: Comments27079
-Ref: #comments27213
-Node: Tags28383
-Ref: #tags28501
-Node: Directives29894
-Ref: #directives30037
-Node: Comment blocks35645
-Ref: #comment-blocks35790
-Node: Including other files35966
-Ref: #including-other-files36146
-Node: Default year36554
-Ref: #default-year36723
-Node: Declaring commodities37130
-Ref: #declaring-commodities37313
-Node: Default commodity38742
-Ref: #default-commodity38918
-Node: Market prices39552
-Ref: #market-prices39717
-Node: Declaring accounts40558
-Ref: #declaring-accounts40734
-Node: Account comments41659
-Ref: #account-comments41822
-Node: Account subdirectives42217
-Ref: #account-subdirectives42412
-Node: Account types42725
-Ref: #account-types42909
-Node: Account display order44551
-Ref: #account-display-order44721
-Node: Rewriting accounts45850
-Ref: #rewriting-accounts46035
-Node: Basic aliases46771
-Ref: #basic-aliases46917
-Node: Regex aliases47621
-Ref: #regex-aliases47793
-Node: Combining aliases48511
-Ref: #combining-aliases48689
-Node: end aliases49965
-Ref: #end-aliases50113
-Node: Default parent account50214
-Ref: #default-parent-account50380
-Node: Periodic transactions51264
-Ref: #periodic-transactions51462
-Node: Two spaces after the period expression52588
-Ref: #two-spaces-after-the-period-expression52833
-Node: Forecasting with periodic transactions53318
-Ref: #forecasting-with-periodic-transactions53608
-Node: Budgeting with periodic transactions55634
-Ref: #budgeting-with-periodic-transactions55873
-Node: Auto postings / transaction modifiers56332
-Ref: #auto-postings-transaction-modifiers56543
-Node: Auto postings and dates58772
-Ref: #auto-postings-and-dates59029
-Node: Auto postings and transaction balancing / inferred amounts / balance assertions59204
-Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions59579
-Node: Auto posting tags59957
-Ref: #auto-posting-tags60196
-Node: EDITOR SUPPORT60861
-Ref: #editor-support60979
+Node: FILE FORMAT2356
+Ref: #file-format2480
+Node: Transactions2783
+Ref: #transactions2904
+Node: Postings3588
+Ref: #postings3715
+Node: Dates4710
+Ref: #dates4825
+Node: Simple dates4890
+Ref: #simple-dates5016
+Node: Secondary dates5382
+Ref: #secondary-dates5536
+Node: Posting dates7099
+Ref: #posting-dates7228
+Node: Status8600
+Ref: #status8720
+Node: Description10428
+Ref: #description10566
+Node: Payee and note10886
+Ref: #payee-and-note11000
+Node: Account names11335
+Ref: #account-names11478
+Node: Amounts11965
+Ref: #amounts12101
+Node: Virtual Postings15118
+Ref: #virtual-postings15277
+Node: Balance Assertions16497
+Ref: #balance-assertions16672
+Node: Assertions and ordering17631
+Ref: #assertions-and-ordering17817
+Node: Assertions and included files18517
+Ref: #assertions-and-included-files18758
+Node: Assertions and multiple -f options19091
+Ref: #assertions-and-multiple--f-options19345
+Node: Assertions and commodities19477
+Ref: #assertions-and-commodities19707
+Node: Assertions and prices20863
+Ref: #assertions-and-prices21075
+Node: Assertions and subaccounts21515
+Ref: #assertions-and-subaccounts21742
+Node: Assertions and virtual postings22066
+Ref: #assertions-and-virtual-postings22306
+Node: Assertions and precision22448
+Ref: #assertions-and-precision22639
+Node: Balance Assignments22906
+Ref: #balance-assignments23087
+Node: Balance assignments and prices24252
+Ref: #balance-assignments-and-prices24424
+Node: Transaction prices24648
+Ref: #transaction-prices24817
+Node: Comments27083
+Ref: #comments27217
+Node: Tags28387
+Ref: #tags28505
+Node: Directives29898
+Ref: #directives30041
+Node: Comment blocks35649
+Ref: #comment-blocks35794
+Node: Including other files35970
+Ref: #including-other-files36150
+Node: Default year36558
+Ref: #default-year36727
+Node: Declaring commodities37134
+Ref: #declaring-commodities37317
+Node: Default commodity38746
+Ref: #default-commodity38922
+Node: Market prices39556
+Ref: #market-prices39721
+Node: Declaring accounts40562
+Ref: #declaring-accounts40738
+Node: Account comments41663
+Ref: #account-comments41826
+Node: Account subdirectives42221
+Ref: #account-subdirectives42416
+Node: Account types42729
+Ref: #account-types42913
+Node: Account display order44555
+Ref: #account-display-order44725
+Node: Rewriting accounts45854
+Ref: #rewriting-accounts46039
+Node: Basic aliases46775
+Ref: #basic-aliases46921
+Node: Regex aliases47625
+Ref: #regex-aliases47797
+Node: Combining aliases48515
+Ref: #combining-aliases48693
+Node: end aliases49969
+Ref: #end-aliases50117
+Node: Default parent account50218
+Ref: #default-parent-account50384
+Node: Periodic transactions51268
+Ref: #periodic-transactions51466
+Node: Two spaces after the period expression52592
+Ref: #two-spaces-after-the-period-expression52837
+Node: Forecasting with periodic transactions53322
+Ref: #forecasting-with-periodic-transactions53612
+Node: Budgeting with periodic transactions55638
+Ref: #budgeting-with-periodic-transactions55877
+Node: Auto postings / transaction modifiers56336
+Ref: #auto-postings-transaction-modifiers56547
+Node: Auto postings and dates58776
+Ref: #auto-postings-and-dates59033
+Node: Auto postings and transaction balancing / inferred amounts / balance assertions59208
+Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions59583
+Node: Auto posting tags59961
+Ref: #auto-posting-tags60200
+Node: EDITOR SUPPORT60865
+Ref: #editor-support60983
 
 End Tag Table
diff --git a/hledger_journal.txt b/hledger_journal.txt
--- a/hledger_journal.txt
+++ b/hledger_journal.txt
@@ -1362,4 +1362,4 @@
 
 
 
-hledger 1.15                      August 2019               hledger_journal(5)
+hledger 1.15.2                  September 2019              hledger_journal(5)
diff --git a/hledger_timeclock.5 b/hledger_timeclock.5
--- a/hledger_timeclock.5
+++ b/hledger_timeclock.5
@@ -1,5 +1,5 @@
 
-.TH "hledger_timeclock" "5" "August 2019" "hledger 1.15" "hledger User Manuals"
+.TH "hledger_timeclock" "5" "September 2019" "hledger 1.15.2" "hledger User Manuals"
 
 
 
diff --git a/hledger_timeclock.info b/hledger_timeclock.info
--- a/hledger_timeclock.info
+++ b/hledger_timeclock.info
@@ -4,8 +4,8 @@
 
 File: hledger_timeclock.info,  Node: Top,  Up: (dir)
 
-hledger_timeclock(5) hledger 1.15
-*********************************
+hledger_timeclock(5) hledger 1.15.2
+***********************************
 
 hledger can read timeclock files.  As with Ledger, these are (a subset
 of) timeclock.el's format, containing clock-in and clock-out entries as
diff --git a/hledger_timeclock.txt b/hledger_timeclock.txt
--- a/hledger_timeclock.txt
+++ b/hledger_timeclock.txt
@@ -78,4 +78,4 @@
 
 
 
-hledger 1.15                      August 2019             hledger_timeclock(5)
+hledger 1.15.2                  September 2019            hledger_timeclock(5)
diff --git a/hledger_timedot.5 b/hledger_timedot.5
--- a/hledger_timedot.5
+++ b/hledger_timedot.5
@@ -1,5 +1,5 @@
 
-.TH "hledger_timedot" "5" "August 2019" "hledger 1.15" "hledger User Manuals"
+.TH "hledger_timedot" "5" "September 2019" "hledger 1.15.2" "hledger User Manuals"
 
 
 
diff --git a/hledger_timedot.info b/hledger_timedot.info
--- a/hledger_timedot.info
+++ b/hledger_timedot.info
@@ -4,8 +4,8 @@
 
 File: hledger_timedot.info,  Node: Top,  Next: FILE FORMAT,  Up: (dir)
 
-hledger_timedot(5) hledger 1.15
-*******************************
+hledger_timedot(5) hledger 1.15.2
+*********************************
 
 Timedot is a plain text format for logging dated, categorised quantities
 (of time, usually), supported by hledger.  It is convenient for
@@ -111,7 +111,7 @@
 
 Tag Table:
 Node: Top76
-Node: FILE FORMAT808
-Ref: #file-format909
+Node: FILE FORMAT812
+Ref: #file-format913
 
 End Tag Table
diff --git a/hledger_timedot.txt b/hledger_timedot.txt
--- a/hledger_timedot.txt
+++ b/hledger_timedot.txt
@@ -124,4 +124,4 @@
 
 
 
-hledger 1.15                      August 2019               hledger_timedot(5)
+hledger 1.15.2                  September 2019              hledger_timedot(5)
