Skip to main content
2,200+ service businesses benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level

Software collection playbook

Housecall Pro: invoice and job-cost evidence

Invoice completeness and cost readiness.

By Sam Yang · Updated

Which report actually describes the jobs behind this margin?

Start with the question: calendar-period invoicing, payments received, or the lifetime economics of selected jobs. Those need different populations even when their screen totals look comparable.

Evidence basis: Saved native export sequence and job-cost review observations; current report limits and permissions must be checked.

Verify eligible objects, connector direction, trigger and current retained source population before supplementing it.

The owner wants calendar-year invoicing

Choose the relevant invoice-date population and retain invoice detail. A selected-job lifetime total needs a separate bridge to that period.

The owner wants margin on completed jobs

Keep the selected jobs and their full cost history together, then identify costs still missing. Job linkage alone cannot establish that all supplier and payroll costs arrived.

Use supported API or native report access for the required scope. A permitted browser session can collect a specific gap. Neither route proves reconciliation or complete costs.

Put the evidence to work

Why can a completed-job margin disagree with this month’s QuickBooks sales even when both reports are collected correctly?

The reports may describe different work. Invoice-date sales describe a calendar population; a selected job can include invoices and costs across several months. Start with a bridge between those populations. Then inspect the existing invoice link and the date settings before calling the difference a failed sync. A budget, entered job cost and supplier bill also have different evidentiary value.

Bridge selected jobs to calendar-period invoicing
  1. Write down the exact question: invoices dated in September, cash received in September, or lifetime economics of jobs completed in September. Freeze the intended business and basis.
  2. Using the saved October 6 collection procedure, obtain invoice detail from Home > View all invoices > Actions > Export > Send file only when email delivery is authorized. Otherwise use an owner-supplied export. Retain its filters, count and actual attachment.
  3. Collect job detail through Customers > Jobs > Actions > Export > Send file under the same delivery authorization. Keep the selected job IDs, completion dates and lifetime scope distinct from invoice dates.
  4. Attach each invoice to its source job. Partition that job’s invoices into before-period, in-period and after-period rows; do not copy the whole job value into the calendar column.
  5. For a receipt question, collect Reporting > Payments for its own period. The dated procedure observed a 365-day cap, which needs current confirmation. Review entered costs separately from payroll and supplier evidence.

Bring to the review: A job-to-invoice bridge with three date buckets, a separate receipt column and a missing-cost list. The totals explain which definition each number answers.

Then decide: Use lifetime job economics for pricing the selected work only after its costs are complete. Use the calendar bridge for accounting-period comparison.

Investigate a linked invoice that differs after a revision
  1. Retain both existing invoice identities, source totals and line details, plus the HCP QuickBooks card link where visible. Avoid searching by amount alone.
  2. Read the current trigger and invoice-date versus service-date settings. The September 3 official guide distinguishes those date treatments and simple versus progress invoicing.
  3. Compare the original linked invoice with the current HCP line items, quantities and prices. The guide says later invoice edits require a manual update push; collection does not press sync, Finish, Invoice or Pay.
  4. Check deposit and progress invoice identities separately. The invoice number may differ from the job number, so preserve the explicit links instead of assuming equality.
  5. Return a proposed change with affected fields and a before/after comparison to the owner. Require authorization before changing either system, then re-read both records.

Bring to the review: A revision exception naming the existing linked pair, changed fields, date configuration and any missing link.

Then decide: Decide whether the discrepancy is a date definition, a supported revision needing owner action, or an unresolved identity problem.

Which collection route answers this question?

Choose the route for the missing evidence and the access available in your account. The comparison below distinguishes documented coverage from coverage that still needs checking.

Supported API or connector

What it supplies
The official API overview documents a public API for MAX-plan accounts and says not every feature is exposed. The QBO guide describes invoices, payments, new customers and price-book items flowing primarily from HCP.
What still needs proof
This review does not establish endpoint-level cost history coverage, the account’s API entitlement, or a complete supplier/payroll cost population.

Choose it when: Use supported read access for recurring collection after verifying required fields and actual account permissions. Test revisions and date mapping on existing authorized evidence.

