Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ jobs:
cd examples
python importers/acme.py test tests/acme --verbose
python importers/csvbank.py test tests/csvbank --verbose
python importers/ofx.py test tests/ofx --verbose
python importers/utrade.py test tests/utrade --verbose
- name: Run example ledger.import
run: |
Expand Down
2 changes: 1 addition & 1 deletion examples/Downloads/ofxdownload.ofx
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>Login successful</STATUS><DTSERVER>20140112083600.212[-7:MST]<LANGUAGE>ENG<FI><ORG>AMEX<FID>3101</FI><ORIGIN.ID>FMPWeb<INTU.BID>3101<START.TIME>20140112083600<INTU.USERID>exampleuser</SONRS></SIGNONMSGSRSV1><CREDITCARDMSGSRSV1><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>379700001111222<DOWNLOAD.FLAG>false<DOWNLOAD.TYPE>download90Days<AMEX.BASICACCT>379700001111222<DAYS.NINTY>true<AMEX.ROLE>B<AMEX.UNIVID>e308f58246398a74c52504a8b06d5f05</CCACCTFROM><BANKTRANLIST><DTSTART>20140112050000.000[-7:MST]<DTEND>20140112050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131201000000.000[-7:MST]<TRNAMT>-9.99<FITID>320133350353869664<REFNUM>320133350353869664<NAME>SPOTIFY USA 28770130901<MEMO>2600720879 WWW.SPOTIFY.COM</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-61.71<FITID>320133360368356592<REFNUM>320133360368356592<NAME>GOAT TOWN 1200000549NEW YORK <MEMO>071000163 2126873641</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-17.75<FITID>320133360368356593<REFNUM>320133360368356593<NAME>AMC VILLAGE 7 #2110 NEW YORK <MEMO>12010365699 212-982-2116</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131205000000.000[-7:MST]<TRNAMT>-42.4<FITID>320133390419136515<REFNUM>320133390419136515<NAME>CAFE MOGADOR 0048 NEW YORK <MEMO>969881 212-677-2226</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-34.38<FITID>320133430477621377<REFNUM>320133430477621377<NAME>UNION MARKET - HOUSNEW YORK <MEMO>15827 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-13.5<FITID>320133430477621378<REFNUM>320133430477621378<NAME>SUNSHINE CINEMA 5429NEW YORK <MEMO>208001222 2122607289</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-21.96<FITID>320133450009270816<REFNUM>320133450009270816<NAME>UNION MARKET - HOUSNEW YORK <MEMO>13775 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-14.47<FITID>320133450009270817<REFNUM>320133450009270817<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042002720272124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131214000000.000[-7:MST]<TRNAMT>-56.43<FITID>320133480059384557<REFNUM>320133480059384557<NAME>MACY'S #003 HERALD SNEW YORK <MEMO>00307963916 MACY'S</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131215000000.000[-7:MST]<TRNAMT>-13<FITID>320133490073491495<REFNUM>320133490073491495<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042402720282124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-60.23<FITID>320133500088330906<REFNUM>320133500088330906<NAME>PAPYRUS #2302 000002NEW YORK <MEMO>14252302002 2162527300</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-7<FITID>320133500088330907<REFNUM>320133500088330907<NAME>LES CAFES 400 LAFAYENEW YORK <MEMO>10156320131 2157761076</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-2356.38<DTASOF>20131218050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS></CREDITCARDMSGSRSV1></OFX>
<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>Login successful</STATUS><DTSERVER>20140112083600.212[-7:MST]<LANGUAGE>ENG<FI><ORG>AMEX<FID>3101</FI><ORIGIN.ID>FMPWeb<INTU.BID>3101<START.TIME>20140112083600<INTU.USERID>exampleuser</SONRS></SIGNONMSGSRSV1><CREDITCARDMSGSRSV1><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>379700001111222<DOWNLOAD.FLAG>false<DOWNLOAD.TYPE>download90Days<AMEX.BASICACCT>379700001111222<DAYS.NINTY>true<AMEX.ROLE>B<AMEX.UNIVID>e308f58246398a74c52504a8b06d5f05</CCACCTFROM><BANKTRANLIST><DTSTART>20140112050000.000[-7:MST]<DTEND>20140112050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131201000000.000[-7:MST]<TRNAMT>-9.99<FITID>320133350353869664<REFNUM>320133350353869664<NAME>SPOTIFY USA 28770130901<MEMO>2600720879 WWW.SPOTIFY.COM</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-61.71<FITID>320133360368356592<REFNUM>320133360368356592<NAME>GOAT TOWN 1200000549NEW YORK <MEMO>071000163 2126873641</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-17.75<FITID>320133360368356593<REFNUM>320133360368356593<NAME>AMC VILLAGE 7 #2110 NEW YORK <MEMO>12010365699 212-982-2116</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131205000000.000[-7:MST]<TRNAMT>-42.4<FITID>320133390419136515<REFNUM>320133390419136515<NAME>CAFE MOGADOR 0048 NEW YORK <MEMO>969881 212-677-2226</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-34.38<FITID>320133430477621377<REFNUM>320133430477621377<NAME>UNION MARKET - HOUSNEW YORK <MEMO>15827 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-13.5<FITID>320133430477621378<REFNUM>320133430477621378<NAME>SUNSHINE CINEMA 5429NEW YORK <MEMO>208001222 2122607289</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-21.96<FITID>320133450009270816<REFNUM>320133450009270816<NAME>UNION MARKET - HOUSNEW YORK <MEMO>13775 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-14.47<FITID>320133450009270817<REFNUM>320133450009270817<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042002720272124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131214000000.000[-7:MST]<TRNAMT>-56.43<FITID>320133480059384557<REFNUM>320133480059384557<NAME>MACY'S / #003 HERALD S / NEW YORK <MEMO>00307963916 MACY'S</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131215000000.000[-7:MST]<TRNAMT>-13<FITID>320133490073491495<REFNUM>320133490073491495<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042402720282124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-60.23<FITID>320133500088330906<REFNUM>320133500088330906<NAME>PAPYRUS #2302 000002NEW YORK <MEMO>14252302002 2162527300</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-7<FITID>320133500088330907<REFNUM>320133500088330907<NAME>LES CAFES 400 LAFAYENEW YORK <MEMO>10156320131 2157761076</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-2356.38<DTASOF>20131218050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS></CREDITCARDMSGSRSV1></OFX>
14 changes: 8 additions & 6 deletions examples/import.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,14 @@ def clean_up_descriptions(extracted_entries):
clean_entries = []
for entry in extracted_entries:
if isinstance(entry, data.Transaction):
if entry.narration and " / " in entry.narration:
left_part, _ = entry.narration.split(" / ")
entry = entry._replace(narration=left_part)
if entry.payee and " / " in entry.payee:
left_part, _ = entry.payee.split(" / ")
entry = entry._replace(payee=left_part)
if entry.narration:
narration, sep, _ = entry.narration.rpartition(" / ")
if sep:
entry = entry._replace(narration=narration)
if entry.payee:
payee, sep, _ = entry.payee.rpartition(" / ")
if sep:
entry = entry._replace(payee=payee)
clean_entries.append(entry)
return clean_entries

