Like most modern computer programs, PLCash makes extensive use of context menus. These special menus are accessed by pressing the right mouse button.
Nearly every PLCash editing window and display has a context menu, sometimes just to allow closing the window, but often with many more options than appear in toolbars and conventional menus.
To summarize context menus, if you can't find what you're looking for, try pressing the right mouse button.
These help pages are an important part of PLCash. It is quite impossible to make efficient use of a complex program like PLCash unless one reads the help pages regularly.
As you become more familiar with PLCash, please take the time to read these pages. Many important, powerful program features may remain unavailable to you unless you read about them here.
In an emergency, you may find that you cannot read these pages for instruction in how to repair your PLCash installation. In that case, there is an online version of these pages available at http://www.arachnoid.com/PLCash/Documentation.
Not all transactions are placed in categories like "Household:Miscellaneous". Some transactions are meant to transfer funds between one account and another.
To create such a transaction, open the "Category" drop-down list and scroll past the categories, or type "[" to jump to a list of accounts you will find there (to use this feature, you must have at least two defined accounts).
Below the categories you will find account names enclosed in brackets (like [Account Name]). These bracket-enclosed names are called "links" because they're used to link one transaction to another.
Just as with categories, if you type "[" and the first few characters of an account name, the Auto-complete feature will try to find a matching account.
Complete your transaction entry and "Commit" it to the account.
Done! You have created a transfer between accounts. The transaction in the displayed account is matched by another in the linked account, except the destination account's transaction is the opposite kind — a payment in account A is matched by a deposit in account B, and vice versa.
This transfer idea is very important to understand. It is how PLCash allows the transfer of funds between accounts, and the amounts and details of transfers are controlled automatically — if you edit the details of a transfer, both ends of the link are edited at once.
Remember: if you delete a transfer transaction, both ends of the link disappear, and the balances of both accounts change as a result. This is how PLCash maintains the relative balance between accounts.
A handy way to jump between the source of a transfer and its destination is to select the desired transaction in the account list (not the transaction editor), press the right mouse button, and choose "Go to transfer."
At the bottom of the transaction editor you will see an entry form marked "Splits". This mini-editor is used to split a transaction between multiple destination accounts or categories. To put it another way, splits can be used to distribute the proceeds of a transaction among two or more accounts (each receiving a specified deposit or payment amount) or it can be used to break a transaction's amount between different categories.
To create a split, simply enter each segment of the transaction onto separate lines of the splits editor box. Then, when you "Commit" the transaction to the account, the net amount of the splits will be placed into either "Deposit" or "Payment," depending on the sign of the net amount of the splits.
If you want a specific split amount to be a payment from the current account, enter it as a negative number (precede the number with "-"). If you want it to be a deposit, enter a positive number. Payments and deposits may be mixed in a list of splits. After the split has been accepted, the difference between the payments and deposits will become the main transaction's amount.
When you first use this feature, you may want to explore it a bit. Create a transfer split with several destinations, then visit the destination for each split component to make sure the transfer was handled correctly. Make sure to enter both positive and negative split amounts to see how they are handled.
The easy way to visit the destination for a split transfer is to point at the link with the heading "Category/transfer," press the right mouse button, and choose "Go to transfer."
There are actually two search engines in PLCash. One of them is a very powerful search tool that is part of the report generator, described here, the other, our present topic, is a much simpler engine used to find specific transactions in accounts.
To launch the search panel while viewing an account, press the toolbar "Search" Button
A search panel will appear at the top of the account list.
Enter what is to be sought in the pane to the right of the search dialog.
Choose search criteria using the provided drop-down lists.
To find the first occurrence of the search item, press the "Find First Match" button.
Remember: if you press the "Find First Match" button repeatedly, you will always find the first occurrence, over and over.
To find the next instance of the search item, press "Find Next". Repeat this action to find each new item that matches the search criteria.
Dates and numerical amounts may be entered as well as text strings. For dates and numbers, comparisons such as "Greater than" and "Less Than" are appropriate, while for text strings, comparisons such as "Contains" and "Exact" are appropriate.
To search all accounts for the desired item, press the "Global Search" button. Each account will be searched sequentially and if a match is found, that account and transaction will be put on display.
Unlike the report search engine, this search facility doesn't use regular expressions. So characters like "*" are simply characters, they have no special significance.
To close the search panel, press the "Close" button.
The basic purpose of account
reconciliation is to compare and synchronize your records with
those of a bank or other financial institution so that any errors
or discrepancies are uncovered and corrected.
If
individuals never made errors, if banks never made errors,
reconciliation would have no purpose the bank's account
statements and your records would always agree perfectly. So it
is fair to say that the existence of reconciliation procedures is
an acknowledgment of the possibility of error.
Typically a bank account statement contains:
A beginning balance and date,
A list of transactions,
An ending balance and date.
The reconciliation procedure tries to synchronize the bank's account statement with your local record of transactions. If the bank statement contained errors so that the ending balance was not equal to the beginning balance, plus credits, minus debits, as unlikely as that might be, reconciliation would uncover this. If you have made any local errors, reconciliation will uncover this also.
The transaction "Cleared" data field is the key to reconciliation. This field should be set to false (not checked) unless and until that transaction appears in your bank statement, at which point you would use the reconciliation dialog to check it off. Unless you have a good understanding of the role of the "Cleared" data field, don't manually change it while editing transactions. Let the reconciliation dialog handle this data field.
Here is a typical, step-by-step, reconciliation procedure:
Open the account to be reconciled so the account is on display in the register.
If there are transactions in the bank statement that are not part of your local records (automatic withdrawals, bank interest, etc.), enter these into your account using the transaction editor. Make sure these transactions are not marked as "Cleared".
When you are finished entering these transactions, click the "Reconcile" toolbar button.
The reconciliation dialog will open with a list of uncleared debits on the left and uncleared credits on the right.
Referring to your bank statement, enter the opening balance and date in the appropriate panes (after you have completed the first reconciliation for the account, this information will be saved and entered automatically on the next reconciliation).
Enter the bank statement's ending balance and date in the appropriate panes.
Press the button marked "Start" to begin the reconciliation procedure.
Compare the lists of debits and credits in the reconciliation dialog with those in the bank statement. When you find a transaction that matches (including the exact amount), check it as cleared in the reconciliation dialog (the left-hand column with the title "C").
Remember that it is normal for there to be local transactions that do not yet appear in the bank's records. Avoid simply clicking all the transactions in the dialog to achieve a reconciliation.
If there are no account or
bank errors, when you reach the last transaction in the bank
statement, marking the transactions cleared as you go, the lower
left pane, labeled "Difference", will show a total of
zero and a bell will ring. This indicates a successful
reconciliation.
In this case, press "Done".
Pressing "Done" causes all the cleared transactions in
the reconciliation dialog to be marked as cleared in the
account, and closes the reconciliation dialog.
If you reach the end of the bank statement's transaction list but still have not gotten to a difference of zero, look for:
Bank transactions for which there is no local record. In this case, close the reconciliation dialog by pressing "Cancel" and enter the missing transactions into your account record.
Local transactions for which there is no bank record. You may have inadvertently checked off a transaction that has not yet appeared in the bank's records. Simply uncheck any such transactions.
Transactions that appear in both the bank's statement and local records, but that differ in amount. To solve this, close the reconciliation dialog using "Cancel" and resolve the amount discrepancy using local and bank records. Edit the transactions to correct the amounts, and reconcile again.
Once you have applied one or more of these corrections, you should achieve a difference of zero, the sign of a perfect reconciliation.
Sometimes reconciliations never balance, and the reason may not be obvious. This can happen for accounts that have never been reconciled, or that have old, uncorrected errors. The remedy in a case like this is to refer to old bank records and perform a global reconciliation for all transactions. To perform this kind of reconciliation:
Begin a reconciliation in the usual way.
Select "Show All Transactions" in the reconciliation dialog.
Referring to the old bank statements, re-check each item in the entire account history, unclearing any items that do not appear in the bank statements or that have wrong amounts, and making note for later inclusion of any bank transactions that do not appear in local records.
Exit the reconciliation dialog.
Clean up the errors by editing, adding and deleting account transactions.
Perform another reconciliation.
PLCash has a rather powerful report generator, a tool that can be used to create presentations, search for transactions of a particular kind, or analyze spending and look for patterns.
Although the report generator's displays can be viewed on the PLCash internal browser, for a number of reasons (like the option to print the report) it is better to use a full-featured external browser instead.
If you have not tried to locate a system browser, please do so — choose "Tools ... Set up External Browser."
To use the report generator, press the "Create a Report" toolbar button. The report generator dialog will appear at the bottom of the display.
Most of your report's content is governed by which choices you make in the report dialog's tabs (the selectors at the top of the dialog). Let's go through each tab in turn and describe what choices are available.
The report tab controls the overall content of your report.
It also gives you a way to save a report design for future use — the name you type into "Report name" is used as an identifier to save your report design choices.
You can create and save as many report designs as you like.
Report designs are saved for you in the directory (user directory)/.PLCash/reportDesigns.
To distinguish one report from another, just type a different name in the "Report name" panel.
To recall an earlier report design, just open the "Report name" drop-down list and select it.
The report name also doubles as a report title — it appears at the top of your report when displayed or printed. Therefore, you may want to think "report title" when you choose a report name.
An example report title might be "My household expenditures for last year".
There are no limitations on what goes into a report title except that distinct, saved report designs must have unique names.
The "Interval" drop-down box at the right chooses the time spans for columns in your category-format report.
You may want to produce report columns of years, months, or even shorter periods.
A choice of "single" means there will be one column in your report.
This feature only applies to category-format reports.
The "Report period" selector allows you quick access to a number of useful time periods.
The "report period" means the time span over which transactions are collected for inclusion in your report.
A selected time period such as "last year" will always mean just that, regardless of which year a saved report design is used.
A selection of "custom dates" allows you to choose any arbitrary dates.
The "Report format" selector chooses between category-format and transaction-format report designs.
The category format summarizes transactions by category. The total amounts for each selected category and subcategory appear as report rows, and the selected time intervals appear as columns.
The transaction format simply lists each transaction that meets the report's filtering criteria. In this design, each row represents a transaction and each column presents a field within a transaction.
The "extended" choice includes some transaction fields that are only used in investment transactions.
The "Choose Transactions" box selects which broad categories to include in your report. More detailed category selections are made with the Categories tab described later.
Remember about these choices that each transaction category is identified as being tax-related and/or an income item. These identifiers can be used as filters by choosing them here.
Notice that "Transfers" is available as a choice. This choice decides whether transfer transactions are to be included or excluded from the report. Sometimes including transfers in a report distorts the desired outcome.
With the "Automatically display report" choice, you can display the finished report on the selected browser without any further action.
You can also display your report by pressing the "View Report" button at the bottom of the report dialog.
An external browser is always a better choice for this display role.
If you use an external browser, you have the option of printing the report, an option not available with the internal browser.
All generated reports are saved for you in the directory (user directory)/.PLCash/reportDocuments.
Each generated report is saved for you in two formats — a Web page ("reportName.html") and a file organized as a table with tabs between fields ("reportName.csv").
The first of these ("reportName.html") is suitable for viewing with a Web browser or for loading into a word processor for presentation printing.
The second of these ("reportName.csv") is suitable for loading into a spreadsheet or database program for further analysis. Most spreadsheet programs will easily and accurately read the .csv file format.
This tab allows you to choose which accounts to include in your report.
For some report purposes like an account history with an accurate present-day net balance, it is best to include all accounts and all transactions.
This tab allows you to select which categories to include in your report.
Remember that selecting a main category (like "Household") automatically includes any subcategories as well.
A helper filer is included here to decide which broad categories are displayed in the category list.
This helper doesn't pick categories for your report, only for the category list.
If you can't figure out how and where specific categories are identified as "Income", "Taxable" and so forth, be sure to visit the category editor at "File ... View/Edit Lists ... Category List". It is here that one creates new categories and defines their traits.
The search tab gives you access to a very powerful search engine that, without exaggeration, can search for, and find, any imaginable thing.
The search engine is disabled by default. To enable it, click the "Enable searching" check box. And remember that you enabled the search engine. Until disabled, it will influence the outcome of all your reports regardless of whether the search tab is on display, and even after you have ended a PLCash session and started again.
A search is controlled by an entry to the "Enter search" pane that resembles a mathematical equation.
A simple search entry might
be:
payee = "Cash"
This would filter
transactions for the presence of "Cash" as the
entire payee field.
Remember that search entries
without any special characters must be matched in their
entirely. If you want to look for a word that is
within a
field but is not the entire field,
do it this way:
payee
= ".*Jones.*"
Note the special sequence ".*",
which means "any length of any characters." Also notice that the definition is enclosed in quotes — most definitions need to be enclosed in quotes to distinguish them from field names and logical operators.
Some more computer-experienced readers may recognize these special characters as part of the regular expression syntax. Search entries to the search engine are in fact based on regular expressions, plus some logical operators to be discussed later.
To fully exploit the PLCash search engine, one would do well to study regular expressions (there are many Web resources on this topic). The examples given here only begin to suggest the full range of regular expression syntax and power.
Here's an example of a more
complex search specification, one that may cause problems:
payee = ".*Jones.*" and memo = ".*rent.*" or payee =
".*Smith.*" and memo = ".*gardening.*"
This entry is
an example where the writer may fully understand what he
wants, but the search engine won't necessarily know how to
carry out his intentions. If the writer actually meant "give
me transactions where 'Jones' and 'rent' are associated, OR
transactions where 'Smith' and 'gardening' are associated,"
then the search engine will have to be given a more clearly
defined form of the expression:
(payee = ".*Jones.*"
and memo = ".*rent.*") or (payee = ".*Smith.*" and memo =
".*gardening.*")
Note the parentheses. The basic
rule is that computers don't handle ambiguity of expression
very well. Sometimes you have to say very clearly what you
mean.
You can search for numbers
and dates as well as words. Here is a number example:
(amount >= 100 and amount < 1000) or (amount
>= 5000 and amount < 10000)
This shows how
the search engine can produce results that more conventional
filtering choices cannot provide.
Here is a date example:
(date >= 1/1/1998 and date < 71/1998) or
(date >= 3/15/2000 and date < 8/15/2000)
Remember
that you may use your own locale's date formatting conventions
— this example only applies to the US locale.
In all cases where there are
regular expression characters (".*") or spaces in the search argument, enclose the argument in quotes:
payee = "Dubious Enterprises"
You'll get a syntax error if this rule is not
followed.
If you need to include literal quotes in your search,
do it this way:
memo = "It was a \"dark
and rainy\" night"
By now you will have noticed that these search expressions consist of:
Field tags, which can be
any of:
address|amount|any|category|cleared|commission|date|memo|number|payee|price|security|shares
Note that using the special field name "any"
makes the search take longer, because it searches
all
fields
for a match.
Comparison operators, which can be any of:
>=
(greater than or equal to)
> (greater than)
<=
(less than or equal to)
< (less than)
= or == (equal
to)
!= or <> (not equal to)
Logical operators, located between comparisons:
"or"
or ||
"and" or &&
Arguments, which can be strings of characters including the special regular expression characters, or numbers, or dates.
Character string arguments and regular expression characters should be used for comparison with "payee", "memo" and other text fields.
Numbers, which should be used for comparison with "amount", "shares" and other numerical fields, but ironically enough, not very successfully with the field called "number", which actually can contain a check number or one of several text labels.
Dates, which can be used with the "date" field. Remember about dates that they should be entered using your locale's date syntax.
Parentheses, which are very important to avoid getting a result that seems perfectly reasonable to the search engine but that isn't what you wanted.
If you select "Show debug info" and if you press the "Enter" key after typing your search specification, it will be checked for syntax errors and other problems, and a postfix version of the search specification will be printed in the "results" window.
If you don't know what "postfix" means, don't worry. Not knowing this term is not a show-stopper, you can still use the search engine.
As explained previously, PLCash has an internal browser, but it is sort of lame and has a number of important limitations. I included it only because someone might not have any browser at all and would therefore not be able to read the PLCash help pages (God forbid) or view reports.
The browser setup search defaults should meet the needs of most users on most operating systems.
The basic idea of the browser search is that there is likely to be a browser executable on your system, and if the search is conducted in likely directories, using likely browser names, it should come up with something.
To see if this idea bears fruit, press the "Go" button. The search will commence.
If the search is taking too long, you may notice that the "Go" button has morphed into a "Stop" button. You may press it to stop the search.
If the search is successful, the area next to the "Go" button will contain a result, like "Found (n) browsers".
If the search is not successful the report will be "Found 1 browser", meaning the internal browser, not very hard to find.
To improve the search, you may know of a more likely directory path to search — just type this path in "Check search path." Multiple paths may be entered as "/path1,/path2" etc..
You may also add to the list of browser names if you know the full name of a browser executable (case is not significant, but the full name is).
Using a full-featured Web browser gives you a better display and also allows printing of the report (most browsers). Also, for large reports, a typical system browser will respond more quickly than the internal browser.
This section is mostly an expansion on the themes touched on in the prior section.
More about Regular Expressions
Time spent learning regular expressions is time well spent. The syntax may seen strange and off-putting at first, but some of the results obtainable using regular expressions approach the unbelievable. Here is a small expansion on this topic.
Regular expressions (hereafter RE) have a relatively long and colorful history. They have evolved from some relatively primitive early forms (forms where "*" meant "any length of any thing") to their present, powerful, innately logical form.
Larry Wall, the original author of Perl, is responsible for much of RE's current popularity. He included regular expression processing in Perl and he and others have improved the Perl embodiment to the degree that other languages now copy the Perl version of RE. The maintainers of Java did just that, and that is why PLCash has an RE capability.
What follows is just the briefest summary of RE syntax.
At risk of oversimplification, the RE special syntax characters and groups of characters can be broken into two classes: those that specify a kind of character to be sought, and those that specify a number required for matching.
As to the former:
Note: any "\" characters in the following list must be entered as "\\" in the PLCash search engine.
. = matches any character.
\d = matches a digit (0-9).
\D = opposite of the above, any non-digit character.
\w = matches an alphanumeric (letter or digit) character.
\W = opposite of the above, anything that is not an alphanumeric character.
\s = matches a whitespace (space, tab, etc.) character.
\S = the opposite of the above, anything that is not a whitespace character.
Now for the quantity modifiers:
? = matches zero or one of the preceding specifier.
* = matches zero or more of the preceding specifier.
+ = matches one or more of the preceding specifier.
{m,n} = matches at least "m" times but not more than "n" times.
There are also these bracketed-expression rules:
Arguments enclosed in "[" brackets "]" are treated as though they specified a single character match argument.
Example: the expression "[0-9]", meaning "any of the digits 0 through 9 inclusive" is exactly equivalent to the "\d" specifier in the prior section.
Another example: "[A-Za-z]" means "any of the alphabetic characters."
A variation in this idea: "[^A-Za-z]" Means "anything not an alphabetic character." In this context, "^" means "not."
You way wonder how to use "[" or "]" as ordinary characters in a PLCash search argument, since they have this special meaning in RE expressions. To use them as literal characters, "escape" them like this: "\\[" and "\\]".
This special-handling rule also applies to the period, since it also has an RE special meaning. To use a period as an ordinary character in a search, enter it as "\\.".
Here are some examples that combine the foregoing ideas:
[A-Z]+ means "one or more uppercase alphabetic characters."
\w{3,5}\s*\d+ means "find matches for a word (alphanumeric) character string of three to five characters inclusive, followed by zero or more whitespace characters, followed by one or more digit characters."
As mentioned previously, after a report is generated, it saved in (user directory)/.PLCash/reportDocuments in two formats: an HTML page entitled "ReportName.html", and a tab-separated table file named "ReportTitle.csv".
Despite the suffix, the table is not a comma-separated file. The .csv suffix is used because it greatly increases the chance for a flawless import into a spreadsheet or database program.
The HTML page is suitable for loading into a word processor program for presentation printing. Most modern word processors can accommodate the HTML file format.
The database table file is more suitable for further data analysis in a spreadsheet or database. It is a pure database table, with a single header row and the remainder of the rows representing data.
On that topic, the main PLCash data files are also plain-text tab-separated database files, unfortunately with a different suffix (.tsv). By the time I discovered the spreadsheet program suffix idiosyncrasy described above, the first public version of PLCash had been released and I didn't want to instantly invalidate a lot of existing PLCash installations by changing file suffixes in mid-stream, as it were.
This section will undoubtedly grow over time. It contains miscellaneous notes about reports and report generation.
The column totals for "credits" and "debits"
in a category-format report will not always be the sum of the
subtotals of the categories listed above it. This is because the
individual category totals in the report rows represent the net
amounts (credits - debits) of the individual transactions, to
save space in the report format. But the column totals for
credits and debits are the totals for the underlying
transactions, so the range between them is greater than one
would expect when looking at the finished report. The balance
totals are correct in all cases.
In cases where all the
category amounts are debits or credits, not a mixture of both,
this apparent-discrepancy issue doesn't come up.
This feature may seem a bit old-fashioned in modern times, with online banking and checkless accounting gradually taking over, but PLCash can print checks using the industry-standard Quicken check formats available at most banks and check printing services.
To identify a transaction to the check printing service, simply select "Print Check" from the "Number" field of the bank account transaction editor. On activation of the check printing feature, each "Print Check" transaction in the displayed account is queued for printing.
When you click the toolbar button "Print Checks", a dialog appears that allows you to set up for printing.
The dialog will tell you how many checks are ready for printing. If this number seems incorrect, just "Cancel" the printing activity and locate the error.
Item (1) allows you to select a printer. PLCash finds and displays all the registered printers on your system. If the desired printer is not in this list, you may want to cancel and discover why this is so. This matter is not under PLCash's control — the printer list is generated by the operating system and it is there that such a problem is solved.
Item (2) allows you to choose a check type. This selection follows the Quicken check type standards exactly. If you ask for a suitable Quicken check type at your bank, you will find an appropriate specifier for those checks in this list of choices.
Item (3) doesn't apply to all the check types, but only to those that have multiple checks to a page. If you are using voucher checks, you may disregard this setting. For other check types, this setting allows you to use what may remain of a partial check page left over from a previous check printing.
Item (4) allows you to align your check forms to accommodate the small differences between printers that inevitably arise. Once you have entered alignment numbers, they are retained for you between check printing sessions. I normally run a test page on blank paper, not wishing to use up my checks on tests. I then compare the paper print with the actual check form and make a note of any misalignments. I then simply enter the error amounts — the print dialog's numeric fields allow you to use the "+" and "-" keys to set the numbers.
Item (5) allows you to set the first check number. This allows for the use of disconnected check number sequences or reprinting when things don't work out. The check numbers are recorded in the respective transaction records as printing commences.
This check printing feature has been tested rather exhaustively with all the standard Quicken check formats and it can be relied on to produce respectable printed checks.
One final note. Many inkjet printers use water-soluble ink, even for black printing. Be careful with such checks — they can be modified easily by anyone who cares to do so. I recommend either a laser printer or an inkjet printer that uses India ink or another kind of indelible ink.
Investment Accounts and Activities
Investment accounts differ from bank accounts in several ways. Investment accounts are more complex because, unlike a bank account that tracks a simple currency amount, they keep track of a share balance and a price for those shares as well.
PLCash fully supports investment accounts and allows price updates from any source for prices you may have access to. In keeping with PLCash's non-commercial philosophy, you need to figure out on your own how to acquire price reports for your holdings, but the price import file format supported by PLCash (1) is identical to that for Quicken, and (2) is a very simple plain-text format that will be described below.
PLCash associates each investment account with a stock (quotron) symbol, which is how the price import feature is coordinated with your investment accounts. Make sure that the stock symbol for each of your investment accounts is recorded in the security list tha PLCash maintains for you (menu item File ... View/Edit Lists ... Security List), and make sure that the account has the correct symbol in its own definition (using the account editor).
To summarize this important issue:
First, record each security name and stock (quotron) symbol you plan to hold in the security list — File ... View/Edit Lists ... Security List.
When you set up your investment accounts, be sure to specify the name you have given for the security for that account. The security name should appear in the "Security" list in the account editor. If the account in question has already been created and you need to change the security association, simply edit the account's details — display the account list, right-click the account in question and select "Edit Account."
When you download prices, be sure to include the quotron symbols for all your investment accounts. This will assure that your investment prices are properly updated.
Perform this test as a sanity check of the price update feature. After having imported prices, open the account editor and scroll through your investment accounts. The latest price and price date should appear at the lower left of the form, on each account for which you acquired prices.
An important note about investment accounts and price updates — the market value displayed for each account generally will not be the product of the share balance and the last account transaction price. This is because the market value is based on the latest downloaded price, not the price of the last account transaction, times the share balance. If you never download prices, this caveat won't apply to you.
Creating Investment Transactions
This section assumes you have created one or more investment accounts. If not, simply press the "Create a New Account" toolbar button and create one.
Make sure to associate a security with your investment account.
If necessary, enter the security information into the security list editor (File ... View/Edit Lists ... Security List), as described more fully in the Overview section.
This step is needed to allow the investment account to take part in price update activities.
Each investment account transaction has four elements and a required balance between them:
A number of shares.
A share price.
An optional commission/fee amount.
A resulting currency amount.
When an investment transaction is complete, these four
elements must agree with this equation:
amount = (shares
* price) + commission
If, after you have entered the amounts for the transaction, this equation is not satisfied, PLCash will try to decide what to do:
If any of the four fields is blank in the transaction editor, the error in the balance will be placed there and the transaction will be entered into the register.
If all four of the required fields are nonzero and the equation is not satisfied, PLCash will ask you to choose which of the four fields should be adjusted to make the outcome correct.
In all cases, PLcash won't allow a transaction into the account register until this equation is satisfied.
Unlike bank account transactions, investment transactions don't get assigned to a category, but there should be a transfer account specified (in the "transfer" drop-down list), and a specific action identified (in the "Action" drop-down list).
The key to simple importing of prices is the format of the price import file, and that is indeed quite simple.
A suitable price file's contents look like this:
FXABC,123.0,8/15/1998
FQFGH,34.50,8/15/1998
AXCVB,15.12,8/15/1998
The price file can have any name or suffix so long as it follows this general internal format. The field delimiter (comma in this example) can be a tab or a space and PLCash will successfully read it anyway. If the date is absent, PLCash will assume the present day and read the file anyway. The only required fields are the quotron symbol and the price.
If you have access to prices but can't figure out how to automatically create a price import file, just type the prices into a plain-text file and import that.
To actually import prices, choose toolbar button "Import Prices", navigate to the location of the price file, and click "Open." You will be told the number of prices successfully imported, and all the account prices will be adjusted automatically.
If you want to remove or change a price from the price history, simply edit the price history database — File ... View/Edit List ... Memorized Price List. If you change any of the prices in the database, be sure to update account prices afterward. This is accomplished with menu item File ... Update Prices.
Whenever there is a discrepancy between what the price history seems to require and the actual account prices, be sure to update the account prices (File ... Update Prices). This update finds the newest price for each investment account (in both the account itself and the price history database) and applies it to the account.
Don't be surprised if the market value for your investment accounts is not equal to the last transaction price times the share balance. Always remember there may be a newer price in the price history database, and that price is being used instead of the most recent account price.
Because PLCash is a financial accounting program, its data files can have great innate value, and the consequences arising from losing those files can be very serious. Everyone who uses a program like PLCash should definitely arrange data backups.
Because PLCash is a cross-platform program, it cannot create an automatic backup method that would work on every platform and satisfy every user.
The conclusion is that data backup is your responsibility. Here is the general outline:
The PLCash data files are located in the directory (user directory)/.PLCash/data. To see the exact location of this directory on your machine, press the "About" toolbar button.
Back up all the files in this directory to at least one other location, preferably on a separate machine or on backup media, so that a machine failure will not wipe out all copies of your data files.
It is not possible to overemphasize this important issue. Basically, one must personally experience the loss of important data files before this issue is fully appreciated, and I would prefer it if this didn't happen to you even once.