# The &skrooge; Handbook

Stéphane
MANKOWSKI

    stephane@mankowski.fr

Guillaume
DE BURE

    guillaume.debure@gmail.com

Developer
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Stéphane MANKOWSKI
Guillaume DE BURE
&FDLNotice;
2026-08-10
&skrooge; 26.8.0

This document is a handbook for using &skrooge;, a personal finances manager application.

KDE
extragear
office
skrooge
personal finances

## Introduction

### &skrooge;

&skrooge; is an application for managing your personal finances. It can keep track of your incomes and expenses across several accounts, in several currencies. It has all the features you should expect from such a tool, such as categories, scheduled transactions, graphical reporting and stocks management. It also has some less common features, such as fast transaction editing, search as you type, refund trackers and customizable attributes.

&skrooge; displaying pie charts of expenses per category
&skrooge; displaying pie charts of expenses per category

#### What &skrooge; Is

&skrooge; is an Open Source personal finances manager built on &kde; frameworks. It is intended to be used by individuals who want to keep track of their incomes, expenses and investments.

#### What &skrooge; Is Not

&skrooge; is not a professional tool. It doesn't have functions expected from a software you would use to run a small business. It doesn't manage taxes, doesn't use double-entry system, or any advanced financial functions.

If you were looking for such a tool, you may want to look at Kmymoney or Kraft instead.

### Terminology

#### Document

A document is a &skrooge; file (extension .skg). It can contain an indefinite number of accounts. You can use one document to manage all your accounts at once.

#### Account

A &skrooge; account is similar to your bank account. For example, if you own one personal account, your wife has a personal account, and you both have a joint account, you can create these three accounts in &skrooge;. Every time you spend or earn some money, you register an transaction, and indicate the account this transaction was made on.

#### Transaction

An transaction is either a credit or debit to one of your accounts. If you assign a category or tracker to transactions, you can analyze how you spend your money.

##### Standard Transaction

A standard transaction is the basic transaction in &skrooge;. For example, "Today, spent 20€ from credit card for groceries".

##### Split Transaction

A split transaction is a transaction for which the total amount is split over several categories, dates and/or trackers. For example, "Yesterday, spent 100€ at the supermarket, of which 60€ were for food, and 40€ for clothes".

##### Transfer

A transfer in &skrooge; records the movement of a quantity of money from one of your &skrooge; accounts to another.

This must not be confused with the payment mode chosen: if you made a transfer, for example using your bank's website, to someone else's account, this is not a transfer transaction, because &skrooge; doesn't know about that other person's account. It is a standard transaction with transfer as its payment mode.

Read the transfer section if things are still unclear.

##### Validated Transaction

When you import transactions from your financial institution into &skrooge;, they are not considered valid right away and appear in blue. You need to manually validate them. Such validated transactions will no longer appear blue.

Note that it is possible to automatically validate transactions on import, by turning on the corresponding option in the settings.

##### Marked Transaction

During the reconciliation process, you mark all transactions in &skrooge; that appear in the corresponding account position. Such marked transactions display a half-filled square (or something else depending on your kde theme) in the Status column of an transactions view. A marked transaction is not Checked until you complete reconciliation.

##### Checked Transaction

When all transactions on your account's position have been marked in &skrooge;, you can complete the reconciliation process. &skrooge; then turns all Marked transactions into Checked Transactions, which display a filled square in the Status column of an transactions view.

#### Category

A category is basically a class of transactions. Some classic examples include "Food", "Taxes", and "Salary". A category can contain other categories: it is a hierarchical structure. For example, category "transport" can contain categories "bus", "car" or "plane". &skrooge; can handle an infinite number of categories.

#### Unit

A unit in &skrooge; can be anything that has a value. Examples:

- Currency

  - $ (US Dollar)

  - € (euro)

  - £ (Sterling Pound)

- Stock or index

  - GOOG (Google)

  - NASDAQ

- Personal property

  - Your house

  - Your car

## Main concepts

### User Interface

The &skrooge; window is composed of a main area, surrounded by docks, and a status bar. Docks can be closed and reopened, and positioned left or right of the main area.

#### The main area

This is where &skrooge; will display the information you are interested in. It can contain many tabs, each one with the view you assigned to it.

#### Docks

Docks can be found in many &kde; applications. They are a subpart of an application window, and can be relocated, stacked, closed, or even detached from the main window.

Some examples of docks layout:

&skrooge; docks are:

- The page chooser

- The bookmark list

- The undo / redo browser

- The property editor

- The messages list

- Dickens - AI Assistant

#### Page Chooser

The page chooser is a dock where you can select the view to be displayed, either in the current tab or in a new tab. To open in a new tab, hold the &Ctrl; key while clicking on the selected view.

You can customize this list by using the contextual menu on this list.

The page chooser

Each context will be described in a specific chapter in this handbook.

#### Bookmarks

Consider a situation where you need to customize the transactions view on a "per-account" basis. Each account would be displayed in its own tab, maybe with different columns in each table. The aforementioned method will not work, as it applies on all tabs with the same type.

The solution here is to save each individual tab as a Bookmark. Much like in a web browser, bookmarks can be organized in a hierarchy of bookmark folders that you can visualize in the Bookmark Browser, as shown below:

The bookmarks browser

To create a bookmark, select a page from the page chooser you want to bookmark, and customize its content to your liking. When finished, in the Bookmarks dock, bring up the contextual menu, and select Bookmark current page.

Each bookmark or bookmark folder can be "autostarted", &ie; it will be automatically opened when starting &skrooge; in the order of the bookmarks. This way, you can fully customize the default &skrooge; layout.

You can select the text and icon you want for each bookmark or bookmark folder.

#### Undo / Redo

&skrooge; manages undo/redo in a rather classic fashion, except that you can undo or redo any action, even if it was made several days ago. As per default settings, the history is not cleared upon closing &skrooge; (you can change this behaviour in the settings), which means you could undo virtually everything up to the document creation.

In order to limit the impact on filesize, &skrooge; is configured by default to keep a history of 50 entries. You can change this value in the settings.

Right-clicking on an action allows you to view a list of all transactions that were modified during that action.

In the menu Go > Open last modified... allows you to see the transactions modified during the last action.

The history browser

The history browser shows three columns:

- an icon showing the state of the action. A yellow counter clockwise arrow means the action is undoable. A green clockwise icon means the action is redoable.

- the description of the action

- a disk icon means this action corresponds to a saved state, &ie; the document was saved right after this action.

To undo an undoable transaction, or redo a redoable transaction, double click on it.

#### Property Editor

One of the uncommon features of &skrooge; is the ability to add custom properties to any object. For example, you may want to add the name and phone number of a bank employee to an account, because they are your contact. Another example is attaching a file to a transaction, like an invoice scan.

This can be achieved using the property editor, which is a dock of its own.

The property editor, with an attachment

When this dock is visible, it will display the custom properties of the selected object (For: Selection) or of all objects (For: All), whether it is an account, a transaction, category, unit, etc. This dock allows the user to create, update or delete properties.

A property can be:

- A simple string

- A copied file regardless of format (.odt, .png, .pdf, …). This means that the file is copied into the &skrooge; document. This file can be opened from &skrooge; by clicking the appropriate button. Take care, as all modifications of the original file are not replicated in the version saved in &skrooge; document.

- A link to an existing file whatever the format (odt, png, pdf, …). It means that the file is not copied into the &skrooge; document but just linked. This file can be opened from &skrooge; by clicking on the appropriate button.

- A link to an http page, for example, the website of your bank.

Added properties can be displayed as a column on tables.

#### Message list

This dock allows you to see all messages displayed.

The messages list

Each context will be described in a specific chapter in this handbook.

#### Dickens - AI Assistant

