The first thing I wrote when I switched to ledgerbil was a scheduler for 
recurring transactions:

https://github.com/scarpent/ledgerbil#--schedule

Ledgerbil can be tied to my own ledger usage in many ways, but the 
scheduler is one of the things that should be usable by any ledger user. :-)

On Friday, August 31, 2018 at 2:17:59 PM UTC-5, Gavin Hughes wrote:
>
> 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.

Reply via email to