retrieving actual bank statements - yodlee

Does yodlee provide any means for retrieving an actual bank statement (like a pdf) vs. the data contained in this statement? Due to some regulatory requirements, our intended users would need to confirm that statement information provided is complete. Currently this is done by asking for a complete statement from the banks' website, like a pdf print out. Does yodlee have any apis that could return statements unmodified vs the transactions and other information from the statement?
Thanks!

Yodlee provides APIs to retrieve the transactions & other statement related information like Amount Due, Due Date etc , while there is no such API which will provide you complete Statement in PDF format(As you receive from Bank itself).

So far I know Yodlee only provides transactions, you may create your statements by filtering for the specific periods. Yodlee does not download any statements but it get its transactions by screen scrapping method. So you'll receive transactions and then it is up to you to handle them according to your business needs.

Related

Is there a Plaid data field comparable to the Simple Description from Yodlee?

I'm currently evaluating using Plaid or Yodlee for transaction aggregation (I'm using the Dev environments for both right now). I really prefer almost everything about Plaid, but I'm having trouble with transaction name/description. Yodlee has a data field called the "simple description":
From their docs: "The transaction description that appears at the FI site may not be self-explanatory, i.e., the source, purpose of the transaction may not be evident. Yodlee attempts to simplify and make the transaction meaningful to the consumer, and this simplified transaction description is provided in the simple description field."
I'm displaying the transaction name to my end-users and I'm looking for something more user friendly than the transaction name field which often returns strings like "Withdrawal Check Card MOE'S BROADWAY BAGE BOULDER CO Date 01/06/19 0 9006020339 0 5812 Card [XXXX]".
I'm sure I'm not the first plaid customer to have this need. How do Plaid reliant apps solve this problem?
Plaid doesn't offer a simple description field as far as I know, but they do clean up transaction names.
I've found that when a new pending transaction comes in, the name is messy like you mention (e.g. UBER *TRIP 5VVB2). But once the transaction is confirmed, Plaid normalizes it for common merchants (e.g. Uber). I don't know why Plaid doesn't offer this normalization for pending transactions, but I have brought it up with them before. Perhaps this is something that could change in the future?
A solution, albeit complicated, is to build a custom model that normalizes transaction names. That's what we are doing at Pluto Money to supplement Plaid's transaction data.
I received a direct response by email from Plaid Support:
Thanks for reaching out to us here on Plaid Support, I'm sorry about
our delay.
Our name​ field for each transaction represents our best effort to
balance detailed transaction information while providing a clean and
consistent API response. This behavior does vary across banks, both
due to bank behavior and our own integration quality. Generally at
larger banks our integrations do a better job at returning clean
transaction name​s with appropriate transaction detail but for some of
our smaller banks transaction name​s may be more "raw".
If you never want additional detail beyond the merchant/transaction
name in your app I would encourage you to implement some filtering on
Plaid's name​ field to make sure that no date- or account number-like
character strings pass through into your user facing stream.

Downloading all transactions from Xero to reproduce General Ledger

I'm trying to use the Xero API to download all transactions to reproduce the general ledger in an external system so I can use it to reconcile figures within that system.
So far, I've got it downloading invoices, bank transactions, manual journals and credit notes, but it looks like bank transactions that are allocated as a payment against an invoice don't show up in the bank transactions API call. Is this correct or am I missing something?
If I do need to download Payments, there doesn't seem to be a paging method. Is this correct or am I missing something here?
Also, is there anything else that I need to download that might affect net movement on the general ledger?
Regarding the missing payments in bank transactions, this answer should help.
The Payments endpoint doesn't have paging according to the docs, just the If-Modified-Since header.
For our external system we started with the Journals endpoint (which should have everything that adjusts the GL) and supplemented it where needed with additional fields from other endpoints depending on the source type.

Validating Bitcoin Payments Programmatically

Is it possible to anonymously programmatically verify that a transaction has reached n number of validations without running a full node? If so, what is the best means to do this?
Basically I want it to build a payment system where after the transfer is initially detected, the customer sees a message thanking them and telling them that their purchase will be processed within 24 hrs and that they'll receive an email once confirmation is complete. Then throughout the day maybe run a cron job that checks that each transaction reaches the desired number of validations and if so divide the money between two wallets and mark the product to be sent. I also don't want it to be with a service like Coinbase or Bitpay where they have control of your coins.
So far I've been experimenting with Blocktrail and mycelium gear. Both have some elements I like but still not everything that I need. With mycelium you can set the number of verifications but for instance if I want to set it for 6 verifications the customer would have to sit there possibly an hour before they see the next screen. Blocktrail allows me to query that a transaction is validated but it only has the ability to check that 1 validation was completed as far as I can tell. Can anyone suggest an API or widget that can accomplish these things? Preferably PHP or if not JQuery.
Blockchain.info has a simple Query API for querying how much bitcoin an address has received. You can add a confirmations=n parameter that will only include bitcoin that has been confirmed 'n' times. It returns a simple value in satoshis.
For example to check how much bitcoin was received with at least 2 confirmations at a specific address you could have your code query the API like this:
https://blockchain.info/q/getreceivedbyaddress/1PFtyX9nQvjP8U2N3iUk2oNorzPfpjX9sK?confirmations=2

How can I simulate a DAG 401k contribution transaction?

I have sample XML transactions for "buy" and "sell", but Yodlee provides many, many, many different type of transactions. What XML should I use to simulate a 401k contribution transaction?
You can definitely check with Yodlee Support team and ask them to share an xml which may have some more details and you can use the same under your DAG. This will allow you to test such transactions for that specific type of accounts.

Is data validation in Shopify templates or elsewhere?

We're using the Shopify API to grab data from orders, but we're having some trouble with data validation on the fulfillment side. Is there any way we can add data validation to our checkout page? Even just Javascript validation would be a huge improvement. By the time we see an error, the customer is out of the loop, so we're having to make assumptions about our user's data which is potentially dangerous.
One example is that user typed in a phone number that began with a 1 e.g. (xxx)-1xx-xxxx, which is invalid. Another typed an address that was too long for the shipping API we send it to. We don't want to truncate arbitrary addresses so is there a way to present an error to the customer?
The checkout server is a black box as far as the API is concerned. This is mainly for security reasons.
Unfortunately, this prevents you from doing the kind of extra validation you're asking about during the checkout process.