Module Ledger

type status =
  1. | Open
  2. | Cleared
  3. | Reconciled
type txn = {
  1. date : Civil.date;
  2. num : string;
  3. payee : string;
  4. category : string;
  5. memo : string;
  6. amount : Money.cents;
  7. status : status;
}
val date_of_string : string -> Civil.date option
val date_to_string : Civil.date -> string
val sort : txn list -> txn list
val balances : txn list -> (txn * Money.cents) list
val quickfill : txn list -> string -> txn option
val by_category : txn list -> (string * Money.cents) list
val next_check : txn list -> string