Dickens is the &skrooge; AI assistant dock. You can use it to ask questions about the current document, request summaries of your financial situation, or ask for ideas such as ways to reduce monthly expenses. The assistant keeps the conversation context, so follow-up questions can refer to previous answers.

The AI assistant dock

To use Dickens, you must configure an OpenAI-compatible chat completion server in Settings.

When the assistant needs data from your document, it can execute read-only SQLite queries on the opened &skrooge; database. Only single `SELECT` statements are accepted. If internet searches are enabled in the settings, the assistant can also search the web through DuckDuckGo to answer questions that require external or up-to-date information.

The dock provides a session selector. Use Save current AI session to store the current conversation in the document, and Delete AI session to remove a saved one. Reset the current AI session clears the current conversation. You can press &Ctrl;Return in the question editor to send the question.

The help button displays example questions. The settings button opens the assistant preferences. The reasoning selector lets you choose whether the assistant reasoning, and optionally tool answers, are displayed in the conversation.

Financial documents can contain sensitive information. Prefer a local server if you do not want document data or questions to be sent to a remote service. Review the internet search option before enabling it, especially when your questions may contain personal or financial details.

#### Multiple Tabs

&skrooge; showing several tabs

&skrooge; can display several tabs. You can add as many tabs as you want, each one containing the information you need. The above screenshot shows 4 tabs (accounts, transactions, and two graphs).

#### Editing Panels

In most &skrooge; views, you edit items in an editing panel located at the bottom of the page.

Buttons for showing or hiding the Transactions editing panel.

When a view has more than one editing mode, buttons let you choose between them. In the above screenshot, there are four buttons to choose different editing modes for Transactions: "Standard", "Split", "Transfer" and "Shares". In order to preserve maximum space for visualizing information, especially on small screens, you can hide or show some views' editing panel. In the above screenshot, if you click the button for the current mode to deselect it, the editing panel becomes hidden.

In editing panels, all numerical fields are interpreted. This means that you can enter mathematical expressions such as:

- 5*3+10

- 5*(3+10)

- Math.sin(10)

#### Tables

In &skrooge;, all tables are customizable. Bring up the table's context menu, by right-clicking on the column header or clicking the settings icon in the table header - you will see a menu appear, as described in more detail below:

Customizing a table

Columns

  Customize the columns appearance.

  View Appearance

    Use a predefined set of columns. The "default" column usually shows all columns. Other predefined sets may exist on a "per-table" basis.

  Resize to Content

    Resize all columns to fit the content.

  Auto Resize

    When activated, you will not be able to manually resize columns. &skrooge; will do it automatically based on the columns content.

  List of displayed columns

    Shows the list of all columns that can be displayed for this table. The ones currently displayed are ticked. Untick to hide a column, tick to show. The added properties can be selected to be displayed as a column.

Group by

  Choose how to group the lines.

  None

    No grouping.

  Sorting column

    The lines will be grouped by the column where the sort is applied.

  List of columns

    Shows the list of all columns that can be used for grouping.

Alternate row colors

  Alternate the colors used for each row. The colors used are based on the chosen &kde; color scheme.

Export

  Export the table as a stand-alone file. Supported formats are .pdf, .csv, .html, .SVG, .odt or .txt.

You may also click on a header to choose the sorting column, or reorder columns by dragging them left or right.

##### Filter the table

Show table menu

In all &skrooge; views, you will find a "Show" drop down menu allowing you to limit what the table displays.

##### Search as you type

Search field

In all &skrooge; views, you will find a search field that filters the table to only display lines matching what you type:

- In an transactions view, it will filter the transactions containing the text entered, whatever the column (date, payee, category, comment, etc.)

- In an accounts view, it will filter the accounts containing the text entered, whatever the column (bank, account name, number, etc.)

- In a report view, it will redraw the graph based on this filter

- In a… well, you get the idea, right?

The filtering string follows these rules:

- Searching is not case-sensitive. So table, Table and TABLE are all the same.

- If you enter a word or series of words in the search box, the application will filter the table to only display lines having these words (logical operator AND).

- If you want to add (logical operator OR) some lines, you must prefix your word with "+".

- If you want to remove (logical operator NOT) some lines, you must prefix your word with "-".

- If you want to search only one column, you must prefix your word with the column name, like: col1:word.

- If you want to use the character ":" in value, you must specify the column name, like: col1:value:rest.

- If you want to search for a phrase or something that contains spaces, you must put it in quotes, like: "yes, this is a phrase".

- You can also use operator "<" and ">".

Below are some examples that can illustrate these rules in a more intuitive way:

- +val1 +val2 => Keep lines containing val1 OR val2

- +val1 -val2 => Keep lines containing val1 but NOT val2

- "abc def" => Keep lines containing the sentence "abc def"

- "-att:abc def" => Remove lines having a column name starting by att and containing "abc def"

- abc:def => Keep lines having a column name starting by abc and containing def

- :abc:def => Keep lines containing "abc:def"

- Date>2015-03-01 => Keep lines where Date attribute is greater than 2015-03-01

- Amount<10 =>Keep lines where Amount attribute is less than 10

#### Save Customized Content

As explained in the previous chapter, tables can be totally customized to your liking. You probably do not want to lost all the customization work you made when you close a tab. For this reason, two ways are included to save this work.

##### Save page state

This option allows you to save the current tab state as the default state that will always be called when opening this page. For example, you may want your Dashboard to contain 4 widgets, organized to your liking - what's even more important is that you always want the Dashboard to look the same, you do not want to repeat the customization work every time you open it.

To do this, you simply need to do the customization work once, then save the tab state as the Default State for the page being displayed. Setting the default state is done by right clicking on the tab and selecting Save page state. If you want to keep more than one state for a page then you must use bookmarks.

Contextual menu on tabs

A faster way is to click on the disk icon that appears on the left of the tab title whenever you modify the default state in a tab.

#### Mass Update

In &skrooge;, it is possible to update a large selection of items. Though mostly useful for transactions, it can also be used on accounts, units, scheduled transactions, etc.

The way to do this is quite straightforward. First, select items to be updated, set the attribute value(s) that should be applied on all items, and click on Apply. All attributes where you didn't set a value, will be left untouched on the items.

Set mode as "Credit Card" and payee as "ACME" on selected transactions.

Updated transactions.

It is intentionally impossible to set date or quantity with a mass update

In text fields, you can use special keywords (such as =capitalize) to transform the existing values. For example, if you select 100 transactions, enter =lower in the Comment field, and click Update, the comments of all selected transactions will be replaced with their lowercase versions.

#### Status Bar

The status bar is a small section at the bottom of the &skrooge; window, displaying various information as you work. It includes a progress bar and a cancel button, in case you want to interrupt a long task, such as importing a large file. The &skrooge; progress bar

### Import Files

&skrooge; is able to import files from other financial applications or from your bank. So, whether you are migrating from another application, or simply do not want to go through the hassle of manually entering your transactions, &skrooge; has a quick-start option for this.

#### Supported File Formats

One of the following formats may be used:

- AFB120: A French standard.

- CSV: Comma Separated Value. Though not strictly a financial format, it is quite often available as an export format from banks or other applications, mostly because it is so easy to use in a spreadsheet.

- GnuCash: Format of the GnuCash application. If you want to migrate from this application, this is the recommended format to use.

- Grisbi: Format of the Grisbi application. If you want to migrate from this application, this is the recommended format to use.

- Homebank: Format of the Homebank application. If you want to migrate from this application, this is the recommended format to use.

- Kmymoney: Format of the Kmymoney application. If you want to migrate from this application, this is the recommended format to use.

- MT940: An international standard defined by SWIFT.

- &Microsoft; Money: Format of the &Microsoft; Money application. If you want to migrate from this application, this is the recommended format to use.

- Money Manager Ex: Format of the Money Manager Ex application. If you want to migrate from this application, this is the recommended format to use.

