CashBook is a home accounts manager, which can be used to keep track of home or club accounts. The system is based around transactions, which correspond to those on bank, building society and credit card statements. These transactions transfer money between accounts, or to and from analysis headings.

[Transaction window screenshot]
The transactions window

Transactions into and out of accounts can be reconciled against statements, making it quick and easy to spot discrepancies and errors. A real-time statement view is available for all accounts and analysis headings. These update as the entries in the transaction window change, making it easy to track money through an individual account.

[Statement view screenshot]
A real-time statement view for an account

Budgets can be set for transactions into and out of analysis headings, so that income and expenditure over time can be monitored and recorded in real-time. Various reporting options allow detailed information to be produced on many aspects of the accounts and transactions; such reports can be viewed on screen, printed out, or imported into spreadsheets, graphing packages or wordprocessors for further manipulation.

In addition to manually entered transactions, regular payments such as standing orders, direct debits or salary payments can be automated. Pending transactions up to a specified date can be included in any future balance figures for accounts.


CashBook is compatible with versions of RISC OS from 3.1 to 5. It should also work on RISC OS 6, but this has not been tested. The 32-bit Shared C Library is required: this comes as standard on RISC OS 5, and can be found as part of the System Resources download on RISC OS Open Ltd’s website at


CashBook 1.40, released at the 2018 Wakefield Show, contained a bug which caused corruption to cheque numbers stored in accounts. If you have been using this version, please read the Upgrade140 file inside the download archive before installing or using any later release – this is essential to ensure that the numbers can be recovered.

ARMv7 OK Iyonix OK Download: CashBook 1.41
327 Kbytes | 2nd June, 2018 | 26/32-bit neutral, ARMv7 OK

CashBook is licensed under the EUPL, and the source is available in a form suitable for compiling on Linux using the associated build tools.

Download: CashBook 1.41 Source
850 Kbytes | 2nd June, 2018

If you wish to help test new developments, then the latest version of CashBook can be found on the test builds page. This version will have had limited testing compared to the release above, and may be unstable.

Full documentation is supplied in the main CashBook archive, above, in StrongHelp and plain text formats. In addition, a printable manual is also available in PDF format. This contains the same text that is in the standard manuals, but also contains screenshots and illustrations. It is produced in A5 format, and contains approximately 100 pages.

Download: CashBook 1.21 Manual
3.4Mbytes | 28th September, 2009

Version History

0.98 (23 September 2006)

First public beta release, for feedback and comment.

0.98a (27 September 2006)

Limited release to some end users.

  • Negative values are now supported in some transaction amounts.
  • Bug fixes.

0.99 (18 February 2007)

Second public beta release, for feedback and comment.

  • Full support for negative currency values.
  • Support for sorting added throughout application. Sort indicators and dialogue boxes added to transaction, statement view and standing order list windows. Internal transaction data now sorted before critical calculations.
  • Highlighting options for overdrawn accounts, missed budgets and out-of-budget transactions added.
  • Quick-save options (Adjust clicks and Ctrl-f3) added.
  • Bug fixes.

0.99a (1 April 2007)

Update to second public beta release, for feedback and comment.

  • Fixed buffer overrun when opening statement views on unused accounts or headings.

0.99b (2 April 2007)

Update to second public beta release, for feedback and comment.

  • Shift-Adjust-Close now open parent directory but leaves file open.

0.99c (23 May 2007)

Update to second public beta release, for feedback and comment.

  • Transaction window redraws correctly when importing CSV files.
  • Various minor redraw issues with current input line of transaction window fixed.

1.00 (4 September 2007)

First stable release.

  • Corrections to interactive help messages.

1.01 (7 December 2007)

Update to first stable release.

  • Unsaved files warning now contains a Save button.
  • Sign conversions in file load routines fixed.
  • Report date ranges correctly handle empty transaction dates.

1.02 (15 February 2008)

Update to first stable release.

  • Purge operation fixed, having been broken since version 0.99.
  • Statement view windows are now correctly deleted if parent account is deleted.
  • Calls to Wimp_SetExtent now correctly call Wimp_OpenWindow to avoid redraw artifacts when windows shrink.

1.03 (18 March 2008)

Update to first stable release (limited issue).

  • Clicking Adjust over the From or To columns of the transaction window opens a short cut menu showing all applicable accounts and analysis headings.
  • Transaction report includes information on budget targets when budget period is used.
  • CSV file import logs progress and reports on number of lines imported and rejected.
  • Ctrl-F10 delete transaction option added.
  • Various minor redraw errors fixed.

1.10 (20 April 2008)

Second stable release.

  • CSV file import error checking and logging improved.
  • Heading statement views do not shade when there are no budget dates set.
  • Adjust-click refresh in transaction window fixed.
  • Files close if successfully saved after clicking transaction window close icon.
  • Various minor redraw errors fixed.

1.11 (9 October 2008)

Update to second stable release.

  • Ctrl-F2 closes the transaction window.
  • Adjust clicks on reconciled fields in dialogues will toggle their state.
  • Adjust clicks on account name fields in dialogues will open a selection menu.
  • Various minor bug fixes and redraw errors fixed.

1.12 (4 November 2008)

Update to second stable release (limited issue).

  • Reports output accounts and headings in the same order as they are listed in the accounts, incoming headings and outgoing headings windows.

