def test_to_linked_txn(self): deposit = Deposit() deposit.Id = 100 linked_txn = deposit.to_linked_txn() self.assertEquals(linked_txn.TxnId, 100) self.assertEquals(linked_txn.TxnType, "Deposit") self.assertEquals(linked_txn.TxnLineId, 1)
def test_create(self): deposit = Deposit() account = Account.filter(AccountType="Bank", max_results=2, qb=self.qb_client) account_ref = account[0].to_ref() deposit_to_account_ref = account[1].to_ref() deposit_line_detail = DepositLineDetail() deposit_line_detail.AccountRef = account_ref line = DepositLine() line.Amount = 20.00 line.DetailType = "DepositLineDetail" line.DepositLineDetail = deposit_line_detail deposit.DepositToAccountRef = deposit_to_account_ref deposit.Line.append(line) deposit.save(qb=self.qb_client) query_deposit = Deposit.get(deposit.Id, qb=self.qb_client) self.assertEqual(deposit.Id, query_deposit.Id)
def fund_account(account, amount, client): logger.info("Funding account") equity_account = create_equity_account("LCFS Opening Balance", client) deposit = Deposit().from_json({ "PrivateNote": "Initial LCFS account link", "Line": [{ "Description": "Initial LCFS account link", "DetailType": "DepositLineDetail", "Amount": float(amount), "DepositLineDetail": { "AccountRef": { "value": equity_account.Id } } }], "DepositToAccountRef": { "value": account.Id } }) deposit = deposit.save(qb=client) logger.info("deposited " + str(amount)) return account
def test_unicode(self): deposit = Deposit() deposit.TotalAmt = 100 self.assertEqual(str(deposit), "100")
def test_valid_object_name(self): obj = Deposit() client = QuickBooks() result = client.isvalid_object_name(obj.qbo_object_name) self.assertTrue(result)
def test_unicode(self): deposit = Deposit() deposit.TotalAmt = 100 self.assertEquals(str(deposit), "100")
def post_deposit(amount, tax, btcp_id): # post deposit to QBO if tax is None: tax = float(0) refresh_stored_tokens() qb = fetch('qbclient') # check if BTCPay income acct is already in QBO income_acct_list = Account.filter(Name="BTCPay Sales", qb=qb) try: # if income acct exits, grab it income_acct = income_acct_list[0] except IndexError: # if income acct is not in QBO, create it new_acct = Account() new_acct.Name = "BTCPay Sales" new_acct.AccountSubType = "OtherPrimaryIncome" new_acct.save(qb=qb) # set newly created acct as income acct income_acct_list = Account.filter(Name="BTCPay Sales", qb=qb) income_acct = income_acct_list[0] # check if BTCPay Sales Tax acct is already in QBO sales_tax_acct_list = Account.filter(Name="Sales Tax from BTCPay", qb=qb) try: # if sales tax liability acct exits, grab it sales_tax_acct = sales_tax_acct_list[0] except IndexError: # if sales tax acct is not in QBO, create it new_acct = Account() new_acct.Name = "Sales Tax from BTCPay" new_acct.AccountSubType = "OtherCurrentLiabilities" new_acct.save(qb=qb) # set newly created acct as sales tax account sales_tax_acct_list = Account.filter(Name="Sales Tax from BTCPay", qb=qb) sales_tax_acct = sales_tax_acct_list[0] # check if QBO has asset acct for Bitcoin-BTCPay deposit_acct_list = Account.filter(Name="Bitcoin-BTCPay", qb=qb) try: # if Bitcoin-BTCPay is in QBO, set as deposit acct deposit_acct = deposit_acct_list[0] except IndexError: # if Bitcoin-BTCPay is not in QBO, create it as deposit acct new_acct = Account() new_acct.Name = "Bitcoin-BTCPay" new_acct.AccountSubType = "OtherCurrentAssets" new_acct.save(qb=qb) # set newly created Bitcoin-BTCPay acct as deposit acct deposit_acct_list = Account.filter(Name="Bitcoin-BTCPay", qb=qb) deposit_acct = deposit_acct_list[0] # create deposit description = 'BTCPay: ' + btcp_id income_acct_ref = Ref() income_acct_ref.value = income_acct.Id detail = DepositLineDetail() detail.AccountRef = income_acct_ref line = DepositLine() line.DepositLineDetail = detail deposit_account_ref = Ref() deposit_account_ref.value = deposit_acct.Id line.Amount = amount - tax line.Description = description # create sales tax line sales_tax_acct_ref = Ref() sales_tax_acct_ref.value = sales_tax_acct.Id line2 = DepositLine() detail2 = DepositLineDetail() detail2.AccountRef = sales_tax_acct_ref line2.DepositLineDetail = detail2 line2.Description = description line2.Amount = tax deposit = Deposit() deposit.Line.append(line) deposit.Line.append(line2) deposit.DepositToAccountRef = deposit_account_ref deposit.save(qb=qb) # save payment to temp redis store to fliter duplicates app.redis.set(btcp_id, 'deposit', ex=21600) return 'Deposit Made: ' + str(deposit)