- OFX: Open Financial eXchange. It is a well defined and documented format, that &skrooge; imports using a third party library (libofx). This is the recommended format for imports.

- QFX: QFX is a customization of OFX from the commercial software Quicken.

- QIF: Quicken Import File. Maybe the most common financial file format. However, it has some rather limitations, like not giving the unit for transaction, or no strict date formatting.

- IIF: Intuit Interchange Format used by QuickBooks.

- SKG: This is useful for merging two &skrooge; documents

- &PDF;: This allows to create the transaction from a &PDF; invoice. The invoice is also associated to the transaction as a property. Read the How to if you want to know how to extract information from an invoice not yet supported.

- Backend: &skrooge; can also import transactions by using a backend. For the moment, the three following backends can be used:

  - weboob: By using this backend you can import all transactions from all your banks in only one click. For that, you just have to install weboob and activate the corresponding backend from settings.

  - weboob_coming: By using this backend you can import all coming transactions from all your banks with one click. This can be used for cards with deferred debit. For that, you just have to install weboob and activate the corresponding backend from settings.

  - aqbanking: By using this backend you can import all transactions from all your banks in one click. For that, you just have to install and configure aqbanking-cli.

  If you do not want to store your bank passwords in the configuration file of WEBOOB, you can do so using the following method:

  - Add passwords for each bank by doing kwallet-query -f Weboob kdewallet -w m_bank_name

  - Edit the file ~/.config/weboob/backends in your favorite text editor

  - Replace in the config file password = my_password by password = `kwallet-query -f Weboob kdewallet -r m_bank_name `

#### CSV Specificities

Since CSV has no strictly defined format, there is no way for &skrooge; to know where it is supposed to find dates, categories, values, etc. For this reason, &skrooge; expects your CSV file to contain some headers indicating what each column is used for. The file must contain at least the columns "Date" and "Amount".

You may manually define how the file is set up (&ie; ignoring the headers in the file) by setting them in the application's settings (Settings Configure &skrooge;), in the Import / Export section.

#### Importing Transactions

One of the principles of &skrooge; is to avoid multiple wizards or dialog boxes. This is especially true for imports, where other applications require much information from the user. When selecting File Import, you will be asked to select the files (multiple file imports are permitted), and that is all the information that is required. Behind the scenes, &skrooge; will find the file format and apply the relevant import mode.

##### Account

One thing that might surprise you is that you won't be asked which account the transactions should be imported into. That is because &skrooge; will read the account number in the file, and will associate imported transactions to that account.

If no account exists with this account number, or if the file does not contain this information, &skrooge; will use the file name as the account number.

If you create a property named alias on the account, &skrooge; will try to match the value of the property to find the most appropriated account.

If there is still no account with that number, &skrooge; will create a new account having the filename as the account number, and import all transactions in that account. You will then be free to either rename the account, perform a mass update, or use Search & Process to associate imported transactions to an existing account.

##### Unit

If no unit is specified in the imported file (which is often the case for QIF and CSV formats), &skrooge; will assume the unit is your primary currency. If this was not the case, use the Search & Process function to correct.

##### Date

Sometimes, the input files will not have dates formatted as per your country's customs (it may happen in QIF or CSV, OFX has an imposed date format). &skrooge; will do its best to detect the format. If this doesn't work as expected, you can force the date format in the application's settings.

##### Import Status

Imported Transactions have a specific status. Right after import, they are considered as "Imported, not yet validated". The idea here is that you may want to check if the import went as expected, so you need to identify those transactions quickly. As per default settings, those transactions will also appear in blue.

If you do not want this behaviour, you can set the option Automatic Validation after Import in the application's settings.

The Search & Process function can be automatically launched after import to categorize transactions.

#### Merge transactions after import

There are some cases where you have manually entered a transaction, but also imported it from your bank. In such cases, the transaction will appear twice in the list.

You may merge these two transactions by selecting them, and select Merge imported transactions in the contextual menu or the edit menu. This will add all information you manually entered to the imported transaction, and will delete the manually entered transaction.

### Export

There are different ways of exporting data with &skrooge; depending on what your needs.

#### Export all your data in one file

Using the menu File Export, a CSV, QIF, JSON, Kmymoney, Ledger, IIF, Sqlite, Sqlcipher or &XML; file will be created, containing all transactions in the current document. This is the option to choose if you need to export your data to another application.

#### Partially export your data in one file

If you select some accounts or some transactions before using the menu File Export, a CSV, QIF, JSON, Kmymoney, Ledger, IIF, Sqlite, Sqlcipher or &XML; file will be created, containing the selected accounts (with their transactions) or the selected transaction. This is the option to choose if you need to export your data to another application.

#### Export a specific table

All tables in &skrooge; can be exported, in CSV, plain text, &HTML;, ODT, &PDF;, or SVG format. You can do so by right-clicking on the column header or clicking the settings icon in the table header to bring up the table's context menu, and choosing the Export option.

This works wherever a table is displayed, so you can use it to export whatever tabular information you need.

#### Export Graph

&skrooge; allows you to export a graph, either in &PDF;, SVG or just any image format supported by &Qt; (PNG, JPG, &GIF;, TIFF…). You can do so by right-clicking on the graph, and choosing the Export option.

## Using &skrooge; (beginner)

### The main menu

&skrooge; follows the standard &kde; menu scheme, and as such it has many menu entries that are common for all &kde; applications. More information on these menu entries can be found in this help section.

Below, you can find descriptions for &skrooge;-specific menu entries.

#### The File Menu

In this menu, you can find all functions relative to the &skrooge; document

- Change password…: To change the password. Leave the field empty to remove the password

- Print…: To print the open pages

- Print preview: To display the preview before printing

- Import: To import data.

  - Import standard bookmarks: To import the standard bookmarks. They are created at the creation of a new document

  - Import categories: To import a set of predefined categories. This option depends of your country

  - Import: To import transaction from files

  - Import with backend: To import transactions with all declared backends

  - Import currency values…: To import currency values from files. Of course, the csv file must have the three columns (unit, date and amount).

  - Import rules…: To import Search and process rules to associate a category to a payee. Of course, the csv file must have the two columns (payee and category).

- Export…: To export transactions into a file

#### The Edit Menu

In this menu, you can find all functions that can be used to modify selected objects.

- Undo: Cancel the previous modification done

- Redo: Reapply the previous modification cancelled

- Revert document: Cancel the previous modifications done up to the last save

- Delete: Delete the selected objects (transactions, accounts, categories, etc.)

- Add property: Add a property regularly used on the selected objects

- Select all: Select all lines of the table of the current page

- Fast edit: Facilitates the creation of new transactions by filling fields automatically based on previous transactions created

- Find…: Open the Search and process page with a predefined filter corresponding to the selected objects

- Switch highlight: Switch the highlight state of objects

- Switch close: Switch the close state of objects

- Reconcile…: Open the Transactions page in reconciliation mode

- Mark: Mark the selected transactions

- Group transactions: Group the selected transactions. It serves as a link between transactions. It is used in the case of transfers between accounts or in the case of buying/selling shares. You can use it for any other purpose. Be aware that reports and graphs allow you to ignore or to take into account the grouped transactions

- Ungroup transactions: Ungroup the selected transactions

- Duplicate: Duplicate the selected transaction to create a new one from a previous one

- Create template: Create a template from a selected transaction

- Apply template: Apply a template on selected transactions

- Merge sub transactions: Merge selected transactions in one split transaction

- Schedule: Schedule the selected transaction

- Switch validation of imported transactions: Validate all selected imported transactions

- Merge imported transactions: Merge one imported transaction with another transaction entered manually. If amounts are different then a confirmation is requested

- Split share: Split selected share

#### The View Menu

In this menu, you can find all functions related to pages

- Enable editor: Activate the editor on the current page

- New tab: Open a new tab

- Reopen last closed page: Recover the last closed page

