venmo-reconciler
Reconcile Venmo business transactions and separate personal from business.
How do I install this agent skill?
npx skills add https://github.com/openaccountant/skills --skill venmo-reconcilerIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is safe to use and follows legitimate accounting workflows for the Open Accountant platform, but it handles external Venmo CSV data which could potentially contain indirect prompt injections in transaction notes.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Venmo Reconciler
Overview
Import and reconcile Venmo transaction exports, separating personal transfers from business income/expenses. Venmo mixes social payments with business transactions in a single feed — this skill classifies each transaction, flags ambiguous entries for review, and imports business-relevant transactions into Open Accountant.
Wilson Tools Used
transaction_search— check for duplicates and cross-reference with bank importscategorize— assign business categories to Venmo transactionsanomaly_detect— flag transactions that look personal in a business context (or vice versa)export_transactions— export reconciled business transactions
Column Mapping
| Venmo CSV Column | Open Accountant Field | Notes |
|---|---|---|
ID | reference_id | Venmo transaction ID for dedup |
Datetime | date | Transaction timestamp |
Note | description | User-entered payment note |
From | description (prefix) | Sender name |
To | description (prefix) | Recipient name |
Amount (total) | amount | Signed amount (+ received, - sent) |
Status | — | Only import Complete transactions |
Type | — | Payment, Charge, Transfer, etc. |
Funding Source | notes | Venmo balance, bank, card |
Workflow
- Ask the user for the Venmo CSV file path.
- Parse the CSV and validate Venmo column headers.
- Filter by status: only
Completetransactions. - Filter by type:
- Import:
Payment(sent/received money for goods or services) - Import:
Charge(invoiced someone and they paid) - Skip:
Standard TransferandInstant Transfer(bank transfers, appear in bank import)
- Import:
- Classify each transaction as personal or business:
- Business signals: notes containing keywords like "invoice," "payment for," business name, service description, dollar amounts > $100
- Personal signals: notes with emoji, first-name-only, social language ("thanks for dinner," "splitting rent")
- Ambiguous: flag for manual review
- Present the classification for user confirmation:
- Business transactions: import with appropriate categories
- Personal transactions: skip (or import to a "Personal" category if user wants full tracking)
- Ambiguous: ask user to classify each one
- Deduplicate against existing transactions using Venmo ID.
- Import confirmed business transactions.
Without Wilson
To reconcile Venmo transactions manually:
Downloading from Venmo
- Log in at venmo.com (must use web, not the app)
- Go to Statements (under Settings, or navigate to venmo.com/account/statement)
- Select the date range (available in monthly chunks)
- Click Download CSV
- Alternative: In the Venmo app > Settings > Tax Documents for 1099-K if applicable (only if you exceed IRS thresholds: $5,000 in 2024+)
Manual Reconciliation in a Spreadsheet
- Open the CSV. Venmo CSVs have some quirks:
- The first few rows may be metadata — delete them so your header row is the first row.
- Amounts may be formatted as
+ $50.00or- $25.00with spaces. Clean with Find & Replace: remove$,+, and spaces, then convert the column to Number format.
- Filter out transfers: Remove rows where Type is "Standard Transfer" or "Instant Transfer."
- Add a "Classification" column with values:
Business,Personal,Review. - Classify by keyword search:
=IF(OR( REGEXMATCH(Note,"(?i)invoice|payment for|consulting|freelance|order|service"), ABS(Amount)>100 ), "Business", IF(OR( REGEXMATCH(Note,"(?i)dinner|lunch|drinks|rent|split|birthday|thanks"), LEN(Note)<10 ), "Personal", "Review")) - Manual review: Go through "Review" rows and classify each one.
- Business summary:
Business Income: =SUMIFS(Amount, Classification, "Business", Amount, ">0") Business Expenses: =ABS(SUMIFS(Amount, Classification, "Business", Amount, "<0")) - Tax note: If your Venmo business income exceeds $5,000/year (2024 threshold), Venmo issues a 1099-K. Your records should reconcile with this form.
Reconciliation Tips
- Cross-reference Venmo transfers to your bank account with your bank statement. The "Standard Transfer" amounts in Venmo should match deposits in your bank.
- If you use Venmo for Business (separate business profile), those transactions are pre-classified — export them separately.
Important Notes
- Venmo personal vs. business classification is a best-effort heuristic. Always review the results.
- Venmo notes are user-entered free text and often contain emoji, jokes, or vague descriptions. Categorization accuracy depends on note quality.
- The IRS reporting threshold for payment apps is $5,000 for 2024 and later tax years. If you receive business payments via Venmo above this threshold, you'll receive a 1099-K.
- Venmo "Standard Transfer" to your bank takes 1-3 business days. "Instant Transfer" is immediate but has a fee. Neither should be imported as revenue — they're just moving money to your bank.
- If you use both Venmo personal and Venmo for Business profiles, export and import them separately to avoid mixing.
- Venmo CSV downloads are only available through the website, not the mobile app.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/openaccountant/skills/venmo-reconciler">View venmo-reconciler on skillZs</a>