Official blog official blog

Saturday, December 21, 2013

December 2013's newsletter

As you may have noticed, we made some improvements in website.


a) it is now possible to "freeze" and "unfreeze" a firm -- this can be useful in different ways, expecially for students asked to complete an exercise with a due date (and for their teachers who must check the works submitted) -- see

b) a student asked to be allowed to place a graphic banner in his firm's public page -- it is now possible: just upload an image in the firm's configuration page, and you are done

c) the public page of a firm has now clickable accounts on the general journal, and this allows to access the ledger -- see

d) when a firm is forked, the default language for the account names is now taken from the user's language preferences, if available


In a school, has been used to play "Accounting Monopoly": students had fun, and learned a lot of things -- see

Please take a look at the blog post "10 ways to contribute to an open source project without writing code", by Heiko W. Rupp -- -- everything written there applies perfectly to this site, and we'd love to have a helping hand.

Season's greetings,
      Follow us on Twitter: @LearnDE

Accounting Monopoly

What about playing "Accounting Monopoly" using

For those who don't know, "Accounting Monopoly" is simply a different way to play the classical Parker Brother's Monopoly game, with some specific rules added in order to force players to keep trace of what's happening, in terms of investments, costs, income, payments, etc. There are some variations in the rules you can apply when playing, but the basic requirement is that players must not use the fake money provided, but use instead only traceable forms of payments (checks, bank transfers, etc.).

Some teachers did a great work to prepare instructions, worksheets and forms. You can find some good examples in the works prepared by Carl Lyman, Ingrid Ulstad, Ed Valenski, Travis R. Martin, just to name a few.

The website has been used in an Italian school to let students play and practice accounting the double-entry way. There are some advantages in using
  • students will learn how to record transactions in a journal and immediately see the ledger updated;
  • since there is a public page for each firm, students (or teachers) can easily double check if a transaction is correctly recorded on both parts (if you have a cost because you rent something, the counterpart must have an income for the same amount);
  • for all transactions recorded through the bank, a player will be able to see the "bank statement" (ie, the T-Account that the bank holds for the transactions concerning the checking account of the player), realizing that debits and credits are reversed, and doing the necessary bank reconciliation when needed.
The students were divided in seven groups, six for the ordinary players and one for the bank. A special, simplified chart of accounts had been prepared (you can use the slug monopoly-player to fork it), and the firms (representing the players) started with that.

During the game, students learned how to edit the chart of accounts, how to record a transaction, how to check the ledger, how to make the bank reconciliation, how to prepare the templates for common transactions, how to close the accounts and how to read the financial statements. And they had fun!

Freeze / Unfreeze your firm

It is now possible to freeze the current state of a firm, that becomes uneditable until it is unfrozen.

Why should you want to freeze a firm? There can be different reasons.

First off, you just want to prevent yourself to accidentally delete something from the firm. It could happen: you think you are working with a firm, but instead you are actually working on another. Since the edits of your firm's state are permanent, you may delete something you meant to stay. Freeze the firms that you want to be unmodifiable, and you are safe.

Another case of use arises when you are a student that has to do a homework a teacher must check, and that there is a due date you must respect. How can the teacher be sure you respected the due date, and did not modify your firm afterwards? Quite simply, the teacher can ask you to freeze your firm before the due date, and he/she can check that you did that (a timestamp is applied to the firm when it gets frozen, and it is shown in its public page).

To freeze a firm, click on "Freeze" on the right panel:

Then, in the page that is shown, you can confirm your action:

Once a firm is frozen, its pages will contain a note about this state, with a timestamp of when it has been frozen:

Please note that timestamps are based on Central European Time. You can click on the date to see them in a different timezone.

Sunday, December 1, 2013

Ledgers on a firm's public page

A new feature has been introduced in DELT with its release 1.1.7: the public page of a firm, the one that can be viewed also by people who have not logged in, has now links for each account name. When you follow them, you are taken to a ledger page (T-account), like this one:

This way, somebody who wants to check an exercise can have a different view on the data.

Monday, October 7, 2013

October 2013's newsletter