- Close: Close the current page

- Close All: Close all pages except pinned ones

- Close All Other: Close all pages except the current one and the pinned ones

- Pin this page: Set the current page pinned. This will top it from being replaced by another page, or from being closed

- Reset page state: Reset the status of the current page

- Save page state: Save the status of the current page

- Overwrite bookmark state: Save the status of the current bookmarked page. The bookmark is updated with the new state

#### The Go Menu

In this menu, you can find all functions related to pages

- Home: Close all pages and reopen all bookmarks autostarted like when the document is opened

- Previous: Change the content of the current page with the content of the previous one (like in a web browser)

- Next: Change the content of the current page with the content of the next one. (like in a web browser)

- Open highlights…: Open highlighted transactions

- Open last modified…: Open transactions modified by the last action done

- Open potential duplicates…: Open a page with transactions that have the same amounts and same dates

- Open sub transactions…: Open sub transactions of the selected transaction. Similar to a double click

- Open report…: Open a report based on the selection. This is really useful. For example: if you select two accounts and launch this action then the report page will be opened but only for transactions of those accounts

- Open imported transactions not yet validated…: nothing to add

- Open transactions without category…: Open all transactions not having a category

- Open transfers without category…: Open all transfers not having a category

- Open transactions without payee…: Open all transactions not having a payee

- Open transfers without payee…: Open all transfers not having a payee

- Open transactions without mode…: Open all transactions not having a mode

- Open transactions with dates not aligned…: Open all single transactions not having the date aligned with its sub transaction

- Open transactions with comments not aligned…: Open all single transactions not having the comment aligned with its sub transaction

- Open transactions in groups with only one transaction…: Open all single transactions alone in a group

- Open very old transactions: As per the title

#### The Tools Menu

- Find and group transfers: Create potential transfers

- Clean bank's import: Clean transactions after imports

- Anonymize: Anonymize your document to help debugging of &skrooge;

- Align comment of subtransactions: Correct single transactions having comments not aligned

- Align date of subtransactions: Correct single transactions having dates not aligned

- Remove groups with only one transaction: Correct alone in a group

- Delete unused payees: As per the title

- Delete unused categories: As per the title

- Delete unused units: As per the title

- Validate transactions that do not require further action: Validate imported transactions

- Process budget rules: Recompute the budgets based on defined rules

#### The Settings Menu

- Show Menubar: To show or hide the menu

- Toolbars Shown: To show or hide the toolbars

- Show Statusbar: To show or hide the status bar

- Configure Keyboard Shortcuts…: To change the shortcuts of each command

- Configure Toolbars…: To modify the toolbars layouts

- Configure Notifications…: To modify the notifications

- Configure &skrooge;…: To access to the main settings of &skrooge;

### Dashboard

The Dashboard is a &skrooge; plugin that displays global information about your financial status.

You can add new graphical items using button on the top right corner. You can configure each graphical item by clicking on the icon on it. You can organize the graphical items on the dashboard by using drag and drop.

Combined with bookmarks, this is a good way to have quick different views of your financial status.

#### Advice

This graphical item displays some advice by order of priority. For each of them, you will be able to:

- Open or clean concerned transactions

- Dismiss this advice

- Dismiss this advice for the current month

- Dismiss this kind of advice

- Dismiss this kind of advice for the current month

#### Tip of the day

Display the tip of the day. You can click on the graphical item to see the next tip.

#### Accounts (Light)

Display the balance of each account and type of account. You can configure this graphical item to select what you want to see.

#### Accounts (Full)

Display the balance of each account and type of account. The balance can be compared with the balance one month before and one year before.

#### Banks (Light)

Display the balance of each bank. The corresponding report can be directly opened from the graphical item.

#### Banks (Full)

Display the balance of each bank. The balance can be compared with the balance one month before and one year before.

#### Income & Expenditure

Display the incomes, expenditures and savings for two different periods (example: current month, current year, previous month, etc.). You can also:

- Select the two periods of your choosing

- Choose if transfers are taken into account or not

- Choose if tracked transactions are taken into account or not

- Open the corresponding report

#### Highlighted transactions

Display the list of highlighted transactions.

#### Scheduled transactions

Display the list of scheduled transactions.

#### 5 main categories of expenditure

Display the five main categories of expenditure for the desired period.

#### 5 main variations

Display the five main variations of income and expenditure for the desired period.

#### Budget

Display the budget for the desired period.

#### Alarms

Display the alarms defined in Search and Process.

#### Report

Display the report you want.

#### Quotes

Display the quote of the defined units and the variations. You can choose the types of units to display.

#### Portfolio

Display all information relative to the shares you have.

#### Estimated interest

Display the estimation of interest for each account. You have to use the simulation page to define the rate of each account.

#### Personal financial score

Display your personal financial score.

### Bank & Accounts

This is the plugin dedicated to managing your different accounts.

The Bank & Accounts view

#### Account properties

A &skrooge; account has the following properties:

Bank

  You may choose a bank from the drop down box (containing the list of known banks for your country), or type the name if your bank is not in the list (If the list is empty, the &skrooge; team has not yet been provided this information. You may contact us to help!).

Account

  The name you want to use for this account.

Type

  The account type can be

  - Current

  - Credit Card: This kind of account has a specific reconciliation mode.

  - Saving

  - Investment

  - Assets

  - Loan: The transfers to this kind of account are not taken into account in reports.

  - Pension

  - Wallet: This kind of account does not have a bank name.

  - Other

Bank Number

  The identification number of your bank

Agency Number

  The identification number of the agency

Account Number

  The identification number of the account. This value is very important to match the appropriate account during imports

Address

  The address of the agency

Comment

  Anything you want!

Initial balance

  The initial amount of the account. For a loan account, the amount should be a negative amount corresponding to the loan.

Minimum limit

  The minimum limit when &skrooge; must raise an alarm

Maximum limit

  The maximum limit when &skrooge; must raise an alarm

#### Accounts list

The accounts list takes the form of a table with one line per account. In addition to the properties you defined for this account, &skrooge; displays the following columns:

Amount

  The amount available on the account, considering all transactions registered, whether they are validated or not.

Checked

  The amount of all validated transactions. This should be equal to the amount written on your last account's position from your bank.

Foreseen

  The difference between the two previous columns

Number of transactions

  The total number of transactions made on this account

As with all &skrooge; list views, you can fully customize the table appearance.

#### Create an Account

You create accounts in the editing panel below the accounts list in Accounts view.

To create an account, enter its attributes (the mandatory ones are in bold), and click on Add. &skrooge; doesn't need you to provide the initial amount of this account. In order to set the initial amount of the account, create a transaction corresponding to the initial amount.

#### Modify an Account

To modify an account, select it, modify its attributes, and click on "Modify"

#### Delete Accounts

To delete accounts, select them and either press Delete on the keyboard, use the contextual menu, or use the icon in the toolbar.

Upon deleting an account, all transactions belonging to this account will also be deleted! However, you can always undo the deletion.

### Transactions

Transactions are any transaction you make on an account, be it an expense, income, transfer, sales, purchase, etc. This is where you will probably spend most of your time when using &skrooge;.

In order to enter transactions, you need to have at least one account created.

The transactions view

#### Transaction Properties

Account

  The account the transaction is made on. Select it from the list of existing accounts.

Date

  The date when the transaction was made. A calendar is accessible using the down arrow right of the field.

Amount

  The amount is how much you spent or earned with this transaction. &skrooge; requires you enter this in two separate fields: Quantity and Unit.

  The quantity is negative for an expense (-30, for example), and positive for an income (+250, or simply 250). This field acts as a calculator, &ie; entering an expression such as 10 + 3.23*2 will result in the field containing 16.46.

  If the sign of the quantity is not specified, then &skrooge; will use the category to find the most appropriate one.

  &skrooge; requires you to enter the unit because a transaction is not necessarily made in your main currency. For example, when you buy or purchase shares, the unit of the transaction is the share unit.

