# Online Bank Statements: PayPal.com

This module provides online bank statements from PayPal.com.

Table of contents

- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# Configuration

You will need a Client ID and Secret from PayPal to communicate with the PayPal API. To obtain your PayPal API Client ID and Secret:

1. Open PayPal Developer.
2. Login with your PayPal for Business account (upgrade your personal account to a Business Account, if required).
3. Go to Apps & Credentials and switch to Live.
4. Under REST API apps, click Create App to begin creating a new application.
5. Enter a descriptive name for your app (e.g. Odoo-Statements) and click Create App.
6. Copy the Client ID and Secret to use during provider configuration (instructions below).
7. Under Features, uncheck all optional features except Transaction Search.
8. Click Save Changes.

To configure PayPal as an online bank statement provider, you will need to create a Bank Account & Journal that corresponds to your PayPal for Business account, and then configure the PayPal.com provider with the Client ID and Secret obtained above:

1. Go to Invoicing > Configuration > Banks > Add a Bank Account.
2. In the Account Number field, enter some descriptive text for the account, such as the email address or PayPal Merchant ID of your PayPal for Business account. NOTE: This Account Number is not used in the authentication with PayPal’s API, and is only used to distinguish this PayPal Bank Account/Journal from others you may have configured.
3. Fill in the other fields for the Bank Account if desired, and then click Create.
4. Go to Invoicing > Configuration > Accounting > Journals.
5. Open and Edit the Journal corresponding to the PayPal bank account (this Journal was created automatically when you created the Bank Account above.
6. Set Bank Feeds to Online (OCA).
7. Select PayPal.com as the provider in the Online Bank Statements (OCA) section.
8. Save the Journal.
9. To configure provider-specific settings, click on the provider to open it and click Edit.
10. Fill in your desired Configuration and Scheduled Pull settings.
11. Leave the API base field empty, and fill in the Client ID and Secret from your PayPal Developer account.
12. Click Save.

NOTE: For development and testing purposes, you can create Sandbox credentials associated with your PayPal for Business account. When configuring the provider-specific settings, enter the following in the API base field: https://api.sandbox.paypal.com

# Usage

To pull historical bank statements:

1. Go to Invoicing > Configuration > Accounting > Journals.
2. Open the Journal corresponding to the PayPal bank account.
3. Click the Pull Online Bank Statement button.
4. Configure a date interval and click Pull.

# Known issues / Roadmap

- Only transactions for the previous three years are retrieved, historical data can be imported manually, see `account_bank_statement_import_paypal`. See PayPal Help Center article for details.
- PayPal Transaction Info defines extra fields like `tip_amount`, `shipping_amount`, etc. that could be useful to be decomposed from a single transaction.
- There’s a known issue with PayPal API that on every Monday for couple of hours after UTC midnight it returns `INVALID_REQUEST` incorrectly: their servers have not inflated the data yet. PayPal tech support confirmed this behaviour in case #06650320 (private).

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- CorporateHub

## Contributors

- CorporateHub
  - Alexey Pelykh <alexey.pelykh@corphub.eu>
- Omar Castiñeira <omar@comunitea.com>
- isufi kapasi <isufi.kapasi@initos.com>

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

This module is part of the OCA/bank-statement-import project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.