Skip to main content
INC

Invoice CRUD

Invoices & Estimates · Intermediate · Updated March 2026

Create, read, update, and delete invoices with line items, taxes, and payment terms for billing workflow automation.

Invoice CRUD gives you full programmatic control over the invoicing system in GHL. Create invoices with line items, update them as scope changes, delete drafts, and retrieve invoice data for reporting. This is the core of automated billing workflows.

What This MCP Tool Does

This tool handles the complete lifecycle of invoice records. Create professional invoices with line items, taxes, and payment terms. Update invoices before sending. Delete draft invoices. List and search across all invoices in the sub-account. Every billing automation starts here.

Endpoint Reference

Create an invoice: POST /invoices Create a new invoice with contact association, line items, taxes, and payment terms.

Get an invoice by ID: GET /invoices/{invoiceId} Retrieve the full invoice record including line items, totals, and payment status.

Update an invoice: PUT /invoices/{invoiceId} Modify invoice details. Only applicable to draft or unpaid invoices.

Delete an invoice: DELETE /invoices/{invoiceId} Remove a draft invoice. Sent invoices should be voided instead through Invoice Operations.

List all invoices: GET /invoices Retrieve all invoices with filtering by status, date, and contact.

Authentication

Requires a Private Integration Token (PIT) with the invoices scope enabled.

Key Parameters

When creating an invoice:

  • contactId — the customer being billed
  • items — array of line items with description, quantity, and unit price
  • dueDate — payment due date
  • title — invoice title or reference
  • discount — invoice-level discount (optional)
  • taxRate — applicable tax percentage

Important Notes

Invoices and orders are different objects in GHL. Orders come from checkout flows; invoices are direct billing instruments. They share the product catalog but serve different purposes.

Always generate invoice numbers through Invoice Number Gen to maintain sequential numbering. Manually assigned numbers risk duplicates.

For agencies automating client billing, the typical pattern is: deal moves to “won” in the pipeline, automation creates an invoice via this endpoint, then sends it via Invoice Operations.

Common Questions

Can I create an invoice with products from the catalog? Yes. Reference product IDs in line items to pull in catalog pricing. You can also create ad-hoc line items with custom descriptions and amounts.

What invoice statuses are available? Typical statuses include draft, sent, viewed, paid, partially paid, overdue, and voided. Status transitions are managed through Invoice Operations.

Can I set up auto-pay on an invoice? Auto-pay is managed through Invoice Schedules for recurring invoices. One-time invoices are sent for manual payment.

How do I apply a discount to an invoice? Include discount parameters in the invoice creation. Discounts can be percentage or fixed amount and apply to the invoice total.