Payee

  Who did you pay this to, or who gave you the money.

Mode

  What was the payment mode used for this transaction. Something in the line of Credit Card, Cheque, Deposit… You name it!

  Associated with the transaction mode, it is an optional number. It is mostly used to enter the check number, or a transfer number.

Category

  Which Category this transaction belongs to. If you need to affect more than one category to a transaction, use the split mode.

  You can either choose an existing category, or type a new one. In this case, &skrooge; will create it for you along with the transaction.

  The separator between a parent category and its children is the > character. If you type Clothes > Shoes, &skrooge; will create the category Clothes if it doesn't exist yet, and its child category Shoes.

  Of course, you may create entire category trees, such as Transport > Car > Fuel > Unleaded, &skrooge; will happily create all the hierarchical structure.

Comment

  Any comment you'd like.

Tracker

  If you want to track refund for this transaction, enter the name of the Tracker here. If you need to affect more than one tracker to a transaction, use the split mode.

#### Transactions list

The transactions list takes the form of a table showing all transactions that match the current table filter and search terms, with a row for each transaction. In addition to the standard transaction properties and any other properties you defined for this account, &skrooge; displays the following columns:

Status

  A filled square means this transaction has been confirmed during account reconciliation. A half-filled square means this transaction has been marked, and reconciliation is ongoing.

Bookmark

  Mark this transaction as Bookmarked, a synonym for Favorite.

Scheduled

  When a transaction is scheduled, this column shows a chronometer icon.

These columns also have some specificities:

Mode

  When the transaction is part of a transfer, the mode is preceded by a double arrow icon.

Category

  When the transaction is split, the category is preceded by a triple arrow icon.

As with all &skrooge; list views, you can fully customize the table appearance.

#### Create an Transaction

To create a standard transaction, you may use the Clear button to clear all fields and start a new transaction from scratch. You can then fill its attributes (manually or using fast editing), and click on Add.

If the appropriate setting is enabled, then the category will be set automatically when the payee is set.

You may also select a similar transaction from the existing transactions, modify what needs to be changed, and then click on Add.

#### Split Transaction

A split transaction is a transaction that has several dates, categories, comments or trackers. You switch to the split transaction editing mode using the Split Button at the bottom of the Transactions view. When switching into the split transaction editing mode, the fields Category, Comment and Tracker are replaced by a table.

The split transaction editing panel.

To edit a cell in this table, double click on it.

You can add as many lines in this table as you need. When changing the quantity in a line, &skrooge; will compute the difference with the transaction global quantity, and display the remaining quantity in the last table line. If you changed the quantity in the last line, a new line will be added with the remaining quantity.

The fields here have the same behaviour as in the standard transaction editing mode:

- The split by Date can be useful, for example, in a hypotheical scenario where you paid your sport training for three months. In this case, you can split the payment by three months - this will have an impact on reports.

- The Category is a drop down box of existing categories. You can add a new category structure, &skrooge; will create it when creating the transaction.

- The Amount acts as a calculator.

- The Tracker is a drop down box of existing trackers. You can add a new tracker, &skrooge; will create it when creating the transaction.

#### Transfer

A transfer transaction is effectively a dual transaction: when creating a transfer, &skrooge; will create two transactions of opposite amounts (one positive, the other negative), on two different accounts. The attributes to provide here are slightly different from a standard transaction:

The transfer transaction editing panel.

You will find a "To Account" list where you should select the account receiving the money.

Since a transfer means "Take some money from account A and put it account B", if you put a sign in the quantity field (+ or -), it will be ignored. The transaction for account A will always be negative, positive for account B.

#### Shares

First, you have to create some units with the shares you want to track, from the settings you can choose to update the data automatically when the file is opened. It is also recommended to create a different account (&eg; "ETF") in order to keep the investments separated and be able to see them from the dashboard.

Now you can add your transactions as "shares": The shares editing panel.

- Amount is the number of shares you've bought (positive value) or sold (negative value)

- Symbol is the previous unit you created

- Amount of shares is the total price you payed for the shares / the amount you got from the selling, excluding commissions and taxes

- Commissions is the amount you payed your bank for that transaction

- Tax is any amount you paid (usually when there are earnings)

#### Schedule Transactions

If a transaction is known to be repeated on a regular basis, you may want &skrooge; to automatically enter it for you in the list of transactions. This can be done by scheduling a transaction, using the Schedule button .

The default scheduling parameters are:

- Repeat every month

- Remind me five days before term

- Automatically write on term

You may change the default parameters in &skrooge; settings.

You may also change each scheduled transaction parameters in the Scheduled plugin.

&skrooge; uses values from the last entry of the scheduled transaction for writing the next one. If you increase, for example, the amount of your monthly contribution to the &kde; effort from 100$ to 200$, the next transactions automatically written by &skrooge; will have an amount of 200$.

#### Fast Editing

Regardless of the chosen editing mode, there is a nifty function called Fast Editing that may speed up the work while creating new transactions. It will fill the transaction's attributes based on previously entered transactions. Enter a value in any field of the editor, and press F10, or click on the Fast Editing Icon (without leaving the selected field).

&skrooge; will look for the first (&ie; the most recent one) transaction that has the same value in the same field, and fill all other fields with values from that transaction. It will continue to do so with each call.

Fast Editing has no effect on the date, since it is rather unlikely that you want to create exactly the same transaction, complete with the same date.

If you modified a field's value before calling Fast Editing, its content will not be affected. This is materialized by a different background color in the field, so you know it is "frozen".

Below are the differences when compared to similar functions in other personal finances software:

- It is called on user demand

- It loops in all past transactions with the same field value

And it even works on split transactions !

#### Reconciliation

Reconciliation is the process by which you ensure that all transactions in an account match the bank's view of that account. It will involve you, your account's position, and a pen. Reconciliation can happen only for an account at one mark in time.

First, enter all the transactions for the account up to that mark in time; if you can, download transactions from the bank and import them into &skrooge; to minimize data entry. Then, in the Transactions view, select the account you wish to reconcile from the drop-down box; or in the Accounts view, double-click the account name or bring up the contextual menu and choose Open transactions…. Switch into reconciliation mode using the Switch Information button below the transactions table.

The reconciliation mode information.

Enter the position of your account as provided by your bank in the dedicated field. Now, you can proceed to pointing in &skrooge; every transaction that appears in the bank's statement: you can either click on its checkbox in the status column or bring up the contextual menu and choose Mark. The check box for this transaction will appear partially filled until you complete reconciliation.

As you mark transactions, you will see &skrooge; display in the information zone:

- Delta: the difference between the previously entered account position and the sum of all checked transactions

- Expenditure:the total amount of Marked debits

- Income: the total amount of Marked credits

These running totals help you spot transactions you may have forgotten to enter in &skrooge;. Many bank statements provide similar totals such as "Withdrawals" or "Deposits and Credits", although they may have separate totals for "Interest", "Fees". When the Delta is equal to 0, you may have marked all transactions matching the bank's record. For example, you may have mistakenly marked a debit of 8€ and a credit of 2€, and overlooked a bank debit of 6€ - the net is the same, minus 6€. When the Delta is 0, the Validate marked transactions button is enabled. Click on this button to complete your reconciliation: all marked transactions are now checked.

can automatically mark all imported transactions for you.

If the option Hide checked transactions for the table is selected from its "Show" menu (see Filter the table), then all these transactions will now be hidden.

If the reconciliation is not possible for any reason, you can create a fake transaction that in combination with the other transactions you marked sets the Delta to 0, thus allowing you to complete the reconciliation. To do so, click the "add" button in the reconciliation mode toolbar. You can set the default values of this fake transaction in the application's settings, in the Transactions section. During reconciliation, if you enable the appropriate setting, &skrooge; automatically points all created transactions.

