I'm trying to put together REST requests to retrieve account, transaction, and statement information for checking (BankData) and credit (CardData) accounts. What puzzles me is that I'm not getting this basic information for such popular banks and Wells Fargo (checking) and Citi Bank (credit).
I'm using the getItemSummaryForItem1 call with these parameters:
CardData:
dex.startLevel: 0
dex.endLevel: 4
BankData
dex.startLevel: 0
dex.endLevel: 2
However, for the checking account I'm not getting statements and for the credit one transactions. For the citi credit card I can get transactions below the statement level however.
Note that I'm getting transactions for checking account and statements (well actually only one) for the credit one.
I also tried various configurations of dex.extentLevels[] with no luck.
Is it possible that yodlee does not support statements for wells fargo checking accounts?
Also, why can't I get credit card transactions at the account level (CardAccountCardTransactionLevel)?
Thanks
Yodlee creates statement level transactions only for credit card accounts and not for checking or savings account and hence you are not getting statement for checking but you are getting that for credit card.
Also you should not be using getItemSummaryForItem1 for getting transactions as this API creates a huge load on Yodlee's servers and hence there is another API called executeUserSearchRequest in transactionSearchService which should be used for retrieving transactions.
Below data extent level should be used to only get the account level details.
BankData
dex.startLevel: 0
dex.endLevel: 0
CardData:
dex.startLevel: 0
dex.endLevel: 0
For cards to get statement level data the dataextent should be
CardData:
dex.startLevel: 0
dex.endLevel: 2
and for data including statement bill level -
CardData:
dex.startLevel: 0
dex.endLevel: 4
Related
I'm using Xero's private API to export bank transactions (so I can automate a bunch of financial reporting).
Retrieving the transactions works well (as documented here https://developer.xero.com/documentation/api/banktransactions) but this endpoint doesn't return the account field associated with each transaction, which I want to use to group the transactions into e.g. "Cost of sale", "Operating expenses" and so on.
Does anyone know of a way to find the account for a given transaction via the API?
Further info:
If the transaction contains line items, then the account associated with each line item is returned by the endpoint above. I'm mostly interested in transactions that do not include line items (the LineItems field is an empty array)
Most of the transactions i'm working with are of the "Spend Money" type
I'm currently using pyxero SDK, but open to other options
The account field is present in Xero's web interface, and on the CSV export available from the web interface.
Our contacts in Xero don't have default accounts.
It is the LineItems of Bank Transactions that have AccountCodes associated with them and I've not been able to find a bank transaction record without a line item in the data I have available to me.
Is it possible that you are not implementing paging? From the bank transactions documentation you linked to above:
Paging BankTransactions (recommended)
To utilise paging, append a page parameter to the URL e.g. ?page=1. If there are 100 records in the response you will need to check if there is any more data by fetching the next page e.g ?page=2 and continuing this process until no more results are returned.
By using paging all the line item details for each bank transaction are returned which may avoid the need to retrieve each individual bank transaction.
I'm not familiar with the pyXero implementation, but it looks like they support Xero paging. From the pyXero readme:
# Grab 100 invoices created after 01-01-2013
xero.invoices.filter(since=datetime(2013, 1, 1), page=1)
Let us assume there is a situation when I have an invoice from a supplier to my company (e.g. 1000 EUR). My company returns all the goods because of a problem. The supplier shall issue a credit invoice in amount of 1000 EUR, which I register in my system. As a result I will have (on behalf of the supplier) an account payable of 1000 EUR and an account receivable in the same amount. What is the preferred way of handling this situation, because there will be no money transferred, either way.
Should I generate a paymentApplication to both invoices? I want to see them as +1000 -1000 = 0 EUR.
The current data model and services do not support applying an invoice to an invoice, i.e. canceling part or all of one invoice with another. That is something I have considered but IMO is messy... even if it is a common practice in certain parts of the world (from my limited knowledge of it an archaic practice that isn't so commonly used any more). That could be supported though, I have certainly considered it (adding an entity or perhaps modifying PaymentApplication to support it, adding a service to do it and a corresponding GL posting service to balance AP/AR accounts).
Right now the best thing to do a cancel the original invoice, which does the proper reverse GL postings if the invoice has already been posted.
If you want both invoices in the system and canceling entries somewhere the currently supported approach is to use a FinancialAccount, basically use FinancialAccount payments to pay both invoices and then the balance of the FinancialAccount represents the amount due or owed to the external party. There is full support for these sorts of FinancialAccount transactions, doing payments both ways (withdrawals and deposits), representing the liability for positive balances in the GL, etc.
I'm using the Yodlee API and its pulling all the data I need including line item transactions for Credit Card/Rewards Points/Bill Pay etc.. but it's only giving a summary for my debit/checking transactions..
I need to be able to pull line item transactions for debit card and checking transactions as well..
I'm using Fast Link and it's showing that its linked as I'm able to pull balances, refresh dates etc.. but I'm unable to access the per transaction data I'm able to pull on the Credit Card accounts..
This works for Credit Card:
$trans_data_checking[5]['itemData']['accounts'][$b]['cardTransactions'][$i]['plainTextDescription']
But the 'cardTransactions' field doesn't occur for the checking/debit card accounts..
What am I missing?
Yodlee has data model designed as per different types of banking products like bank accounts, credit card accounts, loan accounts, investment accounts and so on. In Yodlee's terminology all these different products are called as containers. Now each container has their own set of fields which are relevant to any type of accounts under that category. Now savings/Checking accounts comes under bank container and transactions belonging to these accounts will have field called bankTranasctions and hence you are not finding cardTransaction field for checking/debit card accounts.
Are there any APIs available in the UK to allow someone to look up the transaction code (company name that appears in your bank statements) and get extra information about that transaction.
For example, if I had a transaction at a petrol station it could see that the transaction was for a petrol station and suggest the category to be "Vehicle Fuel" or something like that?
Must be able to specifically handle data from UK businesses.
I think what you're referring to is 'Transaction Description'.
This data is completely controlled by the organisation which debits the account so there is no standard, also some organisations also include transaction details in this making lookups extremely complex. Some examples below:
Shell Petrol Station CD 5487 < Includes last four digits of card
Some Restaurant 15/10 < Includes date
Google Apps Tran #16598745 < Includes transaction code
There are some sites that have an ability to search these transaction descriptions but I think these are user contributed, there is no official source as far as I'm aware.
We're using the WorldPay payment processor with Shopify.
When a transaction is created in WorldPay it's given an ID based on its order number in Shopify. For example:
#1010.1 for order number 1010
#1011.1 for order number 1011
#1013.2 for order number 1013
For most orders the number after the dot is a "1". But for at least one it's "2". Is there any way of predicting what this number is, or of fetching it via the API?
The part after the #1013 is the transaction number. If the transaction fails for whatever reason that number is incremented when the user attempts the transaction again. You can retrieve the transactions for an order using the transactions endpoint. http://api.shopify.com/transactions.html