lib: csv parser fills out amounts on all postings, if possible
This commit is contained in:
parent
637741a755
commit
8d24a40150
@ -801,7 +801,7 @@ transactionFromCsvRecord sourcepos rules record = t
|
|||||||
Right balanced ->
|
Right balanced ->
|
||||||
-- If we managed to balance transaction, lets infer better names for all "unknown" accounts
|
-- If we managed to balance transaction, lets infer better names for all "unknown" accounts
|
||||||
t' {tpostings =
|
t' {tpostings =
|
||||||
[ originalPosting {paccount=newAccount}
|
[ originalPosting {paccount=newAccount, pamount=newAmount}
|
||||||
| (originalPosting,p) <- zip postings (tpostings balanced)
|
| (originalPosting,p) <- zip postings (tpostings balanced)
|
||||||
, let account = paccount p
|
, let account = paccount p
|
||||||
, let newAccount =
|
, let newAccount =
|
||||||
@ -811,6 +811,11 @@ transactionFromCsvRecord sourcepos rules record = t
|
|||||||
Just True -> "income:unknown"
|
Just True -> "income:unknown"
|
||||||
Just False -> "expenses:unknown"
|
Just False -> "expenses:unknown"
|
||||||
_ -> "unknown"
|
_ -> "unknown"
|
||||||
|
, let newAmount =
|
||||||
|
if pamount originalPosting == missingmixedamt &&
|
||||||
|
pamount p /= missingmixedamt
|
||||||
|
then pamount p
|
||||||
|
else pamount originalPosting
|
||||||
]}
|
]}
|
||||||
-- build the transaction
|
-- build the transaction
|
||||||
t' = nulltransaction{
|
t' = nulltransaction{
|
||||||
|
|||||||
@ -10,7 +10,7 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -30,11 +30,11 @@ currency $
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co🎅
|
2009/09/10 Flubber Co🎅
|
||||||
Assets:MyAccount $50
|
Assets:MyAccount $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/11 Flubber Co🎅
|
2009/09/11 Flubber Co🎅
|
||||||
Assets:MyAccount $-50
|
Assets:MyAccount $-50
|
||||||
expenses:unknown
|
expenses:unknown $50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ if Flubber
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co ; cmt
|
2009/09/10 Flubber Co ; cmt
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
acct
|
acct $-50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $123
|
assets:myacct $50 = $123
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -88,11 +88,11 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $123
|
assets:myacct $50 = $123
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/11 Blubber Co
|
2009/09/11 Blubber Co
|
||||||
assets:myacct $60
|
assets:myacct $60
|
||||||
income:unknown
|
income:unknown $-60
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -110,11 +110,11 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $123
|
assets:myacct $50 = $123
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/11 Blubber Co
|
2009/09/11 Blubber Co
|
||||||
assets:myacct $60
|
assets:myacct $60
|
||||||
income:unknown
|
income:unknown $-60
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -137,11 +137,11 @@ account2 expense:other
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/10/09
|
2009/10/09
|
||||||
liabilities:bank $-50
|
liabilities:bank $-50
|
||||||
expense:other
|
expense:other $50
|
||||||
|
|
||||||
2009/11/09
|
2009/11/09
|
||||||
liabilities:bank $60
|
liabilities:bank $60
|
||||||
expense:other
|
expense:other $-60
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -161,11 +161,11 @@ currency $
|
|||||||
$ ./hledger-csv --separator ';'
|
$ ./hledger-csv --separator ';'
|
||||||
2009/09/10 Flubber Co🎅
|
2009/09/10 Flubber Co🎅
|
||||||
Assets:MyAccount $50
|
Assets:MyAccount $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/11 Flubber Co🎅
|
2009/09/11 Flubber Co🎅
|
||||||
Assets:MyAccount $-50
|
Assets:MyAccount $-50
|
||||||
expenses:unknown
|
expenses:unknown $50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
income:unknown = $123
|
income:unknown $-50 = $123
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -199,7 +199,7 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $321
|
assets:myacct $50 = $321
|
||||||
income:unknown = $123
|
income:unknown $-50 = $123
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ account3 expenses:tax
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $321
|
assets:myacct $50 = $321
|
||||||
income:unknown = $123
|
income:unknown $-50.234 = $123
|
||||||
expenses:tax $0.234 ; VAT
|
expenses:tax $0.234 ; VAT
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
@ -237,7 +237,8 @@ account3 expenses:tax
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50 = $321
|
assets:myacct $50 = $321
|
||||||
unknown = $123
|
unknown $-50 = $123
|
||||||
|
unknown £-0.234 = $123
|
||||||
expenses:tax £0.234 ; VAT
|
expenses:tax £0.234 ; VAT
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
@ -258,11 +259,11 @@ currency $
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co🎅
|
2009/09/10 Flubber Co🎅
|
||||||
Assets:MyAccount $50
|
Assets:MyAccount $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/11 Flubber Co🎅
|
2009/09/11 Flubber Co🎅
|
||||||
Assets:MyAccount $-50
|
Assets:MyAccount $-50
|
||||||
expenses:unknown
|
expenses:unknown $50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -288,7 +289,7 @@ account1 assets:myacct
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co Co Co
|
2009/09/10 Flubber Co Co Co
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -307,7 +308,7 @@ if Flubber
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $-50
|
assets:myacct $-50
|
||||||
expenses:unknown
|
expenses:unknown $50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
@ -331,7 +332,7 @@ description %description for %itemtitle
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2018/12/22 (123456789) Someone for Joyful Systems
|
2018/12/22 (123456789) Someone for Joyful Systems
|
||||||
sm:assets:online:paypal $9.41 = $57.60
|
sm:assets:online:paypal $9.41 = $57.60
|
||||||
sm:expenses:unknown
|
sm:expenses:unknown $-8.82
|
||||||
JS:expenses:banking:paypal $-0.59
|
JS:expenses:banking:paypal $-0.59
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
@ -380,11 +381,11 @@ if MIDDLE
|
|||||||
$ ./hledger-csv
|
$ ./hledger-csv
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
2009/09/10 Flubber Co
|
2009/09/10 Flubber Co
|
||||||
assets:myacct $50
|
assets:myacct $50
|
||||||
income:unknown
|
income:unknown $-50
|
||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user