There are some new features, and we are working to some other ones.


a) a user suggested that it should be possible to enter some comments on each line of a journal entry (regarding the single "posting", ie the single account debited or credited); actually, in many books' examples, there is such a comment, so we introduced this possibility -- in the journal entry form, you can now add a comment by writing it after the name of the account, preceded by a hash sign (#); see;

b) if you want to export the current trial balance to a spreadsheet, for further analysis, you can now decide to have a text area produced, in order to be able to copy it and paste it to the spreadsheet, instead of downloading a file; this may speed up your work: just export "inline", select all, copy, go to the spreadsheet, paste, and you're done; see;

c) we added some big icons on the dashboard (we hope you like them);

d) in the public page of a firm, you can now refer to a single journal entry by specifying its number (just click on it to have the URL); for instance, you can refer to the first of second entry of the sample exercise 3 by pointing to or; and you can specify the desired level of detail for the financial statements by using the "?level=x" notation (like in;

e) we refactored some code, and added some comments on it, in order to start the production of self-generated documentation; if you are a developer, or just curious about the code, get in touch with us; see;


We'd like to prepare some little examples of businesses' activities in order to compare the different procedures, accounting standards (and traditions) around the world. Would you like to join us in this?

We really hope that you may find useful for your exercises, and we'd love to receive some feedback from you. Any ideas on how to improve the website will be greatly welcomed. And, please, feel free to spread the word and invite other people to sign up.

         Follow us on Twitter: @LearnDE

Monday, September 30, 2013

Export of current trial balance, inline version

(This post has been edited after its first publication.)

It is now possible to export the current trial balance values inside a textarea widget, instead of in the form of a downloadable CSV file.

You just need to select the "inline" radio button under "Fruition type" in the balance/export page:

The data will be available in a text area, and you can easily copy them in order to paste them in a spreadsheet. You might want to format the column of the spreadsheet where the codes of the code are going to be pasted as "text".

In a future blog post, we'll show how to prepare a spreadsheet to process them in a customized way.

Friday, September 27, 2013


The source code of DELT, the application on which the website is built, is enriched by some comments that make the generation of documentation quite easy.

A zip file of the whole APIs is generated periodically. If you are interested, please contact for having the file shared with you.

Saturday, September 14, 2013

Comments on single double entry lines

It is now possible to add comments to the single double entry lines (postings). You just need to add a hash tag (#) in the input box where the code and the name of the account are, and a comment after it.

The comments will appear in brackets and emphasized in the single lines of the journal and in the ledger.

Tuesday, September 3, 2013 su WiildOs

Con l'avvio dell'anno scolastico 2013/14, la versione 4.0 di WiildOs, predisposta in maniera aperta e collaborativa dal LITSA, è in distribuzione su web e, presso i supermercati COOP del Trentino, anche su DVD-rom direttamente alla cassa.

Si tratta di una distribuzione Linux specificatamente pensata per la didattica, in particolare mediante l'uso delle lavagne digitali a basso costo ottenibili con software libero e hardware semplice.

Nella sezione Lavoro / Ufficio si trova un link a, per chi vuole partire da lì per le esercitazioni contabili.

Sunday, September 1, 2013

September 2013's newsletter

We made some improvements on the website and on the code behind it, so we'd like you to know about the new features.


We opened a blog that we kept updated with the most important new features.
It is available at


In the blog, we posted some sample exercises, that can be used as a reference to what is possible to do. We'll post other ones soon.
You can find them at


The sample exercises and other information are linked at as a sort of preliminary handbook.


We introduced some new (hopefully interesting) new features in the last months:

a) for every firm, you can now select the languages that you want your account names in;

b) it is now possible to share a firm with another user, in order to complete an exercise together, if needed;

c) you can fork (duplicate) every firm of which you know the slug (see terminology, later);

d) you can get a "transaction analysis" of each journal entry (see;

e) it is now possible to include or exclude some journal entries, in order to test different scenarios, if needed (see;

f) you can take a snapshot of a firm's current balances, or prepare a closing entry of selected accounts (see;