1.15 (11 March 2009)

Third public beta release, for feedback and comment.

  • Transaction presets added.
  • Adjust-click menu added for Date column in transaction windows.
  • Trying to restart a stopped standing order without altering the start date prompts a warning, before duplicate transactions are entered into the file.

1.16 (18 March 2009)

Update to third public beta release, for feedback and comment.

  • Adjust-click menus no longer abort when selections are made, if the transaction window toolbar's accounts menu has been opened.

1.17 (2 April 2009)

Update to third public beta release, for feedback and comment.

  • The file information dialogue includes details of transaction presets.
  • Transaction presets correctly set the reconciled status of new transactions.
  • Adjust-click menus added for Reference and Description columns in the transaction window.
  • Ctrl-Tab and Ctrl-Return facility added to transaction window.
  • Account summary option added to transaction reports.

1.18 (19 April 2009)

Update to third public beta release, for feedback and comment.

  • Saved report templates added.
  • Bug affecting the loading of non-standard cashbook files (ie. those not as generated by CashBook) containing presets resolved.

1.20 (20 April 2009)

Third stable release.

  • Minor improvements and bug fixes to the saved report interface.
  • Presets checked when purging or deleting accounts.
  • Deleted accounts removed from report templates.

1.21 (28 September 2009)

Update to third stable release.

  • Checks on loading, and warns the user if another copy is already on the iconbar.
  • Pay-in slip numbers can now be tracked for accounts and used in the reference field (in a similar way to cheque numbers).

1.22 (6 October 2009)

Update to third stable release.

  • Fixed bug preventing analysis headings from being created or edited (added in 1.21).

1.23 (17 April 2011)

Update to third stable release.

  • Add match whole string option to find dialogue.
  • Change Next and Previous buttons in found dialogue to work relative to the current search direction.

1.30 (14 October 2012)

Fourth stable release.

  • Relicensed as Open Source.
  • Extensive internal restructuring.
  • Support for page numbering and heading line repetition when printing.
  • Substring search within transaction list.

1.35 (26 February 2016)

Update to fourth stable release.

  • Re-implemented Data Transfer support code into a more modern and maintainable format.
  • Correctly carry column headings across from the first page when printing reports (ticket #409).
  • Add transaction numbers to all transaction views and reports (tickets #430 and #494).
  • Remove escaped characters from print job titles (ticket #509).
  • Fix ZeroPain when closing files, and tidy up file closure code to prevent accidental dereferencing of stale pointers (ticket #556).
  • Report correct transaction numbers in Found dialogue box (ticket #567).

1.36 (29 February 2016)

Update to fourth stable release.

  • Don’t try to place caret in transaction number column when looking up transactions from account views (ticket #578).
  • Use valid dialogue info pointers when opening Find dialogue (ticket #579).

1.37 (23 February 2017)

Update to fourth stable release.

  • Support added for displaying and entering dates in YYYY-MM-DD and MM-DD-YYYY formats in addition to DD-MM-YYYY (ticket #610).
  • Fixed problem with ‘Reconcile Mode’ where the caret didn’t advance on keypresses.
  • Perform a secondary visual sort on transaction number in transaction and account view windows, to ensure that transactions always retain the same relative order when the sort index is the same (tickets #280, #362, #488 and #594).
  • Don’t allow zero or negative days or months when entering dates (ticket #607).
  • Don’t allow negative credit limits to be entered (ticket #606).
  • Close account edit and heading edit dialogue boxes when their parent windows close.
  • Re-implemented data entry line code into a stand-alone module separate from the Transaction module.
  • Improve error checking when allocating memory for windows and data structures (ticket #609).
  • Improve error checking when allocating memory during file loading, and when adjusting memory allocation in normal use.
  • Improve error and bounds checks when loading files from disc (ticket #614).
  • Fix redraw of lines in preset and standing order windows, so that the correct entry is redrawn after edit dialogues are closed.
  • Row numbers are redrawn if and when they are changed (ticket #530).

1.40 (15 April 2018)

Fifth stable release.

  • Re-implemented analysis report system to make it modular and enable additional reports to be added.
  • Re-implemented report viewer, adding new menus and toolbar. Page layouts can be previewed on screen when a printer driver is present.
  • Allow a grid to be plotted around tables in reports and printed output (ticket #354).
  • Allow print jobs to be sent to a report window instead of direct to a printer (ticket #300).
  • Allow zero-balance entries to be included in transaction report summaries (ticket #601).
  • Implement drag and drop between fields in the transaction window (ticket #629).
  • Tidy up print dialogue and print protocol implementation.
  • Remove all unbounded string operations from source code.
  • Highlight the line over which Menu was clicked when menus can operate on items in a window.
  • Fix bug which caused previous dates to be ignored when entering transactions.
  • Fix unwanted caret movements when entering dates in the transaction window whilst an account view is open (ticket #630).
  • Make changes to cell contents from the Global Clipboard stick correctly when the caret is moved to another cell (ticket #628).
  • Correctly ensure that a C99-friendly version of the Shared C Library is present (ticket #632).

1.41 (2 June 2018)

Fifth stable release.

  • Fix errors writing cheque number details to file, introduced in 1.40 (ticket #659)