TrestleFinance
QuickBooks Integration

Convert Shopify Payments CSV to QuickBooks Online

Complete step-by-step guide to converting Shopify Payments transaction exports into QuickBooks journal entries with proper positive fee handling, refund accounting, and multi-currency support.

13 min read

Quick Answer: Convert Shopify Payments CSV to QuickBooks in 3 Steps

  1. 1. Export from Shopify: Admin → Finance → Payouts → View Transactions → Export (Plain CSV)
  2. 2. Upload to TrestleFinance: Preview free (no signup) to verify conversion
  3. 3. Import to QuickBooks: Download journal CSV → QBO → Transactions → Journal Entries → Import

Why this works: Shopify uses a 16-column format with positive fees that QuickBooks can't process directly. TrestleFinance normalizes the data, handles the positive fee convention correctly, and outputs QBO-compatible journal entries.

📦 What You'll Get

📤

You Upload

Shopify Payments CSV (16 columns)

⚙️

We Convert

QBO-ready journal CSV + reconciliation XLSX

Fees Handled

Positive fees converted to proper expense debits

What Shopify Payments CSV Is and Why QuickBooks Rejects It

A Shopify Payments CSV is Shopify's transaction-level export of all payment activity processed through Shopify Payments:

  • Card payments (completed and pending)
  • Refunds (full and partial)
  • Shopify Payments processing fees (stored as positive numbers)
  • Chargebacks and disputes
  • Payouts to your bank
  • Multi-currency transactions (presentment + settlement)

Why QuickBooks Rejects Raw Shopify Payments CSVs

QuickBooks Online cannot import Shopify Payments CSVs directly because:

  • ❌ Column names don't match: Shopify uses "Amount", "Fee", "Net", QBO expects "*AccountName", "*Debits", "*Credits"
  • ❌ Date format needs conversion: Shopify uses "2025-11-20 18:57:06 -0500", QBO needs "11/20/2025"
  • ❌ Fees need expense entries: Shopify shows Amount - Fee = Net, QBO needs separate debit for fees
  • ❌ Debits/Credits not calculated: Shopify shows transaction amounts, QBO needs explicit journal entry lines
  • ❌ Payouts mixed with revenue: Shopify includes payout rows that should be excluded from revenue

Example comparison:

What Shopify Gives YouWhat QuickBooks Needs
Amount: 2.00, Fee: 0.36, Net: 1.643 journal lines: Debit Bank $1.64, Credit Revenue $2.00, Debit Fees $0.36
Transaction Date: 2025-11-20 18:57:06 -0500*JournalDate: 11/20/2025
Type: payout, Amount: $500.00Excluded (internal transfer, not revenue)

Exact Export Path in Shopify Admin

Follow these steps exactly to export the correct CSV:

  1. 1. Log in to Shopify Admin: [yourstore].myshopify.com/admin
  2. 2. Navigate: Left sidebar → Finance
  3. 3. Click "Payouts": Under Finance section
  4. 4. Click "View Transactions": Top right area (shows all payment activity)
  5. 5. Filter date range: Use the date picker to select your accounting period
  6. 6. Click "Export": Top right corner
  7. 7. Choose format: "Plain CSV" (NOT "Excel file")
  8. 8. Download immediately: Shopify generates the file instantly (no email)

💡 Trust Rail:

  • ✅ Preview is free - see the converted output before paying
  • ✅ Data not stored - your CSV is processed in memory and discarded
  • ✅ Export only after you approve - review all transactions in the preview first

Wrong Export Types to Avoid

Shopify has multiple CSV exports that look similar but have different formats:

❌ Wrong: Shopify Orders CSV

Contains order details (products, shipping, fulfillment), not payment transaction history. Export from Orders page, not Finance.

❌ Wrong: Payouts Summary CSV

Contains payout totals by date, not individual transactions. Shows amounts paid to your bank, not customer payments.

❌ Wrong: Excel file format

Shopify offers "Excel file" export option - DO NOT use this. It has different date formatting. Choose "Plain CSV" specifically.

✅ Correct: Payments Transactions CSV (Plain CSV format)

16 columns including Transaction Date, Type, Order, Amount, Fee, Net, Payout Status, Currency. Exported from Finance → Payouts → View Transactions.

Ready to convert your Shopify Payments CSV?

Upload Shopify Payments CSV to Preview Free →

Shopify Payments CSV Columns (Real Schema from Production Exports)

Shopify Payments CSV exports contain 16 columns. Here are the 7 core columns required for QuickBooks import:

Column NameDescriptionExample Value
Transaction DateTransaction timestamp with timezone2025-11-20 18:57:06 -0500
TypeTransaction category (charge, refund, dispute, etc.)charge
OrderShopify order number (if applicable)#1001
AmountTransaction amount in settlement currency (positive for charges, negative for refunds)2.00
FeeShopify Payments processing fee (stored as POSITIVE number)0.36
NetNet amount deposited (Amount - Fee)1.64
CurrencySettlement currency (3-letter ISO code, uppercase)USD

Note: Shopify exports also include 9 optional columns: Card Brand, Card Source, Payout Status, Payout Date, Available On, Checkout, Payment Method Name, Presentment Amount, and Presentment Currency. These are preserved in TrestleFinance's normalized output but not required for basic QuickBooks import.

Fee Sign Convention (Positive, like Stripe)

✓ Shopify uses POSITIVE fees (same as Stripe, opposite of Square!)

Shopify stores fees as positive numbers (e.g., $0.36) to represent the cost of processing.

This is same as Stripe (positive fees) but opposite of Square/PayPal (negative fees).

Shopify formula: Net = Amount - Fee (because fees are positive)

Square formula: Net = Gross + Fees (because fees are negative)

Identity Formula: Verified from Real Shopify Data

Example from a real Shopify Payments transaction (verified 2025-11-20):

Amount: $2.00 (revenue from customer)

