The short answer
The PayPal file has 41 columns, dates written as M/D/YYYY and one signed amount column. The CSV written for Xero has the columns Date,Amount,Payee,Description,Reference. So the date is rewritten as DD/MM/YYYY, the amount is written as one signed number, and the text columns are moved as in the table below.
Paid profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made PayPal profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.
The converter runs in your browser. Your file is not uploaded.
What the PayPal CSV looks like
- Country: International.
- Account type: activity download (default columns).
- Header row: yes, one row before the first transaction.
- Columns: 41, separated by commas.
- Date format: M/D/YYYY, for example 3/4/2024 (the source writes it as %-m/%-d/%Y).
- Amounts: one signed amount column. Evidence for the direction: the source says it in words.
- Header text: the source prints it, so the columns below carry their real names.
Note kept with this layout in the profile data: Forty-one default columns as listed by the source for 2018. The user can choose which columns PayPal exports and the date format follows the account's region (a second rules file in the same repository uses day-month-year with dashes), so the converter must match columns by header name, not by position, and confirm the date order in the preview. Gross is used as the amount; Fee and Net are separate columns. The file can contain email addresses of the other party: the converter must not copy those columns to the output.
What Xero accepts
- File type: CSV.
- Header row: optional; the vendor says a file can be imported without headings but named columns are easier to map.
- Required columns: Date, Amount.
- Optional columns: Payee, Description, Reference, Check Number.
- Amounts: One signed Amount column for both income and expenses. Income is positive; expenses are negative, written with a leading minus sign or in brackets, for example -30.00 or (30.00). Commas must not be used as the decimal mark.
- Dates: one of the date formats Xero lists on the page; the list could not be read on the checked date.
| Xero column | Required by Xero | Filled from the PayPal file |
|---|---|---|
| Date | required | column 1 "Date" |
| Amount | required | column 8 "Gross" |
| Payee | optional | column 4 "Name" |
| Description | optional | column 5 "Type" and column 16 "Item Title" |
| Reference | optional | column 13 "Transaction ID" |
From a web search excerpt of the vendor's help page (the page itself refuses automated reading; re-check it in a browser): "Show income as positive amounts and expenses as negative amounts using a negative sign in front of the amount or with brackets, for example -30.00 or (30.00)."
Column-by-column mapping
Every column of the PayPal file, left to right, and where it ends up in the Xero file.
| Column | Header text | What it holds | Where it goes in the Xero file |
|---|---|---|---|
| 1 | Date | Transaction date | Date, rewritten as DD/MM/YYYY |
| 2 | Time | Not used | Not copied |
| 3 | TimeZone | Not used | Not copied |
| 4 | Name | Payee or counterparty | Payee |
| 5 | Type | Description | Description |
| 6 | Status | Not used | Not copied |
| 7 | Currency | Currency | Not copied |
| 8 | Gross | Amount, signed (negative is money out) | Amount, sign kept (money out is negative) |
| 9 | Fee | Not used | Not copied |
| 10 | Net | Not used | Not copied |
| 11 | From Email Address | Not used | Not copied |
| 12 | To Email Address | Not used | Not copied |
| 13 | Transaction ID | Reference or check number | Reference |
| 14 | Shipping Address | Not used | Not copied |
| 15 | Address Status | Not used | Not copied |
| 16 | Item Title | Memo or note | Description, after the bank's description text |
| 17 | Item ID | Not used | Not copied |
| 18 | Shipping and Handling Amount | Not used | Not copied |
| 19 | Insurance Amount | Not used | Not copied |
| 20 | Sales Tax | Not used | Not copied |
| 21 | Option 1 Name | Not used | Not copied |
| 22 | Option 1 Value | Not used | Not copied |
| 23 | Option 2 Name | Not used | Not copied |
| 24 | Option 2 Value | Not used | Not copied |
| 25 | Reference Txn ID | Not used | Not copied |
| 26 | Invoice Number | Not used | Not copied |
| 27 | Custom Number | Not used | Not copied |
| 28 | Quantity | Not used | Not copied |
| 29 | Receipt ID | Not used | Not copied |
| 30 | Balance | Running balance | Not copied |
| 31 | Address Line 1 | Not used | Not copied |
| 32 | Address Line 2/District/Neighborhood | Not used | Not copied |
| 33 | Town/City | Not used | Not copied |
| 34 | State/Province/Region/County/Territory/Prefecture/Republic | Not used | Not copied |
| 35 | Zip/Postal Code | Not used | Not copied |
| 36 | Country | Not used | Not copied |
| 37 | Contact Phone Number | Not used | Not copied |
| 38 | Subject | Not used | Not copied |
| 39 | Note | Not used | Not copied |
| 40 | Country Code | Not used | Not copied |
| 41 | Balance Impact | Not used | Not copied |
Pitfalls for PayPal to Xero
Dates
- The date must be reordered. The bank file is written month first, then day, then year (M/D/YYYY, for example 3/4/2024). The Xero file is written day first, then month, then year (DD/MM/YYYY, for example 04/03/2024). This is the mistake that does not show: 3/4/2024 is 4 Mar in the bank file, and read the other way round it is 3 Apr. Days from 13 to 31 fail loudly, days from 1 to 12 swap silently.
- Xero on dates: one of the date formats Xero lists on the page; the list could not be read on the checked date. The converter offers dd/mm/yyyy and mm/dd/yyyy and the user picks the one that matches the Xero organisation's region, then confirms the dates on Xero's column-mapping screen.
Amounts and their direction
- Both sides use one signed amount column where money out is negative, so the sign is kept as it is.
- Xero's own rule: One signed Amount column for both income and expenses. Income is positive; expenses are negative, written with a leading minus sign or in brackets, for example -30.00 or (30.00). Commas must not be used as the decimal mark.
- How sure the direction is: the source says it in words.
Shape of the file
- Quoting: every field in double quotes (header shown quoted in the source).
Other Xero import rules
- Only the Date and Amount fields are needed to create bank statement lines.
- Payee is recommended; if the payee is an existing contact, the name must match the contact name exactly to avoid duplicates.
Before and after: an invented example
Invented sample data. These four rows were made up for this page. They are not from a real PayPal export and hold no real account, name or balance.
The column headings are the header text the source prints. The 33 unused columns of the file are left out of the table.
| 1: Date | 4: Name | 5: Type | 7: Currency | 8: Gross | 13: Transaction ID | 16: Item Title | 30: Balance |
|---|---|---|---|---|---|---|---|
| 3/4/2024 | Coffee Corner | COFFEE CORNER MAIN ST | EUR | -4.50 | S0001 | Card purchase | 995.50 |
| 3/5/2024 | Example Co | PAYROLL EXAMPLE CO | EUR | 2500.00 | S0002 | Salary March | 3495.50 |
| 3/7/2024 | Sample Landlord | RENT MARCH | EUR | -1234.56 | S0003 | Standing order | 2260.94 |
| 3/11/2024 | Example Shop | REFUND EXAMPLE SHOP | EUR | 15.25 | S0004 | Refund | 2276.19 |
| Date | Amount | Payee | Description | Reference |
|---|---|---|---|---|
| 04/03/2024 | -4.50 | Coffee Corner | COFFEE CORNER MAIN ST - Card purchase | S0001 |
| 05/03/2024 | 2500.00 | Example Co | PAYROLL EXAMPLE CO - Salary March | S0002 |
| 07/03/2024 | -1234.56 | Sample Landlord | RENT MARCH - Standing order | S0003 |
| 11/03/2024 | 15.25 | Example Shop | REFUND EXAMPLE SHOP - Refund | S0004 |
Do it by hand in a spreadsheet, free
These steps need no tool from this site. The cell references follow the column positions of the profile above; if your spreadsheet uses semicolons between formula arguments, replace the commas.
- Open the PayPal CSV in a spreadsheet program through its import dialog. Set the date column (column 1 "Date") to Text so the program does not reinterpret it, and leave the amount columns as numbers.
- Row 1 is the header and the transactions start in row 2.
- Date: rewrite column A from M/D/YYYY to DD/MM/YYYY (3/4/2024 becomes 04/03/2024). This bank's dates do not have a fixed width, so a position formula is not reliable: split the column into its parts (Text to Columns, or the split function of your spreadsheet) and join them again in the new order.
- Amounts: column H is already signed the way Xero wants (money out negative). Copy it as it is.
- Text columns: fill Payee (from column 4 "Name"); Description (from column 5 "Type" and column 16 "Item Title"); Reference (from column 13 "Transaction ID"). Where several bank columns feed one column, join them with a separator such as " - ".
- Apply Xero's own rules from its help page: Only the Date and Amount fields are needed to create bank statement lines. Payee is recommended; if the payee is an existing contact, the name must match the contact name exactly to avoid duplicates.
- Keep only the new columns, put the header row Date,Amount,Payee,Description,Reference on top, save the sheet as a comma-separated CSV, and compare the dates, the direction of the amounts and the number of rows with your statement in Xero's import preview.
Or use the converter
Load the file, choose the PayPal profile in the bank list and the target Xero, read the preview, then download. The conversion runs locally in your browser: the file is not uploaded, and only the licence key is sent for unlocking.
Paid profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made PayPal profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.
Where this layout comes from
No bank supplied or approved this layout. It was copied on 5 October 2026 from a public open-source importer file kept by volunteers: simonmichael/hledger, file examples/csv/other/paypal-custom.csv.rules
Also read: simonmichael/hledger, file examples/csv/other/paypal-2023.rules
The lines used from the source: "Export CSV from Activity -> Statements -> Custom -> Activity download" ; "The default fields in 2018 were: ..." ; date-format %-m/%-d/%Y ; "(negative means leaving my account, in all amount fields)"
The Xero rules come from the vendor's own help pages: central.xero.com/s/article/Import-a-CSV-bank-statement (named as text, not linked). The official page refuses automated fetches (HTTP 403 or a script-only page), so the rules were read from web search excerpts of that same official URL on the checked date. Re-check in a browser before relying on a detail.
Bank formats change. Banks alter their CSV exports without notice and vendors change their import rules, so this mapping can be out of date. If the preview looks wrong, use the manual column mapper.
Related pages
PayPal to other apps
The PayPal guides for YNAB, QuickBooks Online and Wave, in the bank list