deawk

Double Entry Bookkeeping Using Text Files, bash and awk

deawk (pronounced "dee-auk") is a very simple double-entry bookkeeping system designed for self employed people that like text files and awk.

Copyright (c) 2011, 2012 by Brian Marshall bmarshal@agt.net

See the Open Source License and the Releases and Credits.

The only data files are three text files:

Use your favorite text editor to add and edit these data files. Run bash scripts that run awk to generate reports.

Each data file comes with sample data and extensive comments, much of which you can delete once you figure out how the files are used.

The data files that you will use end in ".dat". Each one comes with an identical copy that ends with ".samp" which you can save for future reference or delete.

The current version of deawk comes with a script to do Profit and Loss statements for Canadian self-employed people (in addition to a script for general purpose P&L statements).

If anyone would like to write a script for US taxes or any other useful script, I would be glad to include it in deawk (with full credit to the author, of course).

Free Download

Release Date For Unix/Linux Status
deawk 0.9.1 Nov 16, 2012 deawk-0.9.1.gz   (13 KB) beta
deawk 0.9.0 Dec 07, 2011 deawk-0.9.0.gz   (9 KB) beta

Note: If you click on a download link and your browser opens it rather than letting you download it, right-click on the link and select "Save Link Target As..." or "Save Link As..." or "Save Target As..." (depending on your browser).

This is a stable link to the latest version: deawk.gz

The .gz file can be unpacked with a command like:     tar -xzf deawk.gz

Double Entry Bookkeeping

"Double-entry" means that data is added to the transaction file in sets of two (or sometimes more) records in which the dollar amounts add up to zero.

For example, if you buy $15 worth of office supplies, you add two records that say:

Notes And Warnings

At this point, deawk does not support capital expenditures or depreciation in any way. The three capital expenditure accounts in the Chart of Accounts - offcequip, computer and tools - are treated as expenses.

The xpl.sh script produces a Profit and Loss statement. xpl_Can_self_empl.sh produces a similar P&L statement that includes the numbers required for the Canadian income tax T2125 form for Self Employed people.

The author is under the impression that sign of the amounts in the transactions are reversed in relation to the way accountants do it. It doesn't matter - accountants can still use the data. xexport_csv.sh produces a comma-separated-value file that can be opened in a spreadsheet.

The general purpose scripts that list or summarize transactions don't care about the sign of transaction amounts. If you reverse the signs of the amounts in the transactions, change the sign field in the chart of accounts. (You may have to modify xpl.sh and maybe xpercent.sh.)

Learning How To Use deawk

You can learn how to use deawk by reading the comments in the .dat files. Script names begin with "x". All scripts write to standard output (your monitor by default).

After you have added or edited transaction data, you should run xcheck.sh (with no arguments) - it checks date order, account names and balances (ie. that sets of transaction records add up to zero).

All scripts other than xcheck.sh take arguments (generally, date ranges and/or account names). If you run them without arguments, they will print information about what they do and the arguments that they require.

xjointran.sh joins the transaction data and the account data. It is used by some other scripts. It is the only script that is not intended to be run directly by the user.

Open Source License

Copyright (c) 2011, 2012 Brian Marshall bmarshal@agt.net

The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


The author, Brian Marshall may be contacted at bmarshal@agt.net.