#### Template Transactions

&skrooge; allows you creating template transactions, &ie; transactions that can be reused whenever you need it. For example, say that you frequently rent &DVD;s to watch at home. The transaction is always the same :

- Amount: -4.99

- Mode: Credit Card

- Payee: Acme Video

- Category: Leisure > Video

However, you cannot make it a recurring transaction, because you rent a &DVD; when you feel like it, not every week. The idea behind template transactions is that it gives you a basic skeleton that can be quickly inserted in your transactions list.

Since Template transactions are just another kind of transactions, you can access them through the transactions tab, using the dedicated option in Show menu:

Switching between templates and transactions.

Creating a template is strictly equal to creating a transaction by defining its attributes. Note that you can also create a template from an existing transaction (bring up the contextual menu on a transaction). In this case, the template will have the same attributes as the transaction.

To use a template and create a new transaction from it, double click on it. A new transaction will be created with the same attributes as the template, at the current date. You can then modify its attributes if needed.

Templates can also be scheduled.

#### Viewing Modified Transactions

You can use Go > Open last modified... to view the transactions modified by your last action. Furthermore, &skrooge; keeps a record of all changes to transactions in its History panel. To see this panel, choose View > Panels > History. You can then right-click on any action in the History list and choose Open transactions modified by this action...

### Payees

The Payees view allow you to browse the payees list.

In addition to the name of payees, the table also shows:

Address

  The address of this payee.

Category

  The default category for this payee. This category is used automatically when the payee is set in transactions page. If you don't set it, then the default category is computed with the existing transactions.

Amount

  The sum of all transactions in this payee.

Number of Transactions

  The number of transactions in this payee.

Double-clicking on a line in this table will open the list of all transactions in this payee in a new tab.

### Categories

The Categories view allow you to browse the categories tree.

In addition to the name of categories, the table also shows:

Amount

  The sum of all transactions in this category.

Number of Transactions

  The number of transactions in this category.

Amount (Cumulative)

  The sum of all transactions in this category and children categories (down to the last level).

Number of Transactions (Cumulative)

  The number of transactions in this category and children categories (down to the last level).

Double clicking on a line in this table will open the list of all transactions in this category in a new tab.

When deleting a category, all transactions attached to it will have their category deleted, hence will not have any category attached

### Reports

&skrooge; allows you to build highly customized reports, for a deep analysis of your financial status.

A report is composed of a table (on the left) containing all data used to draw the graph (on the right). The table can be filtered using the dedicated field above, causing the graph to be redrawn with filtered data.

You can choose to display only the table, only the graph, or both.

#### Set up report

##### Representation

Table

  Display the table.

Graph

  Display the graph.

Text

  Display the text report, hide table and graph.

##### Data

This is where you choose the data to be present in the report. Select what will be shown in lines and in columns, and the mode of computation. There are two distinct values for the mode:

Sum of transactions

  In this mode, the total amount of transactions for each month will be computed. If you selected "category" in line, and "month" in column, this will compute the total amount of transactions for each category and for every month.

Cumulated sum of transactions

  If we reuse our previous example ("category" in line, "month" in column), we will have here a cumulated sum, &ie; for each month, we will compute the total amount of transactions up to this month, for each category.

  As a practical example, this author uses this mode to draw the evolution of his accounts balance by setting "Accounts" for Lines, and "Month" for Columns.

Base 100

  Like "Sum of transactions" but on base 100.

Cumulated sum in base 100

  Like "Cumulated sum of transactions" but on base 100.

Percent of columns

  The values are expressed in percent of the high column value.

Absolute percent of columns

  The values are expressed in percent of the high column value in absolute.

Percent of lines

  The values are expressed in percent of the high line value.

Absolute percent of lines

  The values are expressed in percent of the high line value in absolute.

Count number of transactions

  .

For lines and columns, it is possible to expand the level of data presented using the plus icon right of the field. Use this to show subcategories in the report.

##### Dates

Use this to specify the date range for your report. You can use several ways to specify the date range that should cover pretty much every possible date range you need.

##### Transaction Types

Select the type of transactions you want to include in your report. For example, if you want to draw a graph showing your expenses distribution per category, you probably do not want to include "Incomes" to your report.

##### Other filters

From this section, you can select some other filters defined by selection done in other pages. If you want a report only for the categories "Food" and "Gift", you just have to open the page of categories, select the two categories and come back to the report to activate the corresponding filter.

#### Graph Types

Once everything is set up to your needs, you should select the graph appearance using the drop down box below the graph. To better understand the differences between each type, let us build a report showing expenses per category (lines) and month (columns):

##### Stack

One bar per line, columns stacked.

The second bar (yellowish) shows category "Security", all months stacked up.

##### Histogram

For each columns, every line has its own bar.

##### Line

##### Mark

##### Pie

The classical pie graph. If the selected value for column is different from "nothing", displays one pie per column.

##### Concentric Pie

This one is a bit tricky, and probably needs rework on our side. The intention is to show one ring per level of data.

#### Zoom on graph

&skrooge; makes it possible to zoom in a graph for getting all the small details. Use the zoom control zone above the graph:

#### Report Examples

Here are some screenshots showing some classical report configurations. You may use them as a reference for your own reports.

##### Incomes and Expenses

For each month, compare the total amount of incomes versus the total amount of expenses. Incomes are in blue, expenses in yellow.

##### Balance Evolution

Show the evolution of the final balance on a monthly basis.

##### Incomes and Expenses

Display the distribution of expenses per category for the previous month.

#### Going Deeper

By double clicking on an item of a graph, you will open the transactions included in this item.

You can open a new report based on an item of a graph too.

So you know you can make a deep analysis of your finances thanks to reports. But how deep is deep? Well, that's even deeper than you imagined… If you are interested, read the hands on exercise analysing this author's expenses during its holidays :)

### Monthly Report

This plugin shows an overview of your financial situation for a chosen period.

You can choose the template you want. You can even create your own template by entering the name of the template you would like to create. Your default text editor will be launched with a sample for your template. You just have to follow the comments in this sample.

Do not hesitate to distribute your templates in the category `&skrooge; report templates` of the KDE Store.

### Units

A unit is anything you can express a transaction in. In most cases, this is a currency, but it can also be a stock, or even a car or a house. A unit has different values over time, its value being express in another unit. Example: ACME stock is worth 31.2$ on January 2009.

#### Edit Units

Editing units can be done in different ways:

Standard

  This mode allows you choosing amongst the set of predefined units which one you would like to add to the current document.

Manual

  This mode allows you to create your own unit. Parameters to be provided are:

  - Name: the comprehensive unit name.

  - Symbol: the unit symbol, displayed in most tables and drop down boxes.

  - Type: see Unit Types.

  - Reference Unit: the (other) unit used to compute value of the (current) unit. For example, if you have EADS shares, and want to see their value in euros, you should select € as reference unit in EADS unit.

  - Country

  - Download source: The source to download quotes. The recommended one is "boursorama". By clicking on the arrow on the right of the "Download" field, you can directly download new sources from store.kde.org

  - Internet Code: The Internet code for this unit. If given this code, &skrooge; is able to download the unit values from selected source.

Values

  This editing mode allows for downloading unit values from the Internet, or manual entry of a unit value at a given date.

#### Unit Types

&skrooge; may consider just about anything as a unit, but it does makes a distinction depending on such unit's type:

Primary Currency

  This is the currency that will be used for displaying real transactions amount.

Secondary Currency

  If defined, the value in the secondary unit will be displayed upon hovering over a transaction amount.

Currency

  Any currency, with no specific role for display.

Share

  This type of unit can be used for managing shares.

Index

  A stock exchange index, such as the Dow Jones, NASDAQ, CAC40, SBF120…

Other

  Any unit that doesn't fit in the above types.

