[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Bill a Housecall Pro job in stages with progress invoices

> Create Housecall Pro progress invoices for a percent or fixed share of a job total, check the 100 percent cap and send them after your OK.

Source: https://cotlet.dev/integrations/housecall-pro-api-mcp-server/bill-jobs-in-stages

A kitchen remodel runs for three weeks, you want 30 percent at the start, and someone has to remember each stage, work out the amount and create the next invoice without going over the job total.

Cotlet does it in your own Housecall Pro account with get\_job, list\_invoices, create\_progress\_invoice and send\_invoice, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=housecall-pro) [All Housecall Pro tools](https://cotlet.dev/integrations/housecall-pro-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Housecall Pro do this on its own?

Housecall Pro does progress invoicing natively, but only as clicks in the web portal or app (checked 14 Oct 2026). Support must switch the feature on for some accounts, it works on new jobs only, and the public API reference documents no call to create an invoice.

## How you do it in Housecall Pro today

1. Click the gear icon at the bottom left, choose Settings > Invoices, open the Configuration tab and switch on Progressive invoicing.
2. Create a new job with all line items and the full total; progress invoicing appears only on new jobs created after the setting is on.
3. Open the job and click + Invoice, or Invoice at the top of the Job details page, then click into Details to set a percent or a fixed amount of the job total.
4. Each invoice has its own due terms and payment options, and the invoice summary table on the job shows Open, Paid or Void for each one.
5. For every later stage you repeat the same steps, checking the total already invoiced by hand so the sum stays within the job.

## How to bill a Housecall Pro job in stages with progress invoices

Prompt

```
For the Harper kitchen remodel job, create a progress invoice for 30 percent of the total, due in 14 days, and show it to me before it is sent to the customer.
```

1. 01  
### Read the job total  
get\_job returns the line items, the total and the invoices already issued on the job, so the agent knows what share is already billed before it plans the next one.
2. 02  
### Check the cap  
The agent adds the new invoice to the invoiced total and refuses anything that would pass 100 percent of the job, because Housecall Pro does not allow over-invoicing.
3. 03  
### Check the job qualifies  
If the job predates progress invoicing or the setting is off, create\_progress\_invoice returns that reason and the agent reports it instead of making a full invoice.
4. 04  
### Create the invoice  
create\_progress\_invoice issues the invoice for your percent or fixed amount with its own due date. It asks for your OK by default, because an invoice is a billing record you cannot edit afterwards, only void.
5. 05  
### Send it after your look  
send\_invoice emails or texts the invoice once you approve. The agent then reports the amount, the share billed so far and the share left.

### What you get back

Example data

```
Job job_91d3a7, Harper kitchen remodel
Job total: $8,400.00
Invoiced so far: $0.00
Created inv_4b2e8d for 30%: $2,520.00, due in 14 days
Total invoiced after this one: 30% of the job
Left to bill: $5,880.00
Not sent yet, waiting for your OK
```

### Other ways to ask

- Create a fixed progress invoice of $1,500 for the Garcia deck job and send it to the customer by email.
- Every Friday, list active jobs with less than 100 percent invoiced and draft the next stage invoice for each one.
- Show me the invoice summary for the Harper job with each stage and its status, and do not create anything.
- Bill the final 40 percent of the Harper job and tell me the amount left to bill afterwards.

## What Housecall Pro allows, and what to know first

- Progressive invoicing is switched on under Settings > Invoices > Configuration and applies only to jobs created after it is enabled.
- A progress invoice can be for a percent or a fixed amount of the job total, and you cannot invoice more than 100 percent of the job.
- After a progress invoice is created you can add attachments and change payment options, but not the amount or the due date; a major correction means voiding it and creating a new one.
- A void is shown as the Voided status, which is only visible when progress invoicing is in use.
- If Progressive invoicing is not in your settings, Housecall Pro tells you to chat with Support to get access.

create\_progress\_invoice and send\_invoice ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.

Sources: [Housecall Pro Help: Progress Invoicing Basics and FAQs](https://help.housecallpro.com/en/articles/8142156-progress-invoicing-basics-and-faqs) · [Housecall Pro Help: Invoice List View](https://help.housecallpro.com/en/articles/8959660-invoice-list-view) · [Housecall Pro Help: How to Create a Job](https://help.housecallpro.com/en/articles/3181752-how-to-create-a-job)

## Call create\_progress\_invoice from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/housecall-pro/jobs/job_91d3a7/progress-invoices \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"percent":30,"due_in_days":14}'
```

Example response

```
{
"invoice_id": "inv_4b2e8d",
"job_id": "job_91d3a7",
"status": "open",
"amount": 2520,
"percent": 30,
"due_date": "2026-10-28",
"invoiced_total": 2520,
"left_to_bill": 5880
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is housecall\_pro\_write → create\_progress\_invoice. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/housecall-pro-api-mcp-server.md#automations)

## Housecall Pro tools this automation uses

__Cotlet Housecall Pro tools used to bill a Housecall Pro job in stages with progress invoices__
| Tool | Parameters |
| ------------------------- | -------------------------------------------------------- |
| get\_job | job\_id |
| list\_invoices | status, filter, customer\_id, due\_before, limit, cursor |
| create\_progress\_invoice | job\_id, percent, amount, due\_in\_days |
| send\_invoice | invoice\_id, channels, to, subject, message |

[All 15 Housecall Pro tools with descriptions](https://cotlet.dev/integrations/housecall-pro-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Housecall Pro to Cotlet?

Yes. You sign in to Housecall Pro yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Housecall Pro once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Housecall Pro automations

- [Send Housecall Pro estimates with good, better, best options](https://cotlet.dev/integrations/housecall-pro-api-mcp-server/send-multi-option-estimates.md)
- [Chase past-due Housecall Pro invoices](https://cotlet.dev/integrations/housecall-pro-api-mcp-server/chase-past-due-invoices.md)
- [Housecall Pro API and MCP server: every tool](https://cotlet.dev/integrations/housecall-pro-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Housecall Pro.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Housecall Pro.

[Sign up free](https://cotlet.dev/app/signup?app=housecall-pro)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