Fee: $0.36 (Shopify's processing fee - stored as positive)

Net: $1.64 (what you actually receive)

Validation: $2.00 - $0.36 = $1.64 ✓

In QuickBooks journal entries, fees are recorded as positive expense amounts (debit). This is straightforward since Shopify already stores them as positive.

How TrestleFinance Converts Shopify Payments CSVs

TrestleFinance processes Shopify Payments CSV and outputs three files:

1. Normalized CSV (Universal Format)

Simplified 13-column format with standardized date, gross, fees (positive), net, currency, and transaction type. Perfect for Excel analysis or importing into other accounting software.

Columns: date, type, type_recognized, currency, gross, fees, net, refunds, disputes, reserves, source_txn_id, source_provider, source_category

2. QuickBooks Bank Transaction CSV (Recommended)

Simple 3-column format (Date, Description, Amount) that imports directly into QuickBooks via Banking → Upload Transactions. Best for most users - QuickBooks categorizes automatically.

Import path: QBO → Banking → Upload Transactions → Match transactions

3. QuickBooks Journal CSV (Advanced)

Pre-categorized double-entry journal entries with debits and credits. Requires setting up Shopify-specific accounts in QuickBooks. Best for users who want full control over revenue/expense categorization.

Import path: QBO → Transactions → Journal Entries → Import

Transaction Grouping Rules:

  • Transactions grouped by date + currency + category (Charge, Refund, Dispute, etc.)
  • Fees kept as positive expense amounts
  • Payouts automatically excluded (internal transfers, not revenue)
  • Refunds show as negative revenue (contra-revenue)
  • Unknown transaction types flagged with warning (included, not excluded)
  • Multi-currency: Uses settlement currency (Currency column), not presentment currency

Preview Walkthrough (Before You Export)

When you upload your Shopify Payments CSV to TrestleFinance, you see a full preview of the converted output before paying:

📊 Summary Tab

Shows reconciliation: Total Gross, Total Fees, Calculated Net, Actual Net, Variance (should be ≤ $0.01). Confirms the math is correct.

📋 Normalized Rows Tab

Shows all transactions in standardized format. Look for type_recognized=false to identify unknown transaction types that need manual review.

🏦 Bank Transactions Tab

Shows the 3-column format for QuickBooks bank import. Simplest option - QuickBooks will ask you to categorize each transaction during import.

📖 Journal Entries Tab

Shows double-entry journal format with debits and credits. More advanced - requires setting up Shopify Clearing, Shopify Fees, and Revenue accounts in QuickBooks.

⚠️ Warnings Tab

Shows any issues found: unknown transaction types, multi-currency mixing, or identity validation failures. Review these before exporting.

See your Shopify Payments data converted

Preview Your Shopify Payments CSV Now →

Required QuickBooks Accounts (Journal Mode Only)

If you're using the QuickBooks Journal CSV format (advanced users), you need to create these accounts in your QuickBooks Chart of Accounts:

Account NameTypePurpose
Shopify ClearingAsset (Bank)Tracks Shopify balance before payout
Shopify FeesExpenseProcessing fees charged by Shopify Payments
Sales RevenueIncomeGross revenue from sales
Sales Returns and AllowancesIncome (Contra-revenue)Refunds issued to customers
Chargeback ExpenseExpenseDisputed transactions

Note: If you're using the Bank Transaction CSV format (recommended for most users), you don't need to create these accounts. QuickBooks will handle categorization during the bank import process.

For detailed setup instructions, see our QuickBooks Bank Transaction Import Guide.

Common Errors and Fixes

Error: "Wrong CSV format - expected Payments CSV"

Cause: You exported Shopify Orders, Payouts Summary, or Excel format instead of Payments (Plain CSV)

Fix: Go to Shopify Admin → Finance → Payouts → View Transactions → Export → Choose "Plain CSV" (NOT Excel). File should have columns: Transaction Date, Type, Order, Amount, Fee, Net.

Error: "Debits and credits don't balance" (Journal Mode)

Cause: Fees were recorded incorrectly or multi-currency transactions weren't separated

Fix: TrestleFinance automatically groups by currency and calculates correct debit/credit amounts. If doing manually, ensure fees are positive debits and each currency has separate journal entries.

Warning: "Unknown transaction type: subscription_billing"

Cause: Shopify Payments has transaction types beyond basic charge/refund that TrestleFinance hasn't categorized yet

Fix: These transactions are INCLUDED in the export with a warning flag. Review them in the preview and manually categorize in QuickBooks if needed. Report unknown types to TrestleFinance for future updates.

Error: "Multi-currency not enabled in QuickBooks"

Cause: Your Shopify CSV contains multiple settlement currencies (USD, CAD, EUR, etc.) but QuickBooks multi-currency is off

Fix: Enable multi-currency in QuickBooks (Settings → Company Settings → Advanced → Currencies → Enable). Note: Once enabled, cannot be disabled. TrestleFinance groups transactions by Currency column (settlement currency).

Error: "Payouts showing as revenue"

Cause: Payout transactions (Type = payout) were not excluded from revenue calculations

Fix: TrestleFinance automatically excludes Type = payout, adjustment, and payout_failure. These are internal account movements, not customer revenue.

Error: "Presentment currency mismatch"

Cause: Trying to use Presentment Amount (what customer paid) instead of Amount (settlement currency)

Fix: Always use Amount and Currency columns (settlement), not Presentment Amount and Presentment Currency. QuickBooks import must match your bank deposits, which are in settlement currency.

Frequently Asked Questions

Are Shopify Payments fees positive or negative in the CSV?

Shopify Payments stores fees as POSITIVE numbers (e.g., $0.36) to represent the cost of processing. This is opposite of Square (which uses negative fees) but same as Stripe. Shopify formula: Net = Amount - Fee (because fees are positive).

Does Shopify refund fees when I refund a payment?

No. Shopify Payments does NOT refund processing fees when you issue a refund. The fee column shows $0.00 for refund transactions. You lose both the refunded amount AND the original processing fee. This is standard for most payment processors.

What if I accidentally exported Shopify Orders instead of Shopify Payments?

Shopify has multiple CSV exports (Orders, Payouts, Disputes, etc.). You need the "Payments" export specifically from Finance → Payouts → View Transactions. If you see columns like "Order ID" or "Fulfillment Status" instead of "Transaction Date" and "Payout Status", you exported the wrong report. Export as Plain CSV, not Excel format.

What is "Payout Status" and why does it matter?

Payout Status shows whether funds from a payment have been paid out to your bank (Paid), are waiting for payout (In Transit), or are still pending. For accrual accounting, you record revenue when Payout Status is any value. For cash accounting, only record when Payout Status = Paid.

How do I handle Shopify chargebacks in QuickBooks?

Chargebacks appear as separate rows in the Payments CSV with negative amounts. They should be recorded as contra-revenue (debit revenue, credit bank). Chargeback fees (typically $15) appear as separate fee entries. TrestleFinance automatically categorizes these correctly.

Can I import Shopify Payments CSVs directly into QuickBooks?

No. Shopify's 16-column CSV format doesn't match QuickBooks Online's journal entry import format. You need to reformat columns, handle positive fees correctly, group transactions by date, and ensure debits equal credits for each journal entry.

What about multi-currency Shopify Payments transactions?

Shopify supports 130+ currencies. Each transaction has a "Presentment Currency" (what the customer paid in) and a "Currency" (settlement currency). QuickBooks import uses the settlement currency. Make sure QuickBooks multi-currency is enabled if you process non-USD transactions.

What is the difference between "Amount" and "Presentment Amount"?

Presentment Amount is what the customer sees (e.g., £50.00 GBP). Amount is what you receive after Shopify converts to your settlement currency (e.g., $65.00 USD). For QuickBooks import, use Amount (settlement currency) to match your bank deposits.

Why does Shopify Payments CSV only have 16 columns?

Unlike Square (52 columns), Shopify keeps payment exports simple with just transaction essentials: date, type, order number, amounts, fees, payout info, and currency. This makes imports cleaner but means less detail. For full order details, combine with Shopify Orders export.

What does "Type: charge" vs "Type: refund" mean?

Type describes the transaction category. "charge" = customer payment received. "refund" = money returned to customer. "dispute" = chargeback. "payout" = transfer to your bank (excluded from revenue). There are also dispute_reversal, adjustment, and other types.

How do I export just completed transactions (not pending)?

Shopify Payments export includes all transaction statuses. Use the date range filter to export only transactions from completed payouts. Or use Payout Status = Paid filter. TrestleFinance includes all rows but flags pending transactions for review.

What if my Shopify account uses Shopify Balance instead of bank payouts?

Shopify Balance is Shopify's stored value account. Transactions export the same way - Amount and Fee columns show the amounts. When you transfer from Shopify Balance to your bank, that appears as a payout (excluded from revenue). QuickBooks import works identically.

Ready to Convert Your Shopify Payments CSV?

Upload your Shopify Payments CSV now. Preview the converted QuickBooks output free - no signup, no credit card required. Export uses 1 credit (3 free for new accounts).

Upload Shopify Payments CSV Free →

30-second preview • 100% secure • Data not stored

Frequently Asked Questions

Are Shopify Payments fees positive or negative in the CSV?

Shopify Payments stores fees as POSITIVE numbers (e.g., $0.36) to represent the cost of processing. This is opposite of Square (which uses negative fees) but same as Stripe. Shopify formula: Net = Amount - Fee (because fees are positive).

Does Shopify refund fees when I refund a payment?

No. Shopify Payments does NOT refund processing fees when you issue a refund. The fee column shows $0.00 for refund transactions. You lose both the refunded amount AND the original processing fee. This is standard for most payment processors.

What if I accidentally exported Shopify Orders instead of Shopify Payments?

Shopify has multiple CSV exports (Orders, Payouts, Disputes, etc.). You need the "Payments" export specifically from Finance → Payouts → View Transactions. If you see columns like "Order ID" or "Fulfillment Status" instead of "Transaction Date" and "Payout Status", you exported the wrong report. Export as Plain CSV, not Excel format.

What is "Payout Status" and why does it matter?

Payout Status shows whether funds from a payment have been paid out to your bank (Paid), are waiting for payout (In Transit), or are still pending. For accrual accounting, you record revenue when Payout Status is any value. For cash accounting, only record when Payout Status = Paid.

How do I handle Shopify chargebacks in QuickBooks?

Chargebacks appear as separate rows in the Payments CSV with negative amounts. They should be recorded as contra-revenue (debit revenue, credit bank). Chargeback fees (typically $15) appear as separate fee entries. TrestleFinance automatically categorizes these correctly.

Can I import Shopify Payments CSVs directly into QuickBooks?

No. Shopify's 16-column CSV format doesn't match QuickBooks Online's journal entry import format. You need to reformat columns, handle positive fees correctly, group transactions by date, and ensure debits equal credits for each journal entry.

What about multi-currency Shopify Payments transactions?

Shopify supports 130+ currencies. Each transaction has a "Presentment Currency" (what the customer paid in) and a "Currency" (settlement currency). QuickBooks import uses the settlement currency. Make sure QuickBooks multi-currency is enabled if you process non-USD transactions.

What is the difference between "Amount" and "Presentment Amount"?

Presentment Amount is what the customer sees (e.g., £50.00 GBP). Amount is what you receive after Shopify converts to your settlement currency (e.g., $65.00 USD). For QuickBooks import, use Amount (settlement currency) to match your bank deposits.

Why does Shopify Payments CSV only have 16 columns?

Unlike Square (52 columns), Shopify keeps payment exports simple with just transaction essentials: date, type, order number, amounts, fees, payout info, and currency. This makes imports cleaner but means less detail. For full order details, combine with Shopify Orders export.

What does "Type: charge" vs "Type: refund" mean?

Type describes the transaction category. "charge" = customer payment received. "refund" = money returned to customer. "dispute" = chargeback. "payout" = transfer to your bank (excluded from revenue). There are also dispute_reversal, adjustment, and other types.

How do I export just completed transactions (not pending)?

Shopify Payments export includes all transaction statuses. Use the date range filter to export only transactions from completed payouts. Or use Payout Status = Paid filter. TrestleFinance includes all rows but flags pending transactions for review.

What if my Shopify account uses Shopify Balance instead of bank payouts?

Shopify Balance is Shopify's stored value account. Transactions export the same way - Amount and Fee columns show the amounts. When you transfer from Shopify Balance to your bank, that appears as a payout (excluded from revenue). QuickBooks import works identically.

Preview Your Shopify Payments CSV Free

Upload your Shopify Payments CSV and see the converted QuickBooks output before paying. No signup required.

Upload Shopify Payments CSV