Basics | Plugins | Howtos | Applications

The accounting plugin

The lino_xl.lib.accounting plugin adds basic notions for accounting: journals, vouchers, accounts 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 the wholeness of the journals, accounts, vouchers and movements defined in the database of the Lino site. Except when the site has accounting.multiple_ledgers enabled, which adds the possibility of having multiple ledgers in a same Lino database.

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, …


A series of sequentially numbered vouchers.

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

ledger account

A named concept where you can place money and retrieve it later.

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”.


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

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


voucher item

An individual row or movement within a ledger voucher.

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.

Voucher types

Every Lino application that uses the accounting 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. There may be multiple journals using 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):




Analytic invoice


Special Belgian VAT declaration


Bank Statement


Journal Entry


Payment Order


Sales 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



Main account



  1. Customers (Customers)



  1. Suppliers (Suppliers)



  1. Employees (Employees)



  1. Tax Offices (Tax Offices)



  1. Internal clearings (Internal clearings)


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.


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


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.

Trading vouchers versus account vouchers

Lino differentiates between trading 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 trading 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.

trading 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


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.

booking direction

Whether the amount of a transaction is moved out of or into a given account.

Accountants don’t want to express this booking direction of a movement simply by using an either positive or negative number, they want an explicit word for it and call it debit and credit. A debit entry in an account history 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 as “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.

Common accounts

Lino has a hard-coded list of common accounts, which are used to identify the actual database objects referring to certain ledger accounts that have a well-known meaning and internationally recognized designations.

common account

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

The following sections explain these common accounts used in most Lino applications. Your application might add specific items to that list or potentially redefine it completely.

Net income (loss)

The net income or loss of the fiscal year.

Used in lino_xl.lib.sheets for generating demo data.


The credit given to our customers.


The debt towards our providers.


The debt towards our employees.

Pending Payment Orders

Where money goes temporarily when we registered a payment order but did not yet register the bank statement that confirms its execution.

Tax Offices

The debt towards (or the credit received from) a national tax office.

VAT due

Due VAT that has not yet been declared to the national tax office.

VAT declared

VAT to be paid to the national tax office.

VAT deductible

VAT to be refunded from the national tax office.

VAT returnable

Internal clearings

Where money goes temporarily e.g. during a transfer between two of our bank accounts.

Waiting account

Where money goes temporarily and needs an explanation.


The money we have on our main bank account.


The money we have in our cash drawer(s).

Purchase of services

Purchase of investments

Purchase of goods


Net income


Net loss

Does a new accounting application make sense?

Does the world need yet another accounting software? Good question. Here is no answer, just some observations.