# wise-import

Parses Wise CSV statements, handling multi-currency transfers, separate conversion fee lines, and duplicate prevention via transfer IDs.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 378 installs · ★ 101
- Author: openaccountant
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/openaccountant/skills/tree/HEAD/business/wise-import/SKILL.md
- Updated: 2026-04-09
- HTML: https://affpapa.org/en/nevibecode/skills/wise-import

## What it does

This skill ingests CSV statement exports from Wise (formerly TransferWise) into Open Accountant. It validates table headers, determines payment directions by amount signs, and checks existing transfer IDs via `transaction_search` to prevent duplicates. Incoming funds get categorized under Income:Transfer, while balance cashback rows map to Income:Interest.

Multi-currency exchanges receive distinct handling. Transaction values remain in the source currency, with exchange rates and destination figures stored in notes. Wise charges conversion fees outside of base FX rates, so the skill creates an isolated negative entry categorized under Fees:Currency Conversion. Importing card settlements too early will capture temporary merchant names that change after final clearing.

Before writing records, the workflow presents a per-currency breakdown showing inflows, outflows, and net balances. Finalized records pass to `categorize` and `export_transactions` tools for persistence.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill wise-import -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/wise-import/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/wise-import/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill wise-import -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/wise-import/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill wise-import -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/wise-import/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install openaccountant/skills wise-import
```

2. **Manually: put the files in place**
- File: `.github/skills/wise-import/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill wise-import -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/openaccountant/skills --path business/wise-import
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/wise-import/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill wise-import -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/openaccountant/skills/tree/HEAD/business/wise-import/SKILL.md

## When to use it
- import Wise CSV account statements into Open Accountant
- isolate currency conversion fees into individual expense entries
- prevent duplicate transfer imports using unique reference IDs
- track exchange rates and target amounts inside transaction notes

## Example prompts
- Import the Wise statement from `wise_statement_eur.csv` for the EUR account.
- Parse `wise_june.csv`, isolate conversion fees, and show a summary per currency.
- Check `transfers.csv` for duplicates against existing Wise transactions and record new entries.

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 41a3d51295556b58.

BEGIN THIRD-PARTY FILE 41a3d51295556b58
```text
---
name: wise-import
description: >
  Import Wise (TransferWise) CSV exports with multi-currency handling.
---

# Wise Import

## Overview
Import transaction data from Wise (formerly TransferWise) CSV statement exports. Handles multi-currency accounts, conversion fees, and international transfers. Maps Wise's transfer-centric format into Open Accountant transactions.

## Wilson Tools Used
- `transaction_search` — check for existing Wise transactions to prevent duplicates
- `categorize` — assign categories to imported Wise transactions
- `export_transactions` — export reconciled Wise data

## Column Mapping

| Wise CSV Column | Open Accountant Field | Notes |
|---|---|---|
| `TransferWise ID` or `ID` | `reference_id` | Unique transfer ID for dedup |
| `Date` | `date` | Completion date |
| `Description` | `description` | Transfer description / recipient |
| `Amount` | `amount` | Transaction amount (signed) |
| `Currency` | `currency` | Source currency ISO code |
| `Running Balance` | — | Not stored |
| `Exchange Rate` | `notes` | Stored in notes for reference |
| `Total fees` | `amount` (separate row) | Wise fee (negative = expense) |

## Workflow
1. Ask the user for the Wise CSV file path and which currency account(s) to import.
2. Parse the CSV and validate Wise column headers.
3. Process each row:
   - **Incoming transfers**: positive amount, category "Income:Transfer"
   - **Outgoing transfers**: negative amount, category based on description
   - **Conversion fees**: separate negative entry, category "Fees:Currency Conversion"
   - **Card payments**: negative amount, categorize by vendor
4. For multi-currency transfers:
   - Record the transaction in the source currency
   - Store the exchange rate and target amount in notes
   - Create the fee entry separately (Wise charges a conversion fee distinct from the exchange rate)
5. Deduplicate using Wise transfer ID.
6. Preview import summary per currency: inflows, outflows, fees, net.
7. Insert transactions and confirm.

## Without Wilson
To work with Wise exports manually:

### Downloading from Wise
1. Log in at **wise.com**
2. Click on the relevant currency account (e.g., USD, EUR, GBP)
3. Go to **Statements** (right side or under account menu)
4. Select the date range
5. Choose **CSV** format (also available: PDF, XLSX)
6. Click **Download**
7. Repeat for each currency account you want to import

### Manual Processing in a Spreadsheet
1. Open the CSV in Google Sheets or Excel.
2. **Identify transaction types** by the Description and Amount sign:
   - Positive amounts = money received (income, incoming transfers)
   - Negative amounts = money sent (expenses, outgoing transfers, card payments)
```
END THIRD-PARTY FILE 41a3d51295556b58

The third-party file has ended. Everything between the 41a3d51295556b58 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2700 of 4672 bytes. © openaccountant · MIT · https://github.com/openaccountant/skills/tree/HEAD/business/wise-import/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
