ledger: General accounting

The lino_xl.lib.ledger plugin adds basic notions for accounting: accounts, journals, vouchers and movements.

Table of contents:

The ledger

A ledger is a book in which the monetary transactions of a business are posted in the form of debits and credits (from 1).

In Lino, the ledger is implemented by three database tables:

ledger voucher

Any document that serves as legal proof for a ledger transaction in the ledger. Examples of vouchers include invoices, bank statements, payment orders, VAT declarations, …

journal

A series of sequentially numbered vouchers.

As a site manager you can configure the list of available journals via Configure ‣ Accounting ‣ Journals.

ledger movement

An atomic “transfer” of a given amount of money from (or to) a given ledger account at a given date. It is just a conceptual transfer, not a cash or bank transfer.

Moving money from (out of) an account is called “to debit”, moving money to an account is called “to credit”.

ledger transaction

The group of movements generated by a same ledger voucher. For each transaction there must be at least two movements for which the sum of debited money equals the sum of credited money.

A transaction always happens at a given date and in a given accounting period, which in turn is part of a given fiscal year.

Accounts

You can configure the list of available ledger accounts via Configure ‣ Accounting ‣ Accounts.

ledger account

The most abstract representation for “something where you can place money and retrieve it later”.

A ledger account always has a given balance, which can be negative or positive.

Lino has a hard-coded list of common accounts, which are used to identify the actual database objects referring to certain accounts that have a well-known meaning. They are a convention of giving a name to some legally recognized account designations.

common account

A well-known account for which the site manager must configure a corresponding account in your accounts chart.

Here is the list of common accounts in a Lino Così application:

value

name

text

Clearable

1000

net_income_loss

Net income (loss)

Yes

4000

customers

Customers

Yes

4100

suppliers

Suppliers

Yes

4200

employees

Employees

Yes

4300

pending_po

Pending Payment Orders

Yes

4500

tax_offices

Tax Offices

Yes

4510

vat_due

VAT due

No

4513

due_taxes

VAT declared

No

4520

vat_deductible

VAT deductible

No

4530

vat_returnable

VAT returnable

No

4800

clearings

Internal clearings

Yes

4900

waiting

Waiting account

Yes

5500

best_bank

BestBank

No

5700

cash

Cash

No

6010

purchase_of_services

Purchase of services

No

6020

purchase_of_investments

Purchase of investments

No

6040

purchase_of_goods

Purchase of goods

No

6300

wages

Wages

No

6900

net_income

Net income

No

7000

sales

Sales

No

7900

net_loss

Net loss

No

Lino applications can add specific items to that list or potentially redefine it completely.

Voucher types

Every Lino application that uses the ledger plugin defines a list of voucher types.

voucher type

The database model used to store individual vouchers of a journal.

Every journal has its voucher type. Several journals may share a same voucher type. The voucher type of a journal must not change as long as the journal has at least one voucher.

Here is a possible list of voucher types (the exact list depends on your site’s configuration):

value

text

ana.InvoicesByJournal

Analytic invoice

bevats.DeclarationsByJournal

Special Belgian VAT declaration

finan.BankStatementsByJournal

Bank Statement

finan.JournalEntriesByJournal

Journal Entry

finan.PaymentOrdersByJournal

Payment Order

sales.InvoicesByJournal

Sales invoice

vat.InvoicesByJournal

Invoice

“Draft” and “Registered”, the states of a voucher

voucher state

The state of a ledger voucher.

When you create a new ledger voucher, it is in draft state. It can be modified, but is not yet visible in the ledger.

You must tell Lino that you have finished editing this voucher by setting its state to registered. A registered voucher cannot be modified, but is visible as movements in the ledger.

You can easily deregister a voucher by setting its state back to draft. This will remove the ledger movements, and Lino will create new movements when you register the voucher again.

Trade types

The trade type is one of the basic properties of every ledger operation that involves an external partner. Every movement involving a partner is of one and only one trade type.

trade type

The type of a trade operation. For example “sales” and “purchases” are the most common trade types. But we can also have “salaries”, “taxes”, …

Here is the default list of trade types

value

text

Main account

S

Sales

  1. Customers (Customers)

P

Purchases

  1. Suppliers (Suppliers)

W

Wages

  1. Employees (Employees)

T

Taxes

  1. Tax Offices (Tax Offices)

C

Clearings

  1. Internal clearings (Internal clearings)

B

Bank payment orders

  1. Pending Payment Orders (Pending Payment Orders)

Your application might have a different list. You can see the actually configured list for your site via Explorer ‣ Accounting ‣ Trade types.

payable transaction

A transaction that is expected to cause a payment by a partner.

Examples of payable transactions are sales invoices, purchase invoices and VAT declarations.

Accounting periods

accounting period

The month or quarter into which a given transaction is booked. Usually the same as the calendar month of the voucher’s entry date.

Accounting periods are automatically created the first time they are needed by some operation.

fiscal year

A sequence of consecutive accounting periods covered by an annual business activity report.

