Safe Haskell | None |
---|
Brenner - Penny financial institution interfaces
Brenner provides a uniform way to interact with downloaded data from financial Given a parser, Brenner will import the transactions and store them in a database. From there it is easy to merge the transactions (without duplicates) into a ledger file, and then to clear transactions from statements in an automated fashion.
- data FitAcct = FitAcct {
- fitAcctName :: String
- fitAcctDesc :: String
- dbLocation :: String
- pennyAcct :: String
- defaultAcct :: String
- currency :: String
- qtySpec :: S3 Radix PeriodGrp CommaGrp
- translator :: Translator
- side :: Side
- spaceBetween :: SpaceBetween
- parser :: (ParserDesc, FitFileLocation -> IO (Either String [Posting]))
- toLincolnPayee :: Desc -> Payee -> Payee
- data Config = Config {}
- data S3 a b c
- data Radix
- data PeriodGrp
- = PGSpace
- | PGThinSpace
- | PGComma
- data CommaGrp
- = CGSpace
- | CGThinSpace
- | CGPeriod
- data Translator
- data Side
- data SpaceBetween
- usePayeeOrDesc :: Desc -> Payee -> Payee
- brennerMain :: Version -> Config -> IO ()
- ofxParser :: (ParserDesc, ParserFn)
- ofxPrepassParser :: (String -> String) -> (ParserDesc, ParserFn)
Documentation
Information to configure a single financial institution account.
FitAcct | |
|
Config | |
|
data S3 a b c
The digit grouping character when the radix is a period.
PGSpace | ASCII space |
PGThinSpace | Unicode code point 0x2009 |
PGComma | Comma |
The digit grouping character when the radix is a comma.
CGSpace | ASCII space |
CGThinSpace | Unicode code point 0x2009 |
CGPeriod | Period |
data Translator Source
What the financial institution shows as an increase or decrease has to be recorded as a debit or credit in the PennyAcct.
IncreaseIsDebit | That is, when the financial institution shows a posting that increases your account balance, you record a debit. You will probably use this for deposit accounts, like checking and savings. These are asset accounts so if the balance goes up you record a debit in your ledger. |
IncreaseIsCredit | That is, when the financial institution shows a posting that increases your account balance, you record a credit. You will probably use this for liabilities, such as credit cards and other loans. |
The commodity and and the quantity may appear with the commodity on the left (e.g. USD 2.14) or with the commodity on the right (e.g. 2.14 USD).
data SpaceBetween Source
There may or may not be a space in between the commodity and the quantity.
usePayeeOrDesc :: Desc -> Payee -> PayeeSource
A simple function to use for toLincolnPayee
. Uses the financial
institution payee if it is available; otherwise, uses the financial
institution description.
Brenner, with a pre-compiled configuration.
ofxParser :: (ParserDesc, ParserFn)Source
Parser for OFX data.
ofxPrepassParser :: (String -> String) -> (ParserDesc, ParserFn)Source
Parser for OFX data, with a prepass phase. Any incoming data is first filtered through the given function. This allows you to correct broken OFX statements. For example, Bank of America issues OFX files that do not properly escape ampersands. Using this function you can change every ampersand to something properly escaped (or just change it to the word "and".)