Native report export

What it supplies
The saved collection separates emailed invoice detail, emailed job detail and the generated payment report. The Invoices by date export in that procedure was a grouped summary.
What still needs proof
A requested email is not an attachment. Current menus, caps and actual exported columns need readback.

Choose it when: Prefer the complete native file when it supplies the required population. Keep original bytes and reconcile detail counts before importing.

Permitted browser collection

What it supplies
Read-only navigation can inspect job cost panels, invoice links and account configuration that explain a named discrepancy.
What still needs proof
An empty panel does not prove zero expense, and a UI observation does not certify the entire tenant’s historical population.

Choose it when: Use it for a specific missing relationship or setting, keeping the original report and the observed detail together.

Reproduce the diagnostic

One completed job, two invoice periods

All records and amounts below are fictional teaching inputs. This example demonstrates the calculation, not a customer outcome or a reproduced software defect.

The selected job has $10,000 of invoices across its lifetime, but only $6,000 falls in September. The $4,000 difference is an earlier invoice, not evidence of missing September sales. This example establishes invoicing scope, not earned revenue, cash or profit.

What the CSV columns mean
  • job_id: Fictional job identity
  • invoice_id: Fictional invoice identity
  • period_bucket: Bucket relative to September
  • amount: Invoice amount in fictional USD
Lifetime invoiced
10000 USD
Sum of both invoice rows
September invoiced
6000 USD
Only the in-period row
Outside-period difference
4000 USD
Lifetime less September invoicing
Inspect hcp-invoice-window.csv
job_id,invoice_id,period_bucket,amount
HCP-DEMO-1,INV-DEMO-A,before,4000
HCP-DEMO-1,INV-DEMO-B,in,6000
Download this CSV

Next decision: Inspect costs over the selected job’s relevant history before calculating its margin; collect payments separately for cash.

Run the example locally

Save the CSV files, expected-results.json and reproduce.mjs in one folder. With Node.js installed, run the command below. It calculates the checks from the CSV bytes and rejects a changed input or expected result.

node reproduce.mjs expected-results.json

No software login, customer records or API key is required.

When the result does not make sense

Jobs total exceeds September invoice total

Check: Check whether job revenue is lifetime while the invoice export is scoped by issue date. Also inspect the actual invoice/service date setting.

Resolve the question: Build the before/in/after-period bridge. Leave the totals labeled by population rather than inserting a balancing amount.

The original invoice synced but the edited amount differs

Check: Compare the existing linked invoice and exact changed lines. Check the supported revision behavior in the current QBO guide.

Resolve the question: Prepare the authorized update for the existing linked record. Do not create a replacement invoice during investigation.

Margin looks excellent because materials or labor are blank

Check: Distinguish blank cost from a measured zero and compare job costs with supplier bills and payroll evidence.

Resolve the question: Mark cost readiness incomplete and assign the missing evidence before using the margin to change prices.

Where automation earns its place

Good work for automation

  • Build the same job-to-invoice date bridge each month and retain the source-file counts.
  • Compare linked invoice revisions and assemble an exception packet with both existing record IDs.

Keep a person on these decisions

  • Decide the accounting basis and whether job costs are complete enough for a pricing decision.
  • Approve any update push and resolve ambiguous deposit or progress-invoice relationships.

References behind these workflows

Product documentation supports the specific scope stated beside each source. Level's diagnostic methods and fictional calculations remain distinct from vendor capabilities.

Explore the financial diagnostic examples

Collect and verify the population

Invoice detail and job detail
Retain the native identifiers and distinguish created, issued and completed dates rather than using whichever date is populated.
Payments report
Use its own date scope and tie actual receipt evidence separately from invoice value.
Entered job costs and books
Label estimates, entered labor rates, incurred costs and paid suppliers separately; a blank panel is unknown.

Collect the native invoice/job report for the same status/date population; inspect supporting job cost panels only where the missing financial fact requires it. Retain IDs and cross-check both source-to-books and books-to-source.

Dated collection sequence