g) you can select an account from a tree view window, if you don't know the name or the code of the account (see;

h) when you prepare a journal entry, the totals of debits and credits is updated every time you leave an amount field;

i) when a user signs up, he/she can ask to be resent the activation link, in case it got lost.


We prepared a blog post explaining the meaning of some of the terms we used. It is avalaible at


Many minor bugs have been fixed. Thanks to the users that let us know about them!


We really hope that you may find useful for your exercises, and we'd love to receive some feedback from you. Any ideas on how to improve the website will be greatly welcomed. And, please, feel free to spread the word and invite other people to sign up.

         Follow us on Twitter: @LearnDE

Tuesday, August 27, 2013

Choosing accounts with the tree view

Version 1.0.13 of DELT is out, and with it the possibility of choosing an account in a tree view of the Chart of Accounts.

To activate the tree view pop-up window, you just need to double-click on the account name field.

Sunday, August 11, 2013

Taking a snapshot of a firm's current balances

Version 1.0.12 of DELT is online, and with it some new interesting features:

  • it is now possible to select some of the journal entries and delete them together, without going through the "edit / delete / confirm" cycle;
  • the trial balance has now two different columns for the outstanding balance (one for net debit and one for net credit);
  • from the trial balance page, it is possible to select some accounts (or all of them, if you want), in order to prepare a journal entry to close them or to open them with the current outstanding balances.

The last thing allows you to take a snapshot of your firm's current situation. And since forking a firm is so simple, you can open a second firm by just using the balances of the first.

Monday, August 5, 2013

Include or exclude journal entries

It is now possible to exclude some journal entries from all computations, more or less like when showing or hiding different layers in computer graphics programs.

Since is a learning platform, this opens up the possibility to test different scenarios, or simply to prepare a journal entry to ask somebody help for.

Excluded journal entries are listed in the journal in gray with a line-through decoration. The amounts of the postings are not considered in the ledger, in the trial balance and in the financial statement.

Sunday, July 21, 2013

Notes about terminology

There are many terms that can be used to express the same concept. Here we'll list some terms we use for the development of DELT,'s underlying software, and for the documentation on this blog.

If you spot any kind of errors, please contact us by adding a comment below. Thank you.

Accounting and Bookkeeping

Accounting concerns the production of financial statements at the end of the reporting period (generally, the fiscal year). It has much to do with the adjusting journal entries concerning accruals, deferrals, depreciation, bad debt expenses, etc.
Bookkeeping is the recording of financial transactions, like purchases, sales, receipts and payments.
On you can practice both accounting and bookkeeping.

Chart of Accounts

The Chart of Accounts is the list of accounts that you can use for your firm's accounting. Each account has a name, a position (Balance Sheet or Income Statement), an ordinary outstanding balance. If you chose more than one language for the accounts of your firm, you can set more than one name, one for each language. This way, you can obtain the Financial Statements and the Trial Balance in different languages. If you fork the Standard Firm, you get a complete Chart of Accounts, open to improvements.


We call "firm" the collection of accounting data concerning a business, a corporation, a company, etc. for one reporting period.
This is a tool for teachers to prepare and for students to make exercises. If your exercise concerns a company called Foo Inc. for the year 2013, go create a firm called "Foo Inc. 2013". If the exercise continues for two years for the same company, you can create a second firm called "Foo Inc. 2014" (probably you want to fork the one previously created, so that you can use exactly the same chart of accounts).


You can create a firm by copying the contents (the chart of accounts, and the journal entries) from another firm. We call this action a "fork", because the link between the firm being copied and the new firm is maintained, and an edit in the source can be pulled from the target, like it happens in the software development world.
Suppose you have Firm1 and "fork" it as Firm2. Then you add an account in the Chart of Accounts of Firm1. Firm2 does not have that account, but you can "pull" the updates from Firm1, if you want to do so.

Journal Entry

A "journal entry" is the recording of a business transaction (such as a payment) in the General Journal. It has a date, a description (which describes what actually is being recorded, and is sometimes called "explanation"), and an array of lines, each of which specifies an account and a debit or credit account. The  journal entry must balance.


