Normal Polygamous Marriage

    ledgerman

    0.7.0 • Public • Published

    ledgerman v0.7.0

    A Cli tool for creating a general ledger from the journal.

    How to use

    First, install the cli by the following command:

    npm install -g ledgerman
    

    This installs ldm command.

    Then:

    ldm --chart chart.yml --journal journal.yml
    

    This outputs the general ledger in yaml format to stdout. See the below for the detail of the format.

    Journal YAML

    The journal is the series of trades in chronological order. Each trade should have the following format

    id: 1001
    date: 2015-01-05
    desc: Start the business
    dr:
      Cash in bank: 1000
    cr:
      Capital: 1000
    • id is an arbitrary number and has to be unique in the journal.
    • date is the date of the trade.
    • desc is the description of the trade.
    • dr means the debits of the trade.
      • dr has at least one account. In this case, it has Cash in bank account with the amount 1000.
      • dr can have multiple accounts.
    • cr means the credits of the trade.
      • cr has at least one account. In this case, it has Capital account with the amount 1000.
      • cr can have multiple accounts.
    • The total amount of the credits and debits must be the same in a account.

    Multiple entry journal looks like the following:

    id: 1
    date: 2015-01-05
    desc: Start the business
    dr:
      Cash in bank: 1000
    cr:
      Capital: 1000
    ---
    id: 2
    date: 2015-01-30
    desc: Sold the item
    dr:
      Cash in bank: 1000
    cr:
      Sales: 1000
    ---
    ...

    Each document in a yaml represents a trade.

    Chart YAML

    This file defines which account belongs to which major account type. For example, the account Sales belongs Revenue, Cash belongs to Asset etc.

    The format is like the following:

    asset:
    - Account receivable
    - Cash in deposit
    liability:
    - Account payable
    equity:
    - Capital
    revenue:
    - Sales
    expense:
    - Freight
    - Communications
    - Business trip
    - Library cost

    Ledger YAML

    This is the output of this cli and represents the general ledger. The accounts in the input journal are collected by its account type and its major type. It has the following format.

    asset:
      Cash in bank:
        total: 1050
        accounts:
          - date: 2015-01-01
            desc: Start the business
            dr: 1000
            cor: Capital
            ref: 1001
    liability: ...
    equity: ...
    revenue: ...
    expense: ...

    CLI

    The usage of cli is as follows:

    ldm --journal path/to/journal.yml --chart path/to/chart.yml
    

    The default value for --journal option is journal.yml and the default for --chart is chart.yml.

    ldm bs

    bs subcommand outputs the balance sheet as yaml.

    $ ldm bs
    asset:
      Cash in hand: 37072
      Accounts receivable: 0
      Cash in bank: 892000
      total: 929072
    liability:
      Accounts payable: 5616
      total: 5616
    equity:
      Capital: 2432
      Retained earnings: 921024
      total: 923456
    total: 929072
    

    LICENSE

    MIT

    Keywords

    none

    Install

    npm i ledgerman

    DownloadsWeekly Downloads

    2

    Version

    0.7.0

    License

    MIT

    Last publish

    Collaborators

    • kt3k