This usually corresponds to a calendar year. But not always. Exceptions may be companies having a shifted annual report or transitional periods.

When the annual report has been published (declared to the national tax office), the fiscal year should be closed to prevent accidental changes in the ledger of that year.

Invoices

In most Lino applications, purchase invoices are implemented as account vouchers while sales invoices are product vouchers.

invoice

A ledger voucher sent to or received from a business partner, showing a list of goods or services, their price, and the amount due.

purchase invoice

An invoice that you receive from one of your providers

sales invoice

An invoice that you send to one of your customers.

invoice item

An item of an invoice.

Product vouchers versus account vouchers

Lino differentiates between product voucher and account voucher.

This differentiation is independent of whether it is an invoice or some other trade document (like an offer, an order or whatever).

Account vouchers are typically used to store purchase invoices, and they do no not usually produce a printable document. But exceptions in both directions are possible: (1) purchase invoices can be stored product vouchers if stock management is important, or (2) sales invoice can be stored as account vouchers because they have been created using some external tool and are entered into Lino just for the general ledger.

In order to use account vouchers, you specify lino_xl.lib.vat.VatAccountInvoice as voucher type of the journal.

If you also want to specify products, quantities and discounts in your invoices, then specify VatProductInvoice as voucher type instead.

product voucher

A ledger voucher where each item points to a product.

Each product mentioned in the items maps to a ledger account according to configurable rules.

account voucher

A ledger voucher where each item points directly to a given ledger account and doesn’t mention any product.

Other voucher types

paycheck

A ledger voucher sent to each employee every month, detailing the amount of the salary or wage and resulting tax and other legal transactions.

cash book

A journal of all transactions in a given cash box.

The transactions are grouped into cash statements, which are similar to a bank statement, but issued internally and potentially to be signed by a responsible person.

preliminary transactions

Transactions that happened before the accounting period they are recorded for. They are part of the opening balance, but not to be considered as part of the actual accounting period’s history.

They are used to enter any relevant account activity of a corporation that has been booked using another software and/or database. You create them in a dedicated journal that has its preliminary field checked.

Note that opening entries, i.e. transactions made at the start of an organization as part of the foundation process, are are not preliminary.

There are some secondary models and choice lists:

match rule

A rule that specifies that movements into given account can be cleared using a given journal. See Match rules.

payment term

A convention about when an invoice should be paid. See Payment terms.

payment method

A convention on how an invoice should be paid. See Payment methods.

Debit and credit

Every movement of a financial transaction “moves” some amount either out of or into a given account. Accountants don’t want to express this “direction” of a movement simply by using an either positive or negative number, they want an explicit word for it and call it debiting and crediting. A debit entry in an account represents a transfer of value to that account, and a credit entry represents a transfer from the account.

By convention, Lino stores the amount of a debiting movement as a negative number in the database. As an end user you don’t need to know this because amounts are always shown translated into “debit” or “credit”.

A sales invoice debits the customer’s account (an asset) and credits the turnover account (a revenue). The payment of this invoice credits the customer’s account and debits your bank account (causing its balance to increase because it is an asset).

A purchase invoice credits the supplier’s account (a liability) and debits the costs account (an expense). The payment of this invoice in the bank statement debits the supplier’s account and credits your bank account (causing its balance to decrease because it is an asset). If you use a payment order, then the payment order debits the supplier’s account and credits your pending payment orders account, which the bank statement debits.

Registering a voucher

A ledger voucher is always in one of the three states “Draft”, “Registered” or “Cancelled”. Registering a voucher means to change it status from “Draft” to “Registered”.

When a voucher is registered, it receives a sequence number in its journal and Lino generates the movements according to the data in the voucher.

A registered voucher cannot be edited or deleted.

You can deregister a voucher at any moment (except when you lack permission for this actions, or when the voucher is in a fiscal year that has been closed).

When you deregister a voucher, all movements are deleted.

The detail of a purchase invoice

  • Partner: the partner who is your provider for this purchase and acts as the provider.

  • Entry date: the date of this voucher in the ledger. Usually this is the day where on the invoice. Unless there was a delay and you want to record the document in another accounting period.

  • No: the number of this voucher within the journal. Lino fills this field automatically and you usually don’t want to change it.

  • Content: a panel with at least one row. For each row you can say:

    • Account : the account to be moved

    • Description : an optional description

    • VAT class : The VAT class to use. Lino fills this field automatically.

    • Total to pay : amount VAT included

    • Total excl. VAT : the base amount (without VAT)

    • VAT : the amount of VAT

  • Workflow: : the state of this voucher. See Registering a voucher.

Match rules

A match rule specifies that a movement into given account can be cleared using a given journal.

You can configure match rules either in the detail view of a journal or globally via Explorer ‣ Accounting ‣ Match rules.

Payment terms

You can configure the list of available payment terms via Configure ‣ Accounting ‣ Payment terms.

Payment methods

You can configure the list of available payment methods via Configure ‣ Accounting ‣ Payment methods.