The "ledger" is the list of postings concerning a specific account. In manual bookkeeping exercises, the ledger has the shape of a big T, with debits on the left side and credits on the right side, and therefore ledger accounts are often referred to as T-Accounts. When you look at a ledger using, you won't find the T shape, but a set of lines with all the debits and the credits concerning that account, in chronological order.
In manual bookkeeping, the word "ledger", or "general ledger", is sometimes referred not to the single account, but to the book containing all the T-accounts. In we use the term as it refers to the single account.


We call "posting" the single line of a journal entry. In the old times of manual bookkeeping, the action of posting was referred to the act of copying the amount from a single line of the journal entry to the specified account, in the general ledger. When using software, data are not actually copied from the journal to the ledger.


As Wikipedia puts it, a "slug" is the part of a URL which identifies a page using human-readable keywords. In, every firm has an associated "slug", that can be used to refer to the firm in URLs, like, for example,, where the slug is "sample-exercise-01". If you want your firm to be easily used by others, use an easy-to-type slug. If you want to keep it somehow "secret", you can generate a random one. Please note that all firms are "public", since their contents (journal and statements) are visible by everyone, even without being logged in.


A "transaction" is the event that happened and must be recorded. It might be a payment, a purchase, the selling of goods, etc. With some software, transactions are automatically converted into double entry journal entries. Being a place where to learn to do things, this never happens in, where you must record every transaction by hand.

VAT (Value Added Tax)

In the Chart of Accounts provided with the Standard Firm, you'll find accounts like "VAT Payable" and "VAT Receivable". VAT (Value Added Tax) is a form of consumption tax used in the European Union and in many other countries, sometimes with a localized name (amongst them, you'll find China, India, Mexico, Australia, Canada, Brazil). You can of course customize the Chart of Accounts according to your needs.

Wednesday, July 17, 2013

Sample exercise 03

