Esempio n. 1
0
def get_transaction(client, date, payee, amount, memo, account):
    imported_date = datetime.now().date()
    return Transaction(entities_account_id=get_or_create_account(
        client, account).id,
                       date=date,
                       entities_payee_id=get_or_create_payee(client, payee).id,
                       imported_payee=payee,
                       source='Imported',
                       memo=memo,
                       amount=amount,
                       cash_amount=amount,
                       imported_date=imported_date)
Esempio n. 2
0
    def testiimport(self):
        parser = configargparse.getArgumentParser('pynYNAB')
        args = parser.parse_known_args()[0]
        args.ofxfile = os.path.join(tempfile.gettempdir(), 'data.ofx')

        content = """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
        </STATUS>
        <DTSERVER>20130313133728
        <LANGUAGE>FRA
    </SONRS>
    </SIGNONMSGSRSV1>
    <BANKMSGSRSV1>
        <STMTTRNRS>
            <TRNUID>29939615002
            <STATUS>
                <CODE>0
                <SEVERITY>INFO
            </STATUS>
            <STMTRS>
                <CURDEF>EUR
                    <BANKACCTFROM>
                    <BANKID>11706
                    <BRANCHID>41029
                    <ACCTID>29939615002
                    <ACCTTYPE>CHECKING
                </BANKACCTFROM>
                <BANKTRANLIST>
                    <DTSTART>20130128000000
                    <DTEND>20130314235959
                    <STMTTRN>
                        <TRNTYPE>CHECK
                        <DTPOSTED>20130312
                        <TRNAMT>-491.09
                        <FITID>13071099780237330004
                        <CHECKNUM>0003445
                        <NAME>CHEQUE
                        <MEMO>CHEQUE
                    </STMTTRN>
                </BANKTRANLIST>
                <LEDGERBAL>
                    <BALAMT>-6348.01
                    <DTASOF>20130312
                </LEDGERBAL>
                <AVAILBAL>
                <BALAMT>-6348.01
                <DTASOF>20130312
                </AVAILBAL>
            </STMTRS>
        </STMTTRNRS>
    </BANKMSGSRSV1>
</OFX>"""
        with open(args.ofxfile, 'w') as f:
            f.writelines(content)
        imported_date = datetime.now().date()

        testaccount = 'TEST'

        account = get_or_create_account(self.client, testaccount)

        key = '11706 41029 29939615002'
        account.note = 'great note key[%s]key' % key

        payee = get_or_create_payee(self.client, 'CHEQUE')
        amount = -491.09

        transaction = Transaction(entities_account=account,
                                  date=datetime(year=2013, month=3,
                                                day=12).date(),
                                  entities_payee=payee,
                                  imported_payee=payee,
                                  source='Imported',
                                  check_number='0003445',
                                  memo='CHEQUE    13071099780237330004',
                                  amount=amount,
                                  credit_amount=0,
                                  imported_date=imported_date)

        delta = do_ofximport(args, self.client)
        self.assertEqual(delta, 1, msg="should add exactly one transaction")
        self.assertIn(
            transaction.key2,
            [tr.key2 for tr in self.client.budget.be_transactions],
            msg='couldnt find an imported transaction after ofx import')