Accounts

Aalam


Description


A basic financial accounting app

This application is designed to be used by other apps. To use it manually you need to be aware of accounting concepts.

The accounting entries are created as journal entries in a journal book. The app can create their own journal books or it can use the built-in General book. The journal entries involve two accounts which needs to be created before adding the journal entries.

Every account has to be classified as Personal, Real, and Nominal accounts.

You can generate reports using formulas. There are some reports like Profit & Loss and Trial Balanace. You can generate reports at your will using the formulas. More on that in formulas section.

You can even view the ledger entries for an account for a date range.


Features


  • Group multiple accounts into a single account. There might be some accounts that can be generalized. For example, the Invoicer app can create an account for a customer on a credit sale. And another app must have created an account for the same customer for some other purpose. A parent account can be created manually and these two accounts can be linked to this parent account, so that this account will be in the same name in all reports.
  • Formulas based report generation.
  • Journal books for specific purposes.
  • Journal entries, Ledger entries can be viewed for daily, monthly and yearly basis.

Images


Sales book Journal entries

Journal entries

The above images shows the journal entries of a book named Sales from the 2nd March, 2017 to 1st April, 2017.

Ledger entries

Ledger entries

The above images shows ledger book of the Bank account.


Formulas


Formulas are simple rules that any one can write to generate financial reports. Using formulas you can generate any kind of report that would suit your business.

The formulas uses a set of built-in functions and additional addons glued together by arithmetic symbols. Example,

total(opening_debit_balance(accounts_of_type('personal'))) + total(debit_balance(accounts_of_type('personal')))

In the above formula, + and * are arithmetic symbols and total, opening_debit_balance, accounts_of_type and debit_balance are the built-in functions.

How to write report formulas?

Report formulas can be written in two ways.

  • Single column report - For a single column report, you can just write the formula as is, like the example show above.
  • Multi column report - If you want a multi column report, you need define the formulas for each column along with its name, like

    {
        "Column 1 name": "Formula 1",
        "Column 2 name", "Formula 2",
        "Column 3 name": "Formula 3"
    }

Aritmetic symbols:

Following are the list of arithmetic symbols you can use in your formulas.

  • + : Adds two numbers
  • - : Subtracts two numbers
  • / : Divides two numbers
  • * : Multiplies two numbers
  • % : Give the remainder from the division of two numbers. Ex 5 % 3 = 2

Built-in functions:

Built-in functions are letters followed by ( ). It accepts an input that are given within ( ), and returns a result. The input and output for any function is of a fixed format. If a function is given an input which is not of the correct format, you would see some errors, and the formula will be rejected.

Following are the list of supported functions.

  • accounts_of_type

    Input - Comma separated account types, one of 'personal', 'real' or 'nominal'. The values are case sensitive and should be with the ' '. Example, accounts_of_type('personal', 'real')
    Output - List of accounts matching the types.

  • accounts_of_id

    Input - Comma separated account ids
    Output - List of accounts matching the ids.

  • total

    Input - List of account totals
    Output - Number which is the sum of the account balances.

  • credit_balance

    Input - List of accounts
    Output - List of account totals that have credit balances with the accounts matching the input accounts list within a date range.

  • debit_balance

    Input - List of accounts
    Output - List of account total that have debit balances with the accounts matching the input accounts list within a date range.

  • credit_total

    Input - List of accounts
    Output - List of account totals that are creditors of the input accounts list.

  • debit_total

    Input - List of accounts
    Output - List of account totals that are debtors to the input accounts list.

  • opening_credit_balance

    Input - List of accounts
    Output - List of account totals that have a opening debit balance with the accounts matching the input accounts list.

  • opening_debit_balance

    Input - List of accounts
    Output - List of account totals that have a opening credit balance with the accounts matching the input accounts list.

  • closing_credit_balance

    Input - List of accounts
    Output - List of account totals that have credit balances with the accounts matching the input accounts list from beginning to an end date.

  • closing_debit_balance

    Input - List of accounts
    Output - List of account total that have debit balances with the accounts matching the input accounts list from beginning to an end date.

Addons:

When you want to categorise the entries in the reports, you can do so by using Addons. Without addons, all the entries in the reports will be displayed as such. Fo

How to use addons?
Addons are created with a
  • name - This is the name that will appear in the invoice.
  • formula - The format of the formula is the same as used for the totalling.

Addons can be used in the the report formulas by putting the name of the addon in {{ }}.