summaryrefslogtreecommitdiff
path: root/doc/Ledger.scriv/152.rtfd
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2009-10-25 23:08:07 -0400
committerJohn Wiegley <johnw@newartisans.com>2009-10-25 23:11:30 -0400
commit1f5ceb0db50df9ad0f9048ee02ad749507cbd737 (patch)
treea8609fdcd28aa4d371aebf8a9867e43014e652f1 /doc/Ledger.scriv/152.rtfd
parent9dadaebfeb461ba795124281018d0f7eac200cf4 (diff)
downloadfork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.gz
fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.tar.bz2
fork-ledger-1f5ceb0db50df9ad0f9048ee02ad749507cbd737.zip
Added beginning draft of manual for 3.0
This is being kept in Scrivener format, for ease of writing.
Diffstat (limited to 'doc/Ledger.scriv/152.rtfd')
-rw-r--r--doc/Ledger.scriv/152.rtfd/TXT.rtf131
1 files changed, 131 insertions, 0 deletions
diff --git a/doc/Ledger.scriv/152.rtfd/TXT.rtf b/doc/Ledger.scriv/152.rtfd/TXT.rtf
new file mode 100644
index 00000000..926a552f
--- /dev/null
+++ b/doc/Ledger.scriv/152.rtfd/TXT.rtf
@@ -0,0 +1,131 @@
+{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf460
+{\fonttbl\f0\fmodern\fcharset0 Courier;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sl264\slmult1\ql\qnatural\pardirnatural
+
+\f0\fs28 \cf0 The ledger file format is quite simple, but also very flexible. It\
+supports many options, though typically the user can ignore most of\
+them. They are summarized below.\
+\
+The initial character of each line determines what the line means, and\
+how it should be interpreted. Allowable initial characters are:\
+\
+@table @code\
+@item NUMBER\
+A line beginning with a number denotes a transaction. It may be followed\
+by any number of lines, each beginning with whitespace, to denote the\
+transaction's account postings. The format of the first line is:\
+\
+@example\
+DATE[=EDATE] [*|!] [(CODE)] DESC\
+@end example\
+\
+If @samp\{*\} appears after the date (with optional effective date), it\
+indicates the transaction is ``cleared'', which can mean whatever the user\
+wants it t omean. If @samp\{!\} appears after the date, it indicates d\
+the transaction is ``pending''; i.e., tentatively cleared from the user's\
+point of view, but not yet actually cleared. If a @samp\{CODE\} appears\
+in parentheses, it may be used to indicate a check number, or the type\
+of the posting. Following these is the payee, or a description of\
+the posting.\
+\
+The format of each following posting is:\
+\
+@example\
+ ACCOUNT AMOUNT [; NOTE]\
+@end example\
+\
+The @samp\{ACCOUNT\} may be surrounded by parentheses if it is a virtual\
+postings, or square brackets if it is a virtual postings that\
+must balance. The @samp\{AMOUNT\} can be followed by a per-unit\
+posting cost, by specifying @samp\{@@ AMOUNT\}, or a complete\
+posting cost with @samp\{@@@@ AMOUNT\}. Lastly, the @samp\{NOTE\} may\
+specify an actual and/or effective date for the posting by using\
+the syntax @samp\{[ACTUAL_DATE]\} or @samp\{[=EFFECTIVE_DATE]\} or\
+@samp\{[ACTUAL_DATE=EFFECtIVE_DATE]\}.\
+\
+@item =\
+An automated transaction. A value expression must appear after the equal\
+sign.\
+\
+After this initial line there should be a set of one or more\
+postings, just as if it were normal transaction. If the amounts of the\
+postings have no commodity, they will be applied as modifiers to\
+whichever real posting is matched by the value expression.\
+\
+@item ~\
+A period transaction. A period expression must appear after the tilde.\
+\
+After this initial line there should be a set of one or more\
+postings, just as if it were normal transaction.\
+\
+@item !\
+A line beginning with an exclamation mark denotes a command directive.\
+It must be immediately followed by the command word. The supported\
+commands are:\
+\
+@table @samp\
+@item !include\
+Include the stated ledger file.\
+\
+@item !account\
+The account name is given is taken to be the parent of all\
+postings that follow, until @samp\{!end\} is seen.\
+\
+@item !end\
+Ends an account block.\
+@end table\
+\
+@item ;\
+A line beginning with a colon indicates a comment, and is ignored.\
+\
+@item Y\
+If a line begins with a capital Y, it denotes the year used for all\
+subsequent transactions that give a date without a year. The year should\
+appear immediately after the Y, for example: @samp\{Y2004\}. This is\
+useful at the beginning of a file, to specify the year for that file.\
+If all transactions specify a year, however, this command has no effect.\
+\
+@item P\
+Specifies a historical price for a commodity. These are usually found\
+in a pricing history file (see the @option\{-Q\} option). The syntax\
+is:\
+@example\
+P DATE SYMBOL PRICE\
+@end example\
+\
+@item N SYMBOL\
+Indicates that pricing information is to be ignored for a given\
+symbol, nor will quotes ever be downloaded for that symbol. Useful\
+with a home currency, such as the dollar ($). It is recommended that\
+these pricing options be set in the price database file, which\
+defaults to @file\{~/.pricedb\}. The syntax for this command is:\
+@example\
+N SYMBOL\
+@end example\
+\
+@item D AMOUNT\
+Specifies the default commodity to use, by specifying an amount in the\
+expected format. The @command\{transaction\} command will use this commodity\
+as the default when none other can be determined. This command may be\
+used multiple times, to set the default flags for different\
+commodities; whichever is seen last is used as the default commodity.\
+For example, to set US dollars as the default commodity, while also\
+setting the thousands flag and decimal flag for that commodity, use:\
+@example\
+D $1,000.00\
+@end example\
+\
+@item C AMOUNT1 = AMOUNT2\
+Specifies a commodity conversion, where the first amount is given to\
+be equivalent to the second amount. The first amount should use the\
+decimal precision desired during reporting:\
+@example\
+C 1.00 Kb = 1024 bytes\
+@end example\
+\
+@item i, o, b, h\
+These four relate to timeclock support, which permits ledger to read\
+timelog files. See the timeclock's documentation for more info on the\
+syntax of its timelog files.\
+@end table} \ No newline at end of file