Expand Down
6 changes: 6 additions & 0 deletions examples/importers/ofx.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@

import beangulp
from beangulp import mimetypes
from beangulp.testing import main


class BalanceType(enum.Enum):
Expand Down Expand Up @@ -322,3 +323,8 @@ def build_transaction(stmttrn, flag, account, currency):
return data.Transaction(
fileloc, date, flag, payee, narration, data.EMPTY_SET, data.EMPTY_SET, [posting]
)


if __name__ == "__main__":
importer = Importer("379700001111222", "Liabilities:US:CreditCard", "bofa")
main(importer)
11 changes: 11 additions & 0 deletions examples/tests/ofx/ofxdownload.ofx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>Login successful</STATUS><DTSERVER>20140112083600.212[-7:MST]<LANGUAGE>ENG<FI><ORG>AMEX<FID>3101</FI><ORIGIN.ID>FMPWeb<INTU.BID>3101<START.TIME>20140112083600<INTU.USERID>exampleuser</SONRS></SIGNONMSGSRSV1><CREDITCARDMSGSRSV1><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>379700001111222<DOWNLOAD.FLAG>false<DOWNLOAD.TYPE>download90Days<AMEX.BASICACCT>379700001111222<DAYS.NINTY>true<AMEX.ROLE>B<AMEX.UNIVID>e308f58246398a74c52504a8b06d5f05</CCACCTFROM><BANKTRANLIST><DTSTART>20140112050000.000[-7:MST]<DTEND>20140112050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131201000000.000[-7:MST]<TRNAMT>-9.99<FITID>320133350353869664<REFNUM>320133350353869664<NAME>SPOTIFY USA 28770130901<MEMO>2600720879 WWW.SPOTIFY.COM</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-61.71<FITID>320133360368356592<REFNUM>320133360368356592<NAME>GOAT TOWN 1200000549NEW YORK <MEMO>071000163 2126873641</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131202000000.000[-7:MST]<TRNAMT>-17.75<FITID>320133360368356593<REFNUM>320133360368356593<NAME>AMC VILLAGE 7 #2110 NEW YORK <MEMO>12010365699 212-982-2116</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131205000000.000[-7:MST]<TRNAMT>-42.4<FITID>320133390419136515<REFNUM>320133390419136515<NAME>CAFE MOGADOR 0048 NEW YORK <MEMO>969881 212-677-2226</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-34.38<FITID>320133430477621377<REFNUM>320133430477621377<NAME>UNION MARKET - HOUSNEW YORK <MEMO>15827 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131209000000.000[-7:MST]<TRNAMT>-13.5<FITID>320133430477621378<REFNUM>320133430477621378<NAME>SUNSHINE CINEMA 5429NEW YORK <MEMO>208001222 2122607289</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-21.96<FITID>320133450009270816<REFNUM>320133450009270816<NAME>UNION MARKET - HOUSNEW YORK <MEMO>13775 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131211000000.000[-7:MST]<TRNAMT>-14.47<FITID>320133450009270817<REFNUM>320133450009270817<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042002720272124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131214000000.000[-7:MST]<TRNAMT>-56.43<FITID>320133480059384557<REFNUM>320133480059384557<NAME>MACY'S / #003 HERALD S / NEW YORK <MEMO>00307963916 MACY'S</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131215000000.000[-7:MST]<TRNAMT>-13<FITID>320133490073491495<REFNUM>320133490073491495<NAME>WHOLEFDS HOU 10236 02124201320<MEMO>042402720282124201320</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-60.23<FITID>320133500088330906<REFNUM>320133500088330906<NAME>PAPYRUS #2302 000002NEW YORK <MEMO>14252302002 2162527300</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20131216000000.000[-7:MST]<TRNAMT>-7<FITID>320133500088330907<REFNUM>320133500088330907<NAME>LES CAFES 400 LAFAYENEW YORK <MEMO>10156320131 2157761076</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-2356.38<DTASOF>20131218050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS></CREDITCARDMSGSRSV1></OFX>
41 changes: 41 additions & 0 deletions examples/tests/ofx/ofxdownload.ofx.beancount
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
;; Account: Liabilities:US:CreditCard
;; Date: 2013-12-18
;; Name: bofa.ofx