## Using &skrooge; (advanced)

### Scheduled

This plugin shows you the list of all scheduled transactions.

This is where you can set up each scheduled transaction to have its own parameters.

Next Occurrence

  Displayed for information, but can also be used to force the date of the next occurrence.

Once every

  You can set a transaction to be repeated over a given number of days, months, or years.

Number of Occurrences

  If the occurrence has a limited number of occurrences, you can check this option and define either the number of remaining occurrences, or the date of the last occurrence.

Remind me

  If you want &skrooge; to display a notification to remind you about the upcoming scheduled transaction, you may check this option and set the number of days before term when the warning shall occur.

Automatically Write

  If you want &skrooge; to automatically write the upcoming scheduled transaction, you may check this option and set the number of days before term when it will be written.

Template

  You can convert a schedule to template or non-template mode. This will create/remove a corresponding template transaction.

To modify the transaction (category, amount, etc.), you have to click on Jump to the transaction.

Double clicking on a scheduled transaction will display the list of transactions already registered for this scheduled transaction in a new tab.

#### Scheduled Transactions

If you schedule a transaction, it will be used as a reference when inserting the next occurrence. Let us see an example, with this transaction:

##### Scheduled Transactions (step 1)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€

Now, if you schedule this transaction, it will be written exactly like this for the next occurrence:

##### Scheduled Transactions (Step 2)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€
20/07/2009 | &kde; | Donations > Open Source | 20€

If you change something in the last occurrence, it will become the new reference for the next occurrence. For example, if you raise your monthly contribution to &kde; to 25€ in July, the next occurrence will also have an amount of 25€:

##### Scheduled Transactions (step 3)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€
20/07/2009 | &kde; | Donations > Open Source | 25€
20/08/2009 | &kde; | Donations > Open Source | 25€

All in all, a scheduled transaction is a dynamic object, where the last occurrence is the reference. But maybe you'd like all occurrences to be static, &ie; the same values are always inserted for each new occurrence ? Enter Scheduled Templates.

#### Scheduled Templates

Templates are a kind of reference transactions. When scheduling a template, every new occurrence will be exactly equal to the template. Let's reuse our previous chapter example, by creating a template like this:

##### Scheduled Templates (step 1)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€

The next occurrence will be:

##### Scheduled Templates (step 2)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€
20/07/2009 | &kde; | Donations > Open Source | 20€

Now change your July contribution to &kde; to 25€. Because you have scheduled a template with 20€ as amount, the next occurrence will also have an amount of 20€:

##### Scheduled Templates (step 3)

Date | Payee | Category | Amount
--- | --- | --- | ---
20/06/2009 | &kde; | Donations > Open Source | 20€
20/07/2009 | &kde; | Donations > Open Source | 25€
20/08/2009 | &kde; | Donations > Open Source | 20€

If you need to change the monthly value, just edit the template, and all future occurrences will have the new value.

#### Assign Schedule

If you scheduled a transaction that is being repeated on a regular basis, you can link some old transactions to this schedule using the "Assign schedule" context menu of a transaction. This menu also allow to unlink a transaction from a schedule or link it to a different one.

### Trackers

The trackers allow you to aggregate some transactions together in a group, so you can follow them more closely. This may come in handy to follow expenses for which you expect a refund, or simply knowing how much you spent during your last holidays in the Bahamas.

For example, imagine you have been sent to Italy by your company. Once there, you paid for your hotel room. In &skrooge;, you can create a transaction in the category "Business > Travels > Hotel", and assign a tracker called "Business Travel in Italy". You can assign this tracker to all professional expenses you make there. Then, if all goes well, your company pays you back for all these expenses, and you can create an income transaction, and also affect it to the "Business Travel in Italy" tracker.

By affecting trackers to transactions that shall be reimbursed, you are able to follow completion of the reimbursement.

This, of course, also works the other way round: if someone lends you some money, you are able to monitor how much you still have to reimburse.

Double clicking on a tracker in the track view will open a new tab containing all transactions attached to this tracker.

Sometimes, you would like to track the refund of a payment done before you started to use &skrooge;. What is the best way of doing this, as it is not possible to set an initial amount on a tracker?

You can create a split transaction with:

- amount=0 to avoid impact on reports.

- a split with the expected amount associated to the tracker.

- the other split with the opposite amount not associated to a tracker.

#### Close Tracker

When you no longer need the tracker, for example, because it has been fully reimbursed, you may simply delete it. Doing, this, however, will discard all information you have entered, which you may not wish to do as such information may be of use to you in the future.

A cleaner solution is to close the tracker: when a tracker is closed, it can be easily hidden from the tracker's view using the dedicated option.

### Search & Process

This plugin allows for the building of complex queries to find transactions. You can also optionally apply some transformations to them. Here is a use case:

> John downloads some data from his bank. The data comes, obviously, without indication as to the category. In fact, everything is written in the comment field. John would like some automatic way to correctly set up the category and other attributes based on the content of the comment.

So how does this work? First, you will define a search criteria, which will give you a list of transactions. Then, define the transformations to apply on these transactions.

A real case study can be found in appendix, providing some hands on exercise for the aforementioned use case.

#### Define search criteria

Here, you can define the query for finding transactions using a combination of parameters. In the above picture, you can find a table with transaction attributes for the header. By editing a line, you create a new clause in the query. Each column is combined with other columns using a logical "and":

(column1 and column2)

If you add a new line, you create another clause combine with the first line by a logical "or":

[line1] or [line2].

All in all, the combination of columns and lines can be read as:

(column1 and column3) or (column2 and column3)

Of course, you can have as many lines and columns as you need in a search query.

Once satisfied with a query definition, you can add it to the list of existing search criteria, or modify an existing one.

#### View search results

When selecting a search query in the queries view, the number of found transactions is displayed below the table:

When double-clicking on a search query in the query view, all found transactions are displayed in a new tab:

#### Define Processing

If you need to apply some processing on all transactions found, select the concerned query, and activate the process definition panel:

In this panel, you can define the transformations to perform on transactions. Note that it is intentionally impossible to set a transaction's amount or date in this panel.

#### Define Alarm

A special kind of use of the Search & Process plugin is the ability to define alarms. An alarm is basically &skrooge; calling your attention to some kind of event, such as your monthly budget for a category being reached.

To define an alarm, first define the search criteria giving the set of transactions for which you need an alert. For example, all transactions in current month and in category "Clothes". Then, define the amount for which the alert shall be raised, for example 100€, and define the Alarm message that &skrooge; will send to you when the amount is reached.

Alarm messages can have parameters for the total amount (%1), alarm amount (%2) and difference (%3).

### Budgets

This plugin allows you to define and manage your budget.

Like in all other financial software, &skrooge; allows you to define a budget. You can do it manually or automatically.

#### Budget definition

In manual mode, you can:

- Define a budget amount for a category for a year.

- Define a budget amount for a category for all months of a year.

- Define a budget amount for a category for a specific month of a year.

- Define if income or expenditure of sub-categories must be taken into account in the defined budget (example: if the option is selected then a budget for the category "Car" will take into account the category "Car > Fuel").

You can define a budget capturing all income or expenditure not defined in another budget by leaving the category empty. This is really useful to make sure that you do not miss an expenditure.

In automatic mode, you can:

- Define a budget for a year based on the transactions of the previous year.

- Define missing budget items to balance each month and/or the year (even on manually defined budget).

#### Budget rules

To go further in budgeting we will take as example the following balanced budget:

- -500€ per month for "Food".

- +500€ per month for all other categories of expenditure and income.

Imagine that you spent 600€ for "Food" during the previous month! &skrooge; informed you that you are over the defined budget but you could not stop eating. So you spent more than expected! How should you deal with this?

