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, …
- journal¶
A series of sequentially numbered vouchers.
As a site manager you can configure the list of available journals via .
- 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”.
Accounts¶
You can configure the list of available ledger accounts via .
A ledger account always has a given balance, which can be negative or positive.
Vouchers¶
- 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):
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 |
|
P |
Purchases |
|
W |
Wages |
|
T |
Taxes |
|
C |
Clearings |
|
B |
Bank payment orders |
|
Your application might have a different list. You can see the actually configured list for your site via
.- 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 trading 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.
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¶
- 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.
- 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
.Payment terms¶
You can configure the list of available payment terms via .
Payment methods¶
You can configure the list of available payment methods via .
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.
Customers¶
The credit given to our customers.
Suppliers¶
The debt towards our providers.
Employees¶
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.
Bank¶
The money we have on our main bank account.
Cash¶
The money we have in our cash drawer(s).
Purchase of services¶
Purchase of investments¶
Purchase of goods¶
Wages¶
Net income¶
Sales¶
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.
Don Watkins names four popular tools in My favorite open source tools for personal finance: GnuCash, Homebank, KMyMoney and Skrooge.
In Estonia it is difficult to convince somebody to use a new accounting application because they have https://www.rik.ee/en/e-financials