In this third sample exercise, we are going to illustrate some other features of The example is taken, with authorization, from We won't get into details about the why's of things (that you'll find on their website, with a deep explanation), but we'll concentrate on how to do this kind of exercises with a virtual firm that you "own" on

Let's begin. We are given the following preliminary balance sheet, which reports the account balances prior to any adjusting entries:
Preliminary Balance Sheet - courtesy
To start the exercise, you need to:
  1. login to
  2. go to the Bookkeeping and Accountancy page
  3. click on "Fork an existing firm" menu item
  4. click on "Standard Firm"
  5. choose to duplicate the Chart of Accounts
  6. click on the "Yes, fork this firm" button
  7. set a name and a description for the firm
  8. click on the "Save" button, and you are done.
After firm creation, you can click on the "Journal" menu item, and then choose to create a new "journal post" (aka journal entry, aka transaction). You will be shown a form like the following:

Instead of writing the single lines here, you can:
1. switch to raw input mode

2. load all accounts from the chart of accounts

3. copy the account names to a spreadsheet (first select the whole text of the box, then copy, then paste on the spreadsheet)

4. find the accounts in the spreadsheet, and write the amounts of debits and credits (if you don't find an account with exactly the same name, choose a one that has the same meaning and don't worry: you can edit the name later; but if you really don't find an account, just add a line with the missing name with an exclamation mark at the end, like we did here for Prepaid insurance); pay attention to the fact that the totals of debits and credits must balance; you can, if you want, delete the lines of unused accounts

5. copy the selection from the spreadsheet back to the web form, and click on the "Switch to text fields mode" icon

6. since you probably want the accounts with the debits first, just click on the "Sort postings, debits first" icon

7. save the journal entry, and you are done. Easier done than said, isn't it?
If you look at the journal now, it looks ok. We used Supplies Inventory instead of Supplies, Bank Checking Account instead of Cash, Bills Payable instead of Notes Payable, Payments on Account from Customers instead of Unearned Revenues, Employment Expenses Payable instead of Wages Payable, and Common Stock instead of Mary Smith, Capital.

If this is fine for you, well. Otherwise, you can edit the Chart of Accounts with the names that you prefer.  The Trial Balance looks like this now:

As you can see, the Prepaid Insurance account has been added on the fly, and you find it marked in yellow at the bottom of the table. To fix the problem, you just have to assign a correct code to the account. Since you already have a Prepaid Expenses account, you can choose to add another account as its sibling with a code like This way, the account will be a child of the Accrued Income and Prepaid Expenses account, which has code 00.03.06.

Other choices would be possible. For instance, you can make Prepaid Insurance a child of Prepaid Expense, by entering a code like This way, Prepaid Expense would not be usable as such, because it would have some children.

It's up to you how to organize your Chart of Accounts, and which names to give to the accounts themselves. Just consider that:

  • once you edited the Chart of Accounts of one firm, you can use it in other firms that are forked from it;
  • if you spot any problem in the Chart of Accounts provided for the system-provided Standard Firm, you can add a comment in this blog or drop us a message, and we'll try to fix it.

Edit the account names as you like. We only changed Common Stock to Mary Smith, Capital.

When you are done, you can start entering the journal entries of the example exercise provided by (We added an extra journal entry with some amounts for Income Statement accounts at the beginning.)

For each journal entry, you can click on the "Analyze the Transaction" icon, that shows a little explanation of what is going on. For instance, when you make the adjusting entry about bad debts valutation, you can see that you have an increase in Expense (Bad Debt Expense) and an increase in an Asset Contra Account (Allowance for Doubtful Debts).

When you want, you can have a look at the T-Account (called Ledger in the application) of any account. It's not actually T-shaped, but the meaning should be obvious anyway.

You can find the complete exercise in its public page, and you can fork the firm by using the slug "sample-exercise-03".

Friday, July 12, 2013

Explanation of journal entries (transaction analysis)

Since version 1.0.9, lets you have an explanation of the journal entry you are seeing.

You just need to click on the little "Analyze the transaction" icon:

A little portion of the page will open, and you will see comments like the following (click to enlarge):

Please note that this feature is still experimental. If you find errors, please contact us.

Wednesday, July 10, 2013

Any advice for our multilingual chart of accounts?

We just upgraded the code is based on, in order to show to non-authenticated users the chart of accounts of system-provided firms.

You can have a look at the chart of accounts of our "Standard Firm" at the URL Please note that some of the names of the accounts have to be checked, and we would love it if you can send advice and comments on how to improve it.

The names are currently expressed in US English and Italian. Of course, other languages can be added. Also, we are not sure about the differences between American English and British English, or other flavo(u)rs of English, for what concerns the names.

Position: BS (Balance Sheet) or IS (Income Statement)
Outstanding Balance: Dr. (Debit), Cr. (Credit), or "/" (unset) -- this is the "typical" outstanding balance that one could expect for an account (e.g., Debit for Cash, Credit for Sales, etc.), and it is used to show some warnings in case of doubtful journal entries...

Sunday, July 7, 2013

Multilingual chart of accounts

DELT version 1.0.7 is out, with a little enhancement in language management. It is now possible to choose which language(s) one wants to use for the names of accounts. In the "Edit" form of the firm, you now have the possibility to select the languages that you want to write the names of the accounts in.

If you have a multilingual chart of accounts, you can choose a different language anytime you want. When you edit an account, you must choose a name for the different languages.

Other languages can be easily added, so just leave a comment here or send a message if you want your one added on website.

Friday, June 28, 2013

Sample exercise 02

Here's another sample exercise that explains how to use We'll use the example provided by prof. Joost Impink at (on the site you'll find more accurate explaination than here), that kindly autorized us to do so.

Just to show something different, this time we will create a firm from scratch, so we'll have an empty chart of accounts.

Transaction 1
The firm is incorporated on the 1st of January. The owner, Betty, pays 40,000 cash for 10,000 shares.

Since we do not have any account yet, we can create a new journal post and put an exclamation mark after the name of the account (e.g. "Cash!").

Transaction 2
ABCD Inc. buys a Grasshopper lawn mower for 8,000 cash.

Since the account "Cash" has already been created, we won't need to add an exclamation mark for it. When typing the first few letters of the name of the account, we'll have a list of accounts matching the name. Don't care about the code, for now.

Transaction 3
ABCD Inc. pays 500 cash for advertising in the local newspaper.

Transaction 4
ABCD Inc. receives 3,000 cash for services delivered in January.

Transaction 5
ABCD joins the Association of Landscapers, and receives an invoice of 400 to be payable in February.

This time, the account Operating expenses already exists, and will show up when you type its name.

Transaction 6
The company pays a 1,000 cash dividend.

After recording the above transactions, your journal will look like this:

The little bells are there to warn you that the accounts have not been yet correctly positioned in the chart of accounts. The same goes for the trial balance:

Notice that the codes are generated randomly, and have a ~ sign at the beginning. This goes for all accounts created with the exclamation mark trick.

If you look at the chart of accounts now, you'll find that there is actually no position and no ordinary outstanding balance set for any of the accounts:

We can easily fix that. Not only we want to correctly position the accounts, we also want to group them in clever ways.

We can start from creating a new account, named Assets, that will group together some of the accounts (Cash, Equipment, etc.). Let's give this account a "01" code, a name, and choose the right position and ordinary outstanding balance (the latter is used for some checks, warning if you make mistakes):

Then, we want to "move" the Cash account under the Assets account. It's as easy as changing the Cash account's code to "01.01". The dot here stays for a parent-child relationship between accounts. You can do something similar with the Equipment account (say you give it a "01.02" code).

The same goes for Liabilities, that will contain Accounts payable, and Equity, that will contain Dividends and Paid-in capital.

You can group together also accounts that express expenses and revenues, and you have multilevel groups. At the end of the process, you could arrive to something similar to this:

The "position" means that the net amount of the account will be shown up in the Balance Sheet (BS) or in the Income Statement.

Actually, we can already see how these two statements look like so far:

You can find the complete exercise in its public page, and you can fork the firm by using the slug "sample-exercise-02".

Thursday, June 20, 2013

Sample exercise 01

We introduce here some simple examples of business transaction and how they are recorded using's bookkeeping system. This is just a sort of "proof of concept", and we'll use it also as a way to show some screenshots in the right context. Other exercises, probably more complex than this one, can be prepared, and other firms can be shared.

October, 1st.

Joanna sets up an individual business (she will repair children toys). She opens a bank account for her firm, with a first $3,000 deposit.

Here's how the journal entry would like:

October, 2nd.

Joanna needs some cash to buy some tools she'll need. She goes to the bank and withdraws $200 from her bank account. Afterwards, she goes to a hardware shop to buy the tools, paying them $155.

There are going to be other two journal entries. If you look at the journal now, you would find something like:

If you want to see which accounts have been debited and credited so far, you can have a look at the trial balance:

October 10th.

Joanna repairs a wooden horse. The amount to receive for the job done is $140, but she agrees with Tom, the owner of the horse, to be paid half in cash now and half by a bank transfer after a week.

When Joanna records the income, she enters a debit of the Cash account for $70, and a debit of a new "Tom" account, that will be put under "Accounts receivable" in the Charts of Accounts (this can be done later).

The account "Services Provided" will be credited for the total amount, $140.

October 14th.

Joanna deposits in her bank account all the cash she has.

Let's now check the ledger of the Cash account. We will see all the transactions concerning it.

October 21st.

Joanna receives the payment for the wooden horse repair from Tom.

October 22nd.

Joanna pays an insurance premium of $80 with a bank transfer, for which she is debited $1 from the bank.

The fiscal year / reporting period is not finished yet, but we can have a look at the balance sheet and at the income statement so far.

You may notice that the grandtotal for Assets is $59 greater than the one for Liabilities and Equity. And $59 is exactly the Operating Profit so far.

If we were to prepare the final statements now, without any other transaction, we would need a closing post for all temporary (economic) accounts, and we would get this new Liabilities and Equity section of the Financial Statement.

You can have a look at the Journal and at the Statements on the public page of Sample Exercise 01.

You can login and fork the firm by using the slug «sample-exercise-01».