Export HVAC Field-Service Data for QuickBooks or Xero
Most searches for HVAC accounting software are really two questions wearing one coat. Who runs the trucks, and who runs the books. Opsler answers the first. It writes a QuickBooks-formatted or Xero-formatted CSV holding the invoices you raised and whatever you recorded as collected against them, and you upload that file yourself.
There is no connection to authorise and no background transfer. Nothing reaches your ledger until a person chooses a date range, opens the file and imports it. This page lists every column in both formats, what is not in them, and the exact import path at each vendor, so you can check the fit before you commit a month of billing to it.
HVAC Operations Software vs Full Accounting Software
The two categories rank against each other for the same query and they are not substitutes. FreshBooks names invoicing, expenses, payroll, job costing, financial reports and time tracking on its HVAC page, and names no technician scheduling, no dispatch, no work orders and no van stock — checked 3 August 2026 on their own page. That is the shape of the split. An accounting product owns the money once it exists; an HVAC operations system owns everything that produced it.
So when someone shopping for HVAC bookkeeping software asks whether Opsler can be their books, the honest answer is no, and it is not trying to be. It is trying to be the thing that stops your bookkeeper reconstructing a service call from a photograph of a handwritten ticket.
| Responsibility | Opsler | QuickBooks, Xero or your accountant |
|---|---|---|
| Booking the call and assigning the truck | ||
| Work order, checklist, photos and customer signature | ||
| Good-Better-Best estimate and the customer approval | ||
| Parts pulled from a van, truck or warehouse location | ||
| Technician hours on the job clock | ||
| Building the invoice and recording what was collected | ||
| Chart of accounts, journals and the general ledger | ||
| Bank feeds and bank reconciliation | ||
| Payroll runs, employer taxes and benefits | ||
| Sales tax filing and remittance | ||
| Profit and loss, balance sheet and year end |
Move from Estimate to Job to Invoice
The HVAC accounting workflow only holds together if each record inherits from the one before it. Here is what exists at each stage, and which of it the export can see.
Estimate approved
On a Good-Better-Best proposal, only the chosen tier converts: pick Good and the Better and Best lines are left behind; pick Better and Good plus Better carry across.
Stays in Opsler
Job created
Approved line items become a draft invoice on the job, all editable, each carrying its own tax rate. A note on the job names the source proposal and the tier the customer picked.
Stays in Opsler
Job completed
The draft is finalised with the parts actually used and any extras found on site. Numbering runs INV-YYYYMM-0001, sequential within the month.
Stays in Opsler
Invoice and payment
The finished invoice, its line items and every payment recorded against it are the only records the accounting export reads.
Goes in the file
How that invoice is built, reviewed, sent and paid is a workflow in its own right, and it belongs on the HVAC invoicing page rather than this one. Everything below assumes the invoice already exists.
Capture Labor, Parts and Job Profitability
HVAC job costing in Opsler is deliberately narrow. It answers whether a call cleared its direct cost, and it does that from figures the technician already recorded rather than from anything you re-key.
invoice revenue − labor cost − material cost = gross profit
gross profit ÷ invoice revenue = margin
Labor cost
Recorded minutes on the job clock divided by 60, multiplied by that technician's own hourly rate. Two technicians on one rooftop unit are costed separately at their own rates. The job clock is a Pro feature.
Material cost
Parts used on the job at their cost price times quantity, not the price the customer paid. Stock comes off the warehouse, truck or van location it was pulled from.
What is not in it
Overhead, payroll burden, vehicle and fuel cost, and work in progress are not modelled. This is direct gross profit, not a job-cost ledger, and it is not an audited figure.
Worth knowing before you plan around it: cost and margin appear as period totals on the revenue dashboard, not as a margin figure on the individual job record. And none of it goes in the accounting file — the CSV carries invoice and payment rows only. Costing stays in Opsler.
Where parts sit across warehouse, truck and van locations determines the cost figure, and the wider costing model is covered on per-job profitability.
Which Records Are Available in the QuickBooks and Xero Exports
This is the question that decides fit, so here it is without hedging. The QuickBooks HVAC CSV and the Xero HVAC CSV read the same two record types. Everything else in Opsler stays in Opsler.
What the export reads
- Invoices, one row per line item
- Payments recorded against those invoices
- Jobs, work orders and checklists
- Estimates, including unapproved tiers
- Technician hours and job clock entries
- Parts stock levels and location transfers
- Warranty records and photos
- Customers as a contact list
Three formats, one screen
QuickBooks Online, Xero, or a generic CSV for anything else. You choose invoices, payments, or both; a date range from This Month, Last Month, This Quarter, Last Quarter, This Year or a custom span; and an invoice-status filter of all statuses, paid only, or unpaid only.
Which plan
The accounting export screen — both branded formats, the record preview and the Xero account codes — is a Pro feature at $25 per seat per month, no seat minimum, with a 14-day trial that does not ask for a card. The free Budding plan has one export of its own: the customer list as CSV.
A practical ceiling
A single request pulls a maximum of 1,000 invoices and then narrows them to your dates. A shop turning a few hundred calls a month will never touch that ceiling working month by month.
Review the Exported Fields and CSV Format
Every HVAC accounting CSV export writes one row per line item, so a three-line condenser repair becomes three rows sharing an invoice number and repeating the invoice total. Below are the headers exactly as the files are written.
QuickBooks Online — invoices (13 columns)
InvoiceNoCustomerCustomerEmailInvoiceDateDueDateItem(Description)Item(Qty)Item(Rate)Item(Amount)TaxAmountTotalStatusPaidDateQuickBooks Online — payments (7 columns)
PaymentDateCustomerAmountPaymentMethodReferenceNoAppliedToInvoiceMemo- Dates are written MM/DD/YYYY.
- Status maps to Paid, Partially Paid, Void, or Unpaid for everything else.
- TaxAmount is the tax on that line, not on the invoice.
- CustomerEmail is written as an empty column.
Xero — invoices (12 columns)
*ContactNameEmailAddress*InvoiceNumber*InvoiceDate*DueDateDescription*Quantity*UnitAmount*AccountCodeTaxTypeTaxAmountTotalXero — payments (6 columns)
*Date*AmountReference*CodePayeeDescription- An asterisk is Xero’s own marker for a required field.
- Dates are written YYYY-MM-DD.
- AccountCode carries your Sales Account Code, 200 unless you change it; the payment file’s Code carries your Bank Account Code, 090 by default.
- TaxType carries your own tax name, or NONE when the line has no tax.
- EmailAddress is written as an empty column.
QuickBooks format, redacted sample
InvoiceNo,Customer,CustomerEmail,InvoiceDate,DueDate,Item(Description),Item(Qty),Item(Rate),Item(Amount),TaxAmount,Total,Status,PaidDate
INV-202607-0118,Northside Facilities,,07/22/2026,08/05/2026,Condenser Fan Motor 1/3 HP,1,214.00,214.00,17.66,742.41,Paid,07/24/2026
INV-202607-0118,Northside Facilities,,07/22/2026,08/05/2026,Dual Run Capacitor 45/5,1,48.00,48.00,3.96,742.41,Paid,07/24/2026
INV-202607-0118,Northside Facilities,,07/22/2026,08/05/2026,Rooftop Unit Service Labor,3,145.00,435.00,23.79,742.41,Paid,07/24/2026Xero format, same invoice
*ContactName,EmailAddress,*InvoiceNumber,*InvoiceDate,*DueDate,Description,*Quantity,*UnitAmount,*AccountCode,TaxType,TaxAmount,Total
Northside Facilities,,INV-202607-0118,2026-07-22,2026-08-05,Condenser Fan Motor 1/3 HP,1,214.00,200,TX Sales Tax 8.25%,17.66,742.41
Northside Facilities,,INV-202607-0118,2026-07-22,2026-08-05,Dual Run Capacitor 45/5,1,48.00,200,TX Sales Tax 8.25%,3.96,742.41
Northside Facilities,,INV-202607-0118,2026-07-22,2026-08-05,Rooftop Unit Service Labor,3,145.00,200,TX Sales Tax 8.25%,23.79,742.41Sample data. The customer name and figures are illustrative; the header rows and the empty email column are exactly what the files contain.
Export from Opsler and Import Manually
Three screens, no credentials shared between them. The accounting CSV import step happens entirely inside your accounting product, on paths published by those vendors and checked on 3 August 2026.
In Opsler
- Open Reports, then Accounting Export
- Choose QuickBooks Online, Xero or generic CSV
- Set the date range and the invoice-status filter
- Choose invoices, payments, or both
- Read the preview line: it counts the invoices and payments and totals each
- On a first Xero export, enter your Sales and Bank account codes
- Download the file
In QuickBooks Online
- Settings, then Import data, then Invoices
- Upload the file and map the columns
- Review the import summary
- Confirm, then spot-check two invoices against Opsler
Intuit’s own limits: no more than 100 invoices in one import, up to 1,000 rows per spreadsheet, and negative charges such as discounts or credit memos cannot be imported.
In Xero
- Sales, then Invoices, then Import
- Browse to the file and import it
- Approve the drafts — imported invoices arrive as drafts
- Spot-check totals and tax
Xero recommends no more than 500 items per file, and treats ContactName and InvoiceNumber as the only truly required columns.
Opsler never signs in on your behalf. Nothing is authorised, nothing is stored, and nothing moves between the two systems unless a person uploads a file. If the columns do not line up with the way your chart of accounts is built, tell us before you run a full month through it — ask us about your accounting setup.
Reconcile, Correct and Re-export
HVAC accounting reconciliation with a file-based handoff is a human process, and pretending otherwise is how shops end up with a double-counted July. Opsler has no duplicate detection, no retry log and no conflict resolution, because there is no connection for any of those to run on.
Correct upstream
Fix the invoice in Opsler and export it again. An edit made only in the ledger will never come back the other way, and the two records drift from that moment on.
Let the ledger catch repeats
Xero will not accept a second invoice carrying a number already in the ledger, and QuickBooks Online puts a summary in front of you before anything is written. Between them they cover most of what a duplicate export would cause.
Reconcile on the totals
The preview told you the invoice count and the invoice total before you downloaded. Compare that pair against what landed. A gap almost always means an overlapping or missing date range.
Log the range
Write down the dates you exported. It takes four seconds and it is the only record anywhere of what has already been handed over.
Run a Weekly HVAC Bookkeeping Handoff
An HVAC bookkeeping workflow that runs weekly beats one that runs at quarter end, because a technician can still remember a Tuesday call and cannot remember a Tuesday in March. Six steps, roughly a coffee’s worth of time.
- 1Clear anything sitting in the invoice approval queue so the week is finalised
- 2Check that payments collected in the field are recorded against their invoices
- 3Set the date range to the week just gone and read the preview counts
- 4Download the file in your accounting format
- 5Import it yourself, or send it to whoever keeps the books
- 6Note the range you exported so next week starts where this one stopped
This is a description of a software workflow, not accounting, tax or financial advice. How the imported figures should be coded is a question for your accountant.
Reports, Exports and Data Ownership
The HVAC reports in Opsler are operational reporting, not financial statements. They tell you how the month is running; your accounting system tells you what the month was.
Revenue dashboard
Total revenue for the period with the paid amount and job count beside it, gross field profit with its margin, pending amount with the tax collected, and average ticket size broken into labor and materials.
Revenue CSV
A month-by-month file: total, paid and pending revenue, invoice counts, total tax, and revenue split into parts, labor, service and custom. Twelve columns, downloadable for any date range.
Customer list CSV
Name, phone, email, address, alternate phone and notes. Free on every plan including Budding, with no support ticket and no export request.
Who can pull an export
The account owner, and Office Staff, who hold Reports read and export by default. Field agents have no reports permission at all, so nobody is downloading your invoice history from the front seat of a van. Office Staff is itself a Pro role.
Your records stay yours
Invoices, payments and customers come out as ordinary CSV files you generate yourself. How that data is stored and handled is set out in the privacy policy.
Payroll, Tax, Ledger Limitations and FAQs
Read this section before you buy rather than after. It is the shortest route to deciding that Opsler is the wrong tool for what you need, which is a better outcome for both of us than finding out in September.
Opsler does not do these
- Sync with QuickBooks or Xero in any direction, at any interval
- Run payroll, or calculate and file payroll tax
- File or remit sales tax, or work out the right rate for an address
- Hold a chart of accounts, a general ledger or journal entries
- Reconcile a bank feed or produce financial statements
- Produce a QuickBooks Desktop or Enterprise IIF file
- Detect duplicates, retry a failed import or resolve a conflict
And it is not an engineering tool
Opsler runs the business side of HVAC service work. It does not perform Manual J or load calculations, duct design or CAD, equipment diagnostics, Bluetooth probe analysis, or any form of equipment control. If you need those, you need them alongside Opsler rather than from it.
If you are still comparing full accounting products rather than choosing an operations system, start with what the export actually contains on the accounting CSV export page, then check the Opsler pricing against what your ledger already costs you.
HVAC accounting FAQ
Does Opsler replace payroll, tax filing or the general ledger?
No. Opsler is the operational record of what your technicians did and what you billed for it. Payroll runs, payroll tax, sales tax filing and remittance, the chart of accounts, the general ledger, bank reconciliation and your financial statements all stay in QuickBooks, Xero or with your accountant. The only thing that crosses between them is a CSV file you download and upload yourself.
Which QuickBooks product is the file written for?
QuickBooks Online. The option in Opsler is labelled QuickBooks Online and the thirteen headers are written against the QuickBooks Online invoice import. QuickBooks Desktop and Enterprise use a different import tool and expect a different file, and Opsler does not produce an IIF file for them. On Desktop, take the generic CSV and map it, or hand your bookkeeper the summary.
Why is the email column empty in every file?
Because Opsler writes it empty. Both branded formats reserve a customer email column — CustomerEmail in the QuickBooks file, EmailAddress in the Xero file — and neither is populated today. Contact matching happens on the customer name instead, so keep the name in Opsler spelled the way your ledger spells it and the rows land where you expect.
What happens if I export the same month twice?
Opsler will rebuild it without complaint. It keeps no record of which ranges you have already downloaded, so the discipline lives with you and with your accounting software: Xero rejects a repeat invoice number outright, and QuickBooks Online makes you approve a summary first. Keep your date ranges from overlapping and this stays a non-event.
Can my bookkeeper handle the import without an Opsler login?
Yes, and that is the usual arrangement. Somebody in the office runs the export and emails the file on. If you would rather the bookkeeper pull it themselves, they need a seat with Reports permissions, which is $25 per seat per month on Pro with no seat minimum.
Explore HVAC Software by Workflow
Each page covers one part of the HVAC operation in depth, with the same verified product detail.
HVAC Software Overview
The full service workflow, booking to payment
HVAC Business App
Office and technician app, offline field work
HVAC CRM
Customers, service history and warranties
HVAC Dispatch
Scheduling board and service-call assignment
HVAC Estimates
Good-Better-Best proposals and approval
HVAC Invoicing
Job-to-payment billing and portal delivery
HVAC Maintenance
Preventive visits, and the agreement boundary
HVAC for Small Business
Cost, setup and fit for small teams
Ready to Run Your Business Without the Chaos?
Scheduling, dispatch, estimates, invoicing, customer portal, and a free branded website — start completely free, upgrade to Pro when you scale.
Free forever on the Budding plan. No credit card required.