my-flow / paypalimporter Goto Github PK
View Code? Open in Web Editor NEWPayPal Importer is an extension for Moneydance that imports transactions from PayPal into Moneydance.
Home Page: https://www.my-flow.com/paypalimporter/
License: Other
PayPal Importer is an extension for Moneydance that imports transactions from PayPal into Moneydance.
Home Page: https://www.my-flow.com/paypalimporter/
License: Other
The extension doesn't download all transactions for me.
When I ask to download transactions for all dates (to a new account), I get a few dating back to 2010-2012, with basically paired deposits and payments in the same amount. They are labeled "currency conversion", "From U.S. Dollar", and "Bank Account". Downloading more recent ones results in 0 transactions.
The account is largely in GBP. I suspect that may be the problem.
The balance resulting there is USD 2.00 (which I think may be correct).
This is with version 1 (just downloaded). There is no information about it in the MD Console.
Hi there,
This is a pretty handy thing, thanks! I'm sick of Quicken so I was just testing Moneydance out and saw this extension and decided to give it a whirl too. I've only used Moneydance for minutes at this point so sorry if I'm wrong about anything but I just wanted to report what I've discovered and see if it's fixable or maybe I'm just doing something wrong and if you could point me in the right direction I'd be very greatful. This extension seems to actually work for importing some transactions but in my PayPal I have transactions from multiple currencies and it doesn't appear to handle them.
It seems to only handle transactions in the currency my PayPal account is set to (CAD), though maybe there's some other reason. It doesn't appear to matter if my Moneydance file is set to USD or CAD, it will still import only the CAD transactions, except when I import into the USD file it seems to add a weird exchange rate or something to each transaction with different values for each one such as 0.997792, 0.997699, 0.997366, etc. I'm not really sure what that's about but I have done no configuring of anything in Moneydance including exchange rates so maybe that's something to do with it. Either way, these transactions are CAD transactions in a USD Moneydance file so I guess it's just detecting that but I was just testing to see if it would import USD transactions from PayPal. Seems not.
So it doesn't look like it imports transactions that were in USD, or probably any other currency, I'm guessing other than what my PayPal account is set to. It also doesn't seem to recognize transfers from CAD to USD for a payment, for example if I didn't have enough USD to cover the cost and PayPal converted some of my money from CAD to USD automatically to cover the payment. This results in the balance of the account being wrong.
I've tried using the newest v6 version but it still seems to do the same thing.
Ideally I'd like to be able to specify which currency of transactions to import from PayPal into Moneydance since so far it looks like I have to have separate files for separate currencies in Moneydance. I'm not sure if there's a way around that or not but I guess it's better than not having multiple currencies. Still learning. Not sure if it will do the trick or not yet.
Thank you!
as a moneydance user and paypal user, i would like to use this extension, but i cannot get the answers i need from the documentation on the home page or the README.md.
API_Username, API_Password, and Signature: what ARE these and how do i figure out what mine are (or if I even have these)?
under the Installation section of the home page, it appears one just installs the extension and starts importing transactions. if only it were that easy.
I've only used it to download ~9 months of data at a time thus far, but each time, I've had to track down and remove a few duplicate fee transactions each time.
In Moneydance 2021.1 (3067) the v7 of the importer doesn't do anything when you select Download PayPal Transactions.... No window appears, and there is nothing logged to the console.
I recently ran a python script to fix a bank account download issue (USAA) and the PayPal Importer ceased functioning. So, I have tried every way I can think of to uninstall and reinstall the importer, short of reinstalling MoneyDance, and it just will not work--when clicking the Download PayPal Transactions... menu item, nothing happens, and nothing is registered in the Console on the click. I most recently tried installing from a file (downloaded from GitHub) and this is what popped up in the Console:
Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: WebView@710a30ae[styleClass=root web-view]is already set as root of another scene
at javafx.graphics/javafx.scene.Scene$8.invalidated(Unknown Source)
at javafx.base/javafx.beans.property.ObjectPropertyBase.markInvalid(Unknown Source)
at javafx.base/javafx.beans.property.ObjectPropertyBase.set(Unknown Source)
at javafx.graphics/javafx.scene.Scene.setRoot(Unknown Source)
at javafx.graphics/javafx.scene.Scene.(Unknown Source)
at javafx.graphics/javafx.scene.Scene.(Unknown Source)
at com.moneydance.apps.md.view.gui.bot.RobotBrowser.addToPanel(RobotBrowser.java:289)
at com.moneydance.apps.md.view.gui.bot.RobotBrowser.lambda$addToPanel$9(RobotBrowser.java:292)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(Unknown Source)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
And when installing via the Extension installer, here is what comes up:
opening connection with no proxy to https://infinitekind.com/app/md/extensions/paypalimporter.mxt
connecting to: https://infinitekind.com/app/md/extensions/paypalimporter.mxt with method: GET proxy: null
CookieHandler request for https://infinitekind.com/app/md/extensions/paypalimporter.mxt
Cookies retrieved: {Cookie=[]}
Sending https request:
GET /app/md/extensions/paypalimporter.mxt HTTP/1.1
Content-Length: 0
Host: infinitekind.com
DNT: 1
Accept-Encoding: gzip, inflate
Connection: close
---end headers
GET https://infinitekind.com/app/md/extensions/paypalimporter.mxt
<<HTTP/1.1 200 OK
<<date: Thu, 18 Mar 2021 19:46:01 GMT
<<server: Apache/2.4.18 (Ubuntu)
<<vary: Accept-Encoding
<<last-modified: Wed, 30 May 2018 07:57:52 GMT
<<etag: "6fd21-56d67b5296000"
<<accept-ranges: bytes
<<content-length: 458017
<<connection: close
trying to verify external module: paypalimporter
trying to verify external module: paypalimporter
initialized extension paypalimporter in 0.004 seconds
opening connection with no proxy to https://infinitekind.com/app/md/extensions.dct
connecting to: https://infinitekind.com/app/md/extensions.dct with method: GET proxy: null
CookieHandler request for https://infinitekind.com/app/md/extensions.dct
Cookies retrieved: {Cookie=[]}
Sending https request:
GET /app/md/extensions.dct HTTP/1.1
Content-Length: 0
Host: infinitekind.com
DNT: 1
Accept-Encoding: gzip, inflate
Connection: close
---end headers
GET https://infinitekind.com/app/md/extensions.dct
<<HTTP/1.1 200 OK
<<date: Thu, 18 Mar 2021 19:46:04 GMT
<<server: Apache/2.4.18 (Ubuntu)
<<vary: Accept-Encoding
<<last-modified: Sat, 05 Dec 2020 21:45:12 GMT
<<etag: "4685-5b5be81f0aa00"
<<accept-ranges: bytes
<<content-length: 18053
<<connection: close
Any ideas?
The LaF changed after MD2021(2006) and the Mac now uses VAQua. I suspect this is causing the issue. But there is no error in console log. It's just silent and doesn't run on 2021.1 on Mac. It's fine on Linux and probably Windows too...
When I downloaded all the transactions, the individual transaction info and the associated PayPal fees were downloaded as separate transactions in MoneyDance. This can make it difficult to keep track of which fees are associated with which PayPal transactions. In fact, importing the QIF files (the old fashioned way) you can keep the transactions together with the details in the MoneyDance split transaction.
It would be great if the download included all of the PayPal info associated with a single PayPal transaction in a single MoneyDance entry - details in the split transaction.
Since Moneydance 2015.7 (build1358), the download dialog box no longer remembers the API username or signature from request to request. In other words, the user needs to re-enter those every time s/he downloads from PayPal. The API password is remembered.
Currently, all of the downloaded transactions are uncategorized. With fancy search-and-replace, the transactions can be categorized, but this takes a fair amount of time.
It would be great to pre-assign the Moneydance categories for the gross sales, PayPal fees, sales tax, and shipping charges.
Of course these settings would be configured separately for each PayPal account (see other issue about multiple PayPal accounts).
Moneydance 17.10 (1706) openjdk version "1.8.0_171" PayPal Importer v7
I have set up a bank account for PayPal transactions. The function works as expected except that Download PayPal transactions does not remember the designated account. Each download gives the option of use existing account or new account. Shouldn't it remember last account used for downloading? If not, feature request?
Thanks!
The plugin works fine until MD is restarted.
I call the plugin from the menu. An alert box shows an error. The full stack is from the MD console is shown below.
java.lang.ClassCastException: java.lang.String cannot be cast to [C
at com.moneydance.modules.features.paypalimporter.integration.PayPalOnlineService.getPassword(PayPalOnlineService.java:91)
at com.moneydance.modules.features.paypalimporter.util.Preferences.getPassword(Preferences.java:148)
at com.moneydance.modules.features.paypalimporter.controller.ViewControllerImpl.startWizard(ViewControllerImpl.java:102)
at com.moneydance.modules.features.paypalimporter.Main.invoke(Main.java:88)
at com.moneydance.apps.md.controller.Main.invokeFeatureModuleURI(Main.java:1600)
at com.moneydance.apps.md.controller.Main.showURL(Main.java:988)
at com.moneydance.apps.md.view.gui.MainMenu$URIAction.actionPerformed(MainMenu.java:793)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
at com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:95)
at java.awt.MenuItem.processActionEvent(MenuItem.java:650)
at java.awt.MenuItem.processEvent(MenuItem.java:609)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:343)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:331)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:720)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:690)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
I'm downloading from my PP account for the first time. Even selecting just transactions for the current quarter I get the above message (which is ungrammatical, by the way).
Can the PP plugin be modified so that it iterates over all the weeks (or days) in the time span to get all the transactions?
Here is the error when selection the extension:
java.lang.IncompatibleClassChangeError: class
com.moneydance.modules.features.paypalimporter.integration.InitializedOnlineService cannot inherit from final class com.infinitekind.moneydance.model.OnlineService
It looks like v6 was tagged, but no mxt was built and it's not available via http://infinitekind.com/extensions. I know I can build it myself, but it would be nice to be able to autoinstall it to pick up the fix for issue #9 . Thanks!
Entering in the API credentials each time would be a total pain, so I am happy to see that your extension remembers the credentials. However, I have two PayPal accounts, so if I want to download transactions from both, I have to re-enter the API credentials each time.
It would be great if your extension created a drop-down selection of any previously entered account that auto-fills the API credentials. Entering new credentials adds to the drop-down list.
apparently API signatures only exist for PayPal Business ? the instructions how how to show do NOT work for my paypal account. at least update your docs
When I download the transactions into my Paypal account in Moneydance, the download includes transactions such as
BUT there always seem to be one or more that show a removal but not the associated authorization, or an authorization but no removal. I either have to delete them or put in a balancing item. If I delete them, they are just downloaded again.
Can both of those types just be filtered out so that they are not downloaded at all please? They don't add to anything.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.