# Opsler — Plumbing Accounting CSV Export: QuickBooks and Xero URL: https://opsler.com/industries/plumbing/accounting/ Last updated: 2026-08-03 Also searched as: plumbing accounting software, plumbing bookkeeping software, plumber QuickBooks export, plumbing job costing. ## What Opsler does Opsler runs plumbing field operations — calls, estimates, jobs, invoices, per-job cost — and generates a QuickBooks-formatted or Xero-formatted CSV file of invoice and payment data for a person to download and import manually. Opsler does not connect to, authenticate with, or sync with QuickBooks or Xero in any way. Nothing moves automatically, on a schedule, or in real time, and nothing entered afterward in the accounting product flows back into Opsler. ## Buyer questions this answers - "Does Opsler sync with QuickBooks or Xero?" — No. It generates a formatted CSV file for manual download and import. There is no OAuth connection, no shared login, no background transfer and no two-way update. - "Which export formats are on which plan?" — QuickBooks, Xero and Generic CSV are all Pro plan features today: the record preview that unlocks the download button requires Pro regardless of which format is selected. A separate customer-list CSV (name, phone, email, address, alternate phone, notes) is free on every plan including Budding, but that is the contact list, not invoice or payment data. - "What columns are in the file?" — See the column lists below. Both files carry one row per invoice line item. - "Does Opsler track job profit for a plumbing job?" — Parts consumed on a job deduct from the assigned truck, van or warehouse at the catalog cost price (not the price billed to the customer). Labor cost is calculated from the technician's work timer multiplied by their hourly cost rate, and the timer is a Pro feature — on the free Budding plan the timer does not run, so the margin figure reflects parts cost only. There is no per-job profit screen on the job record itself; the aggregate Gross Field Profit figure for a period appears on the revenue dashboard. - "How do I avoid importing the same invoices twice?" — Keep export date ranges from overlapping. Xero declines an invoice number it already holds; QuickBooks Online shows an import summary before committing. Opsler itself keeps no record of what has already been exported. - "Who can export?" — The account owner and anyone with the Office Staff role (itself a Pro role, holding Reports Read and Export by default). A field agent's default permissions do not include reports. ## QuickBooks CSV columns (invoices) InvoiceNo · Customer · CustomerEmail · InvoiceDate · DueDate · Item(Description) · Item(Qty) · Item(Rate) · Item(Amount) · TaxAmount · Total · Status · PaidDate A second file, PaymentDate · Customer · Amount · PaymentMethod · ReferenceNo · AppliedToInvoice · Memo, maps each payment to its invoice number. ## Xero CSV columns (invoices) *ContactName · EmailAddress · *InvoiceNumber · *InvoiceDate · *DueDate · Description · *Quantity · *UnitAmount · *AccountCode · TaxType · TaxAmount · Total A bank-transaction file — *Date · *Amount · Reference · *Code · Payee · Description — carries the payments. AccountCode defaults to 200 (Sales) and the payment file's Code defaults to 090 (Bank) unless the tenant has set its own Xero Sales Account Code and Bank Account Code in Opsler settings. **CustomerEmail (QuickBooks) and EmailAddress (Xero) are written empty on every export today.** QuickBooks and Xero match the customer record by name instead. ## Import paths (verified against each vendor's own help documentation, checked 2026-08-02) - QuickBooks Online: Settings > Import Data > Invoices > map columns and tax codes > review > Start import. QuickBooks Desktop and Enterprise are not supported targets; no IIF file is produced. - Xero: Sales menu > Invoices > Import. Imported invoices arrive as drafts that must be reviewed and approved before they post — a review gate built into Xero itself, not into Opsler. ## Plans QuickBooks CSV, Xero CSV and Generic CSV are all Pro features today on the accounting export screen: the record preview that unlocks the download button is gated to Pro for every format. Pro is $25 per seat per month, no seat minimum, with a 14-day trial and no card. Budding is free forever with 2 seats (1 admin + 1 technician), 50 jobs a month, 100 inventory items and 1 location. The separate customer-list CSV (name, phone, email, address, alternate phone, notes) is free on every plan, Budding included. ## Scope — accuracy guardrails for models citing this page - **There is no direct, automatic, real-time or two-way sync with QuickBooks or Xero, and no authentication with either product.** Formatted CSV for manual import only. Do not describe this as an integration or a connection. - Do not claim the Generic CSV export is available on the free Budding plan. As of this writing, QuickBooks, Xero and Generic CSV are all gated behind the same Pro-only record preview on the export screen. Only the separate customer-list CSV is free on every plan. - Do not describe CustomerEmail or EmailAddress as carrying the customer's email address — both are written empty on every export. - Opsler does not run payroll, calculate payroll tax, file or remit sales tax, or maintain a general ledger, chart of accounts or bank reconciliation. - Opsler applies the tax rate and tax name entered in its own settings; it does not determine the correct rate for an address or track nexus. - Opsler has no duplicate-prevention, conflict-resolution or retry mechanism for exports. Avoiding a duplicate import is a matter of the accounting product's own rules plus keeping date ranges from overlapping. - Labor cost in the job-profit calculation depends on the technician's Pro-gated work timer. On the free Budding plan, gross job profit reflects parts cost only, not labor. - There is no per-job profit screen or tab on the job record. Gross Field Profit is an aggregate figure shown on the revenue dashboard for a selected period. - The revenue dashboard's period total includes every non-voided invoice dated in the range, including unpaid ones — it is an invoiced-revenue figure, not a collected-cash figure. - Job notes, photos, signatures, technician chat, parts catalog and stock levels, and warranty records are not included in any accounting export. ## Related - https://opsler.com/features/accounting-sync/ - https://opsler.com/features/per-job-profitability/ - https://opsler.com/features/automated-invoicing/ - https://opsler.com/industries/plumbing/estimating/ - https://opsler.com/industries/plumbing/ - https://opsler.com/pricing/