Export HVAC Field-Service Data for QuickBooks or Xero
Shop for hvac accounting software and you are really shopping for two things: something to run the trucks, and something to run the books. Opsler is the first, built so the second stops being a reconstruction job. Every call, work order, part and invoice lands in one place, and at the end of the week you download a QuickBooks-formatted or Xero-formatted CSV carrying every invoice you raised and every payment you took against it.
Nothing to authorise, nothing running in the background, nothing landing in your ledger until you decide it should. You pick a date range, read the preview count, download, upload — roughly a minute a week. And you can size the fit before you spend a dollar, because this page publishes all thirteen QuickBooks columns, all twelve Xero ones, the exact import path at each vendor and a redacted sample of both files.
- 13
- QuickBooks columns
- 12
- Xero columns
- $25
- per seat, per month
- 14 days
- free trial, no card
HVAC Operations Software vs Full Accounting Software
An accounting product owns the money once it exists. An HVAC operations system owns everything that produced it — who got dispatched, what came off the van, which tier the customer approved, what the technician actually clocked. Accounting packages sold into this trade advertise invoicing, expenses, payroll, job costing and financial reports, and not one of them dispatches a truck, raises a work order or knows what is left on the shelf. That is the whole split, and it is why almost every shop over two vans ends up running one of each.
So when someone shopping for hvac bookkeeping software asks whether Opsler can be their books, the useful answer is that it feeds them. Its job is to make sure that by the time your bookkeeper opens the file, nobody is reconstructing a Tuesday service call from a photo of a handwritten ticket. Here is the division of labour, line by line, before you commit to anything.
| 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 export comes out clean because nothing was ever typed twice. Your HVAC accounting workflow starts the moment a customer picks a tier, and the same numbers carry all the way to the file your bookkeeper opens — no re-keying, no second spreadsheet, no “what did we actually charge for that condenser?” on a Friday afternoon. 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 tier they chose converts. Pick Good and the Better and Best lines are left behind; pick Better and Good plus Better carry across. You never bill a tier the customer declined.
Stays in Opsler
Job created
Those approved lines land on the job as a draft invoice, all editable, each carrying its own tax rate. A note on the job names the source proposal and the tier they picked, so the argument never happens.
Stays in Opsler
Job completed
Your technician finalises the draft with the parts actually used and whatever else they found on the roof. Numbering runs INV-YYYYMM-0001, sequential within the month, so a gap is visible at a glance.
Stays in Opsler
Invoice and payment
The finished invoice, its line items and every payment recorded against it. These are the two record types the accounting export reads, and it reads all of them.
Goes in the file
How that invoice gets built, reviewed, sent and paid is a workflow in its own right, and it has its own page: HVAC invoicing. Everything below assumes the invoice already exists.
Capture Labor, Parts and Job Profitability
You should know whether a rooftop call cleared its cost before you quote the next one. HVAC job costing in Opsler is deliberately narrow and it answers exactly that, from figures your technician already recorded — clocked minutes and the parts that came off the van. Nobody re-keys a timesheet to find out.
invoice revenue − labor cost − material cost = gross profit
gross profit ÷ invoice revenue = margin
Labor costs itself
Recorded minutes on the job clock divided by 60, times that technician's own hourly rate. Send two people to one rooftop unit and each is costed at their own rate, automatically. The job clock is a Pro feature.
Parts cost what you paid
Parts used on the job at cost price times quantity — what you paid, not what the customer paid — and stock comes off the warehouse, truck or van location it was actually pulled from.
Read it for what it is
This is direct gross profit: overhead, payroll burden, vehicle and fuel cost and work in progress are not modelled, and it is not an audited figure. Useful for pricing decisions on Monday, not for filing in April.
Cost and margin show up as period totals on the revenue dashboard rather than as a margin line on the individual job record, and none of it travels in the accounting file — the CSV carries invoice and payment rows only. Costing is yours to run the business on, not your accountant’s to reconcile.
Where parts sit across warehouse, truck and van locations drives the cost figure, and the full HVAC job costing model lives on per-job profitability.
Which Records Are Available in the QuickBooks and Xero Exports
One question decides the fit, so here is the answer with nothing wrapped around it. The QuickBooks HVAC CSV and the Xero HVAC CSV read the same two record types — invoices and the payments recorded against them — and they read every one of them in your date range. The rest of what Opsler knows stays in Opsler, which is where it earns you money anyway.
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 whatever else your accountant runs. Pick invoices, payments, or both; a date range from This Month, Last Month, This Quarter, Last Quarter, This Year or a custom span; and a status filter of all, paid only, or unpaid only. Chasing what has not landed yet takes two clicks.
What it costs
The accounting export screen — both branded formats, the record preview and the Xero account codes — comes with Pro at $25 per seat per month, no seat minimum, 14-day trial, no card. There is no tier above it and no accounting add-on to buy later. The free Budding plan has an export of its own: your customer list as CSV.
Room to grow into
A single request pulls up to 1,000 invoices before narrowing to your dates. A shop turning a few hundred calls a month will never see the edge of that working month by month.
Review the Exported Fields and CSV Format
Nobody should have to buy the software to find out what the file looks like. Every HVAC accounting CSV export writes one row per line item, so a three-line condenser repair arrives as three rows sharing an invoice number and repeating the invoice total. Below are both header rows exactly as they are written, and the same real repair in each format — show them to your bookkeeper this afternoon.
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; matching runs on the name.
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; matching runs on the name.
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, about a minute of your week. The accounting CSV import step happens entirely inside your accounting product, on the vendors’ own published paths.
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.
Your accounting login stays yours. Opsler never signs in on your behalf, nothing is authorised and nothing is stored, which also means there is no connection to re-authorise at the worst possible moment and no vendor sitting between you and your own numbers. 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.
QuickBooks Online and Xero import paths and limits read from those vendors’ own published documentation, 3 August 2026.
Reconcile, Correct and Re-export
A file-based handoff puts you in charge of what reaches the ledger and when — and it makes your accounting software the gatekeeper, which is exactly the job it was built for. HVAC accounting reconciliation here comes down to four short habits, and the two you would worry about most are already covered: Xero refuses an invoice number it already holds, and QuickBooks Online makes you approve a summary before a single row is written.
Correct upstream
Fix the invoice in Opsler and export it again. Opsler stays the version of record, so the numbers your technicians produced are the numbers your ledger ends up holding.
Let the ledger catch repeats
Xero will not accept a second invoice carrying a number already in the books, and QuickBooks Online puts a summary in front of you before anything is written. Between them, a double-counted July is very hard to achieve.
Reconcile on the totals
The preview gave 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, and takes seconds to find.
Log the range
Write down the dates you exported. Four seconds, and it is what makes next week's export start exactly where this one stopped.
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, about as long as a coffee, and your books are never more than five days behind your trucks.
- 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 describes 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 tell you how the month is running while you can still do something about it. Your accounting system tells you what the month was. You want both, and you want the first one on a Wednesday.
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, any date range you like.
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 to raise.
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, whenever you want them, with nobody to ask. How that data is stored and handled is set out in the privacy policy.
Payroll, Tax, Ledger Limitations and FAQs
Here is the edge of the product in one place, so your accountant can sign off on the plan in five minutes. Opsler is the operations half of your HVAC accounting stack. The ledger half stays exactly where it is — and that is the selling point, not the caveat, because you are buying dispatch and job costing without migrating your books to get them. There is no sync in either direction, at any interval: the transfer is a file you download and upload on your own schedule.
Where Opsler stops and your ledger starts
- Syncing, in either direction and at any interval — the transfer is a file you move, when you say so
- Payroll runs, and calculating or filing payroll tax
- Sales tax rates for an address, filing and remittance
- The chart of accounts, the general ledger and journal entries
- Bank feed reconciliation and your financial statements
- QuickBooks Desktop and Enterprise IIF files — the branded export is written for QuickBooks Online
- Duplicate detection and import retries — your ledger runs that check, and runs it well
Opsler runs the business, not the equipment
Everything on this page is the commercial side of HVAC service work: the calls, the crew, the parts, the money. Manual J and load calculations, duct design and CAD, equipment diagnostics, Bluetooth probe analysis and equipment control are a different toolbox, and they sit alongside Opsler rather than inside it.
Want the export in more detail before you decide? The accounting CSV export page goes column by column, and Opsler pricing is one number you can check against what your current stack costs you.
HVAC accounting FAQ
Does Opsler replace payroll, tax filing or the general ledger?
No, and you would not want it to. 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, where they already work. 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, so the columns land where Intuit expects them with no re-mapping. QuickBooks Desktop and Enterprise use a different import tool and expect a different file; on Desktop, take the generic CSV and map it once, or hand your bookkeeper the summary and let them post it.
Why is the email column empty in every file?
Because Opsler leaves it empty on purpose. Both branded formats reserve a customer email column — CustomerEmail in the QuickBooks file, EmailAddress in the Xero file — and contact matching happens on the customer name instead. Practical upshot: spell the customer name in Opsler the way your ledger spells it and the rows land exactly where you expect them, every time.
What happens if I export the same month twice?
Opsler will rebuild the file without complaint, because it keeps no record of which ranges you have already downloaded. Your accounting software is the backstop and it is a good one: Xero rejects a repeat invoice number outright, and QuickBooks Online makes you approve a summary before anything is written. 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 — no seat, no licence, no extra bill. 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 and nothing to negotiate.
One price, one product, dispatching this week
The accounting export, the job costing, the dispatch board and the van stock are the same product at the same number: $25 per seat per month, no seat minimum, nothing held back for a bigger plan. Your sixth hire costs $25, not an upgrade. Pick HVAC when you sign up and the account already speaks it — service calls, maintenance agreements, Good-Better-Best templates and 20+ price-book items you edit rather than build, so the first invoice goes out days after you start, not months.
Start the 14-day trial without a card. Or run two people on the free Budding plan — 2 seats, 50 jobs a month, unlimited customers — for as long as you like, and move up when the accounting export is worth the $25 to you.
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.