Question

Should journal entries be recorded in a database design?

In the real world it makes sense to keep a daily entry book, then later transfer the daily entry book into double entry accounts. but in the computerized version, doing this produces duplicate records and that doesn't quite make sense?

Real life:
User ---> journal day book (single entry) ---> ledgers account (double entry)
Was it helpful?

Solution

The point about double entry book-keeping is that any trained accountant would understand it immediately. So if you are building a system for accountants then it will make communication easier if you model their domain exactly. There may also be business rules which can only be implemented in a double entry model (just a guess on my part).

It also provides a good audit trail, which is always useful.

edit

"i was more interested to know if I should record the journal entries or not"

If I were presenting a logical data model to a bunch of users from an accounting background I would definitely include the Journal as an Entity. However when it came to the physical database I would prefer to implement it as a view over the Ledger table.

OTHER TIPS

Your question is really about accounting systems design. The operative consideration is audit trail.

In my opinion, if you skip the daybook stage, it may be difficult to trace back from what's recorded in the database and what the user(s) entered. If the user interface for data entry is going to look like a daybook, you should record a daybook, if you want to be able to trace back. An accountant can help you evaluate the importance of this issue.

The resulting redundancy can cost in terms of computer resources. It can also result in a database that's internally inconsistent, if there are bugs in the processing. It's probably worth the pain of inconsistency to be able to tell the difference between system screwups and human error in data entry.

Again, an accountant can tell you. If there are no accountants advising the project, get one.

Double entry accounting does not produce duplicate records because each side of the double entry goes to a different nominal ledger account. Not sure if that's what you meant by "duplicate records" but I just thought that ought to be cleared up. Obviously creating duplicate rows in a database is generally not a good idea.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top