I'm starting work on ledger-recur shown below (and prettier in this gist <https://gist.github.com/gavinhughes/32e80a57fa666ac691db8271914a407d>). I see this topic gets discussed occasionally. Does anything like this already exist? Is this useful to anyone else? Any suggestions from improvement before I start work on it?
- Gavin --- https://gist.github.com/gavinhughes/32e80a57fa666ac691db8271914a407d #+Title:Ledger Recur Ledger Recur provides automated entry of recurring transactions into ledger files. The command `recur journal.ledger recurring.rcr` enters all recurring transactions specified in the file `recurring.rcr` into the file `journal.ledger`. A recur file is parsed before transactions are entered into a ledger file. If erorrs are found, they are reported and no transactions are entered. * Recur file syntax ** Transactions #+BEGIN_SRC Payee /recurrence/ /[end_date]/ /last_applied_date/ [Remaining lines applied verbatim] #+END_SRC *** Example #+BEGIN_SRC Dropbox 1M22 E2018/12/31 2018/08/30 ; d: Pro subscription ; :recur: software $10 #+END_SRC ** Recurrence syntax | Interval | Interpreted as | |-----------------------+----------------------------------------------| | 1W1,3,5 | Every week on Mon, Wed, Fri. | | 2W5 | Every two weeks on Fri. | | 1M22 | Every 1 month on the 22nd. | | 1M1,15 | Every 1 month on the 1st and 15th. | | 1Mw7 | Every 1 month on the first Sun. | | 1Y01/08 | Every 1 year on Jan-08. | | /interval/ E2018/01/08 | The recur terminates on 2018/01/08. | * Command line syntax recur /ledger_file/ /recur_file/ If a recur file is not supplied, recur will look for a file with the same name as the ledger file but with an added extension of `.rcr`. Example, #+BEGIN_SRC recur main.ldg #+END_SRC expands to #+BEGIN_SRC recur main.ldg main.ldg.rcr #+END_SRC ** Options | -d | --dry-run | Simulate but do not enter transaction. Reports errors and warnings. | Ledger Recur provides automated entry of recurring transactions into ledger files. The command `recur journal.ledger recurring.rcr` enters all recurring transactions specified in the file `recurring.rcr` into the file `journal.ledger`. A recur file is parsed before transactions are entered into a ledger file. If erorrs are found, they are reported and no transactions are entered. * Recur file syntax ** Transactions Payee Recurrence /end_date/ Last_applied_date [Remaining lines applied verbatim] *** Example Dropbox 1M22 E2018/12/31 2018/08/30 ; d: Pro subscription ; :recur: software $10 * Recurrence syntax | Impl | Example | Interpreted as | |------+-----------------------+----------------------------------------------| | | 1W1,3,5 | Every week on Mon, Wed, Fri. | | | 2W5 | Every two weeks on Fri. | | | 1M22 | Every 1 month on the 22nd. | | | 1M1,15 | Every 1 month on the 1st and 15th. | | | 1Mw7 | Every 1 month on the first Sun. | | | 1Y01/08 | Every 1 year on Jan-08 | | | /interval/E2018/01/08 | Every 1 year on Jan-08, ending on 18-Jan-08. | | | | | * Command line syntax recur /ledger_file/ /recur_file/ Example: recur dauin.rcr main.ldg If a recur file is not supplied, recur will look for a file with the same name as the ledger file with the addition of ".rcr". Example, recur main.ldg expands to recur main.ldg main.ldg.rcr. ** Options | -d | --dry-run | Simulate but do not enter transaction. Reports errors and warnings. | -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