Dated saved collection procedure reviewed October 6, 2026. Verify the current account, interface, permission and available reports. Menu names may differ.

  1. Verify the intended business in the rendered account context.
  2. For invoice detail, open Home > View all invoices, inspect the count and filters, then Actions > Export > Send file. Request emailed delivery only with explicit authorization; otherwise ask the owner for the existing file.
  3. For job detail, use Customers > Jobs > Actions > Export > Send file under the same delivery authorization.
  4. For payments, use Reporting > Payments, verify the date range, then Generate report. The dated observed procedure used a maximum 365-day range; verify the current limit.
  5. Treat every emailed request as pending until the actual attachment is retained. Reporting > Invoices > Invoices by date > Export is a grouped summary, not invoice detail.
  6. Keep the detail files and their individual periods separate before financial comparison.

Evidence acceptance checklist

  1. Freeze the invoice status and date population before collecting job detail.
  2. Separate expected job cost from entered, booked and paid cost.
  3. Compare source invoices with posted invoices in both directions.

Fictional collection example

A fictional job has an invoice and an expected materials budget but no supplier bill evidence. The invoice can be part of the accepted billing population. The budget cannot silently become booked materials cost or proof of profit.

Invented teaching scenario, not a customer result or a reproduced vendor defect.

Capture the setup with the evidence

  • Company, legal entity or account, report name, period, basis, currency and timezone.
  • Selected filters, status, page count, original record identifiers and control totals.
  • Collection time, source route and authorized role. Record browser and automation versions when using a browser.
  • Original files and exceptions. Keep credentials, customer identifiers and financial artifacts private.

A browser version helps reproduce an interface issue. It does not validate the financial conclusion.

Pitfalls and stop conditions

Expected cost, entered cost, booked expense and paid supplier are different. Blank cost is unmeasured. Completed jobs and WIP have different populations.

How a plausible answer can go wrong

The Invoices by date export can be a grouped summary while the emailed invoice export supplies detail. Receiving one file does not complete the invoice, job and payment bundle.

Stop if account identity, permission, cutoff or population is uncertain. Return the missing evidence for review. Do not fill the gap with an invented record, a balancing entry or an assumed zero.

Read-only AI collection prompt

Replace the bracketed scope before use. This prompt collects evidence; it does not permit edits, approvals or accounting execution. Requesting an emailed report is a separate account action and requires explicit authorization.

Collect read-only evidence for Housecall Pro to answer [financial question]. Confirm [company], [account/entity], [period], [basis], [currency] and [allowed reports]. Collect the native invoice/job report for the same status/date population; inspect supporting job cost panels only where the missing financial fact requires it. Retain IDs and cross-check both source-to-books and books-to-source. Retain original files, complete record IDs, counts, filters, collection timestamp and exceptions. Expected cost, entered cost, booked expense and paid supplier are different. Blank cost is unmeasured. Completed jobs and WIP have different populations. Stop if the source or scope is uncertain. Do not post, match, reconnect, delete or change settings. Return the evidence for financial review; do not claim the books are correct. Do not approve, submit payroll, pay, transfer, refund, send messages, invite users or accept terms. Stop at any login, MFA or credential prompt and hand back to the account owner. Store files only in [approved private location]. Do not paste customer artifacts into public tools. Use only preauthorized collection actions. Request an emailed report only when its delivery is explicitly authorized; otherwise ask the account owner to supply the file.

Next decision

What does the evidence support?

Before changing prices, ask whether the same selected jobs have complete invoices, receipts and costs, and whether that job view has been bridged to the requested accounting period.

Compare the same population, identities and cutoff. Keep unsupported costs or settlements visible before using the result for pricing, cash or close.

Open the financial acceptance guide →

Compare field-software cost, terms and finance fit

Sources and scope

Base product-reference scopes were reviewed . The collection procedure retains its own review date in the dated sequence above. Individual source rechecks are dated with their citations. Operator decision guidance was reviewed 2026-10-07. The references below support their stated product scope, not every observed interface detail. It is not a vendor capability certification, a measured customer result or an independently reconciled account. Verify current features and entitlement in the account you use.

Content revision history