2013-12-01 * "SPOTIFY USA 28770130901 / 2600720879 WWW.SPOTIFY.COM"
Liabilities:US:CreditCard -9.99 USD

2013-12-02 * "GOAT TOWN 1200000549NEW YORK / 071000163 2126873641"
Liabilities:US:CreditCard -61.71 USD

2013-12-02 * "AMC VILLAGE 7 #2110 NEW YORK / 12010365699 212-982-2116"
Liabilities:US:CreditCard -17.75 USD

2013-12-05 * "CAFE MOGADOR 0048 NEW YORK / 969881 212-677-2226"
Liabilities:US:CreditCard -42.4 USD

2013-12-09 * "UNION MARKET - HOUSNEW YORK / 15827 GROCERY STORE"
Liabilities:US:CreditCard -34.38 USD

2013-12-09 * "SUNSHINE CINEMA 5429NEW YORK / 208001222 2122607289"
Liabilities:US:CreditCard -13.5 USD

2013-12-11 * "UNION MARKET - HOUSNEW YORK / 13775 GROCERY STORE"
Liabilities:US:CreditCard -21.96 USD

2013-12-11 * "WHOLEFDS HOU 10236 02124201320 / 042002720272124201320"
Liabilities:US:CreditCard -14.47 USD

2013-12-14 * "MACY'S / #003 HERALD S / NEW YORK / 00307963916 MACY'S"
Liabilities:US:CreditCard -56.43 USD

2013-12-15 * "WHOLEFDS HOU 10236 02124201320 / 042402720282124201320"
Liabilities:US:CreditCard -13 USD

2013-12-16 * "PAPYRUS #2302 000002NEW YORK / 14252302002 2162527300"
Liabilities:US:CreditCard -60.23 USD

2013-12-16 * "LES CAFES 400 LAFAYENEW YORK / 10156320131 2157761076"
Liabilities:US:CreditCard -7 USD

2013-12-19 balance Liabilities:US:CreditCard -2356.38 USD