paypal-import
Installation
SKILL.md
PayPal Import
Overview
Import transaction data from PayPal CSV exports. Handles payments received, fees, refunds, and currency conversions. PayPal CSVs include many transaction types — this skill filters to financially meaningful entries and maps them to Open Accountant's format.
Wilson Tools Used
transaction_search— check for duplicates against existing transactionscategorize— assign categories to imported PayPal transactionsexport_transactions— export reconciled PayPal data
Column Mapping
| PayPal CSV Column | Open Accountant Field | Notes |
|---|---|---|
Date |
date |
Transaction date (MM/DD/YYYY format) |
Time |
— | Not stored, date is sufficient |
Name |
description |
Counterparty name |
Type |
— | Used for filtering (see workflow) |
Status |
— | Only import Completed transactions |
Gross |
amount |
Transaction amount before fees |
Fee |
amount (separate row) |
PayPal fee (negative = expense) |
Net |
— | Calculated, not stored directly |
Transaction ID |
reference_id |
PayPal transaction ID for dedup |
Currency |
currency |
3-letter ISO code |
Subject or Item Title |
notes |
Optional detail |
Workflow
- Ask the user for the PayPal CSV file path.
- Parse the CSV (PayPal uses comma-separated with quoted fields).
- Filter by transaction type:
- Import:
Payment Received,Mobile Payment,Website Payment,Invoice Received - Import:
Refund,Reversal,Chargeback - Import:
Subscription Payment - Skip:
Transfer to Bank,Bank Deposit(appears in bank import) - Skip:
Currency Conversion(handled as part of the parent transaction) - Skip:
Authorization,Pending,Temporary Hold
- Import:
- Filter by status: only
Completedtransactions. - For each payment received, create two transactions:
- Revenue: gross amount (positive), category "Revenue:PayPal"
- Fee: fee amount (negative), category "Fees:Payment Processing"
- For refunds/reversals, create a negative revenue transaction.
- For currency conversions: attach the conversion rate to the parent transaction notes.
- Deduplicate using PayPal Transaction ID.
- Preview and confirm import.
Without Wilson
To work with PayPal exports manually:
Downloading from PayPal
- Log in at paypal.com
- Go to Activity (top navigation)
- Click Statements > Activity download (or Reports > Activity download in business accounts)
- Select date range (max 1 year at a time)
- File type: CSV
- Click Download
- For business accounts: Reports > All reports > Transactions > select date range > Download CSV
Manual Processing in a Spreadsheet
- Open the CSV. PayPal CSVs use the encoding Windows-1252 — if you see garbled characters, re-open with UTF-8 encoding.
- Filter Status: Keep only "Completed" rows.
- Filter Type: Remove "Transfer to Bank," "Bank Deposit," "Currency Conversion," and "Authorization" rows.
- Split revenue and fees:
- For each payment, the Gross column is revenue and the Fee column is the PayPal fee.
- Create a new row for each fee with the negative fee amount.
- Handle refunds: Refund rows already have negative Gross amounts. Keep as-is.
- Currency conversion: If you received a payment in EUR but your account is in USD, PayPal creates two rows — one in EUR and one with the USD conversion. Use the USD row and note the original currency.
- Summary formulas:
Gross Revenue: =SUMIFS(Gross, Type, "Payment Received", Status, "Completed") Total Fees: =ABS(SUMIFS(Fee, Type, "Payment Received", Status, "Completed")) Total Refunds: =ABS(SUMIFS(Gross, Type, "Refund", Status, "Completed")) Net Revenue: =GrossRevenue - TotalFees - TotalRefunds Fee Rate: =TotalFees / GrossRevenue * 100
Reconciliation
- PayPal transfers to your bank should match the sum of Net amounts between transfer dates.
- If they don't match, check for held funds, disputes, or currency conversion differences.
Important Notes
- PayPal CSV encoding can cause issues. If the file won't parse, try saving as UTF-8 first.
- PayPal date format is MM/DD/YYYY (US accounts) or DD/MM/YYYY (international). Wilson auto-detects based on account locale.
- "General Payment" type in PayPal can be either sent or received — check the sign of the Gross amount.
- PayPal business accounts have more detailed CSVs than personal accounts. The column mapping above covers both.
- Do not import "Transfer to Bank" rows — these are the PayPal-to-bank transfers that appear in your bank statement.
Weekly Installs
3
Repository
openaccountant/skillsGitHub Stars
3
First Seen
7 days ago
Security Audits
Installed on
amp3
cline3
opencode3
cursor3
kimi-cli3
warp3