Budget rules will allow you to define how you want to do with the delta (positive or negative). For example, you can choose to transfer the delta of one month to the next month. In this case, your new budget for "Food" for the current month is -400€ (-500+100). So you have to take care to recover the situation.

Budget rules can also help you for your project. For example, you can define a rule like this: All positive delta (saving) on "Food" are transferred in "Holidays". This way, when you have the expected amount in "Holidays" budget, then you know that you can go.

### Simulations

This plugin allows you to carry out simulations

You can define the rates for each account and estimate the annual interest. You can also generate an amortization table.

## Settings

You can find here a description of all settings used by &skrooge;. These settings are common with all your documents.

### General

You can set here the main general settings. The most important ones are those to describe what to do when a page or a bookmark is modified.

### File

All these settings are relative to the storage. You can choose how to create backup files, if you want to use the &kde; wallet to store passwords, etc.

### Bookmarks

Only one option here to choose whether or not we want to pin automatically loaded bookmarks.

### History

These options will help you to better manage your modifications history.

### Transactions

Here you will find options for editing transactions.

Please note that you can improve performance if you don't use the "balance" column by avoiding calculating balances for no reason.

What to do if an action breaks a reconciliation: A check is made after each modification to see if the modification breaks the previous reconciliation. Here you can choose what to do if this happens.

What to do if an action breaks an import: A check is made after each modification to see if the modification breaks the previous import. Here you can choose what to do if this happens.

### Scheduled transactions

Here you will find options for editing scheduled transactions.

If you toggle the create template option, and additional option will appear that will allow you to convert all existing scheduled transactions.

### Search and process

Only one option here to choose the alarm frequency.

### Report

You can choose some display options for reports here.

### Units

You can choose some options relative to download of unit quotes here.

### Import / Export

The general import settings.

If you use the CSV import, you will have to modify these settings to help &skrooge; to identify the columns.

In some specific cases, you could have to force the date format for QIF files. Most of the time, &skrooge; is able to find it automatically.

You can activate the import backends from the list here.

### AI Assistant

The server URL can be a local server, such as the default `http://127.0.0.1:8080`, or a remote compatible service. If the service requires authentication, enter its API token.

## How to…

How to use &skrooge; in my language?

Check if &skrooge; is well translated to your language and if you have installed all packages for &skrooge; provided by your distribution.

How to set default currency and date format?

Default currency and date format are retrieved from &plasma;'s &systemsettings;. Some distributions do not ship it with &skrooge;. In such case you should install it through your distribution's package manager.

You can then start it in a console: `systemsettings5`

And select your preferred settings, in the Format section.

How to reduce the size of my document?

The size of your document can be very important. If you delete some old transactions, the size will increase. This is normal because &skrooge; keeps the history of all modifications for the undo/redo mechanism. So if you want to reduce the size of your document, you just have to clear the history.

How to define a new invoice extractor?

&skrooge; uses pdftotext to extract all strings of a &PDF;. After that, it uses a text file describing how to find key values. If you want to define a new invoice extractor, you have to do the following:

- Launch `pdftotext` on your &PDF; file

- Open the text file generated and the corresponding &PDF; file

- Create a new text with an extension `.extractor`. Example: `google.extractor`

- Your file must be like this:

      	payee=REGEXPCAP:^(Biofan) SPRL$
      	date=REGEXPCAP:^Order Date: (.*)$
      	dateformat=dd MMM yyyy
      	number=REGEXPCAP:^N° de facture (.*)$
      	mode=SET:Carte
      	comment=REGEXPCAP:^N° de commande (.*)$|SET:Commande %1
      	amount=REGEXP:^Montant global:$|LINEOFFSET:2

  Each attribute (payee, date, number, mode, comment and amount) use the same syntax: COMMAND:value|COMMAND:value|…

  The command can be:

  - `REGEXPCAP`: This is a regular expression capturing a value

  - `REGEXP`: To find the line in the file matching a regular expression

  - `LINEOFFSET`: To change the line index.

  - `SET`: To force the value. Can be used as first command or after the REGEXPCAP (see example).

  dateformat is the format of the date extracted.

- Put this file into the same folder as all other `.extractor` files

## Credits and License

&skrooge;

Program copyright 2008-2020 Stéphane Mankowski stephane@mankowski.fr

Documentation copyright 2008-2020 Guillaume DE BURE gdebure@yahoo.com

&underFDL; &underGPL;

## Search & Process real case study

OK, we have to admit that while being quite powerful, the Search & Process plugin is maybe a bit tricky to understand. Here is a small exercise that will come to grips with it. Remember the use case for Search & Process ?

> John downloads some data from his bank. The data comes, obviously, without indication as to the category. In fact, everything is written in the comment field. John would like some automatic way to correctly set up the category and other attributes based on the content of the comment.

John knows that his bank put the name of the payee in the comment field, and he wants all his payments to &kde; to be in category Donations & Open Source. We will look for all transactions with the comment field containing &kde;:

### Search Definition

Comment
contains '&kde;'

Add this search definition to the list of existing searches using the Add button.

Next, we need to tell &skrooge; to set all transactions found by this query in category Donations > Open Source. Change the Query type to Update using the drop down box, and define the transformations to apply:

### Update Definition

Comment | Category
--- | ---
='' | ='Donations > Open Source'

Notice that we also removed the original comment by setting it to an empty string. This is for readability sake, but you may wish to keep it for historical reasons.

Add this process to the previously defined search using the Add button.

So far, so good. Now, let's apply the process on all imported transactions not yet validated (click on the Apply button):

That's it! If you go back to the transactions view, you will notice that all concerned transactions have been updated. In case anything went wrong, do not forget that Undo is your friend! Even if the process modified 2327 transactions, this is still one undoable action for &skrooge;.

## Deep analysis exercise: Holidays expenses

To illustrate the analysis capabilities of &skrooge;, we are going to examine this author's expenses during his holidays :).

### Analysis Context

In order to understand the exercise, you need to know a few things about these holidays. They span over nearly a full month during summer 2009, and involved renting several rooms in several locations in France. There was also a fair amount of fuel, as these holidays also spanned over a rather large part of France.

### Data Organisation

The author carefully entered his transactions, by affecting them categories, but also by adding them to the "Holidays, summer 2009" tracker. Categories often have subcategories, such as "Transport > Car > Fuel", allowing for this detailed analysis.

### Finding the holidays total cost

This is so easy, it is not even funny: open the Trackers view, read the "Amount" column for our tracker:

Let's move to more interesting stuff…

### Expenses Distribution

So this is all very good, but where did all that money go ? To find this out, let us build a report on the tracker. Right click on our tracker line and choose Open report….

This will open a report in a new tab, only for transactions associated with the tracker. The default parameters for dates are "Current Month", so there is a possibility that the report is empty if all transactions in the tracker were made before this. Let's change it to "All Dates":

This gives a first nice overview of the expenses per category. Let's display this in a pie chart, for a more natural presentation:

It is now quite clear that most of the holidays expenses were for transport and food. Any more indication ? Sure, let's dig one level more in categories, using the plus icon .

Hmm, not much more information here, except that in the "Transport" category, the "Car" subcategory is the only one used. Let's build a graph on that subcategory, by selecting the pie slice, right-clicking on it, and select Open report:

This will open another tab with a report only with the "Transport > Car" category.

Hmm, not really interesting… But there are more subcategories. Let's expand it again:

Ah, now we know that we spent 362.27€ on fuel, and 131.90€ on road taxes (in France, you have to pay to drive on some highways). Ok, I know this was to be expected ;-). I am also interested in knowing how these two categories were used over time:

Note that we changed the graph type to "Line", and the columns to "Week".

### Conclusion

Through this simple exercise, we have been able to use the advanced reporting capabilities of &skrooge; to perform a fine analysis of the expenses made during holidays, specifically in the "Transports" category. Of course, you may think of other use cases: &skrooge; is probably able to cope with them.

&documentation.index;