Submit sales invoice
Submits a draft sales invoice so it posts to the ledger.
POST https://cotlet.dev/api/v1/erpnext/sales-invoice/submit
write Confirm
Moves a draft Sales Invoice to submitted (docstatus 1). The invoice then affects the books and shows Unpaid until paid, or Overdue after its due date. A submitted invoice cannot be edited; to change it, cancel it with cancel_sales_invoice and create a new draft. The call returns ERPNext's error if a required field is empty. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice string required | string | Sales Invoice ID from list_sales_invoices or create_sales_invoice. |
Request
curl -X POST https://cotlet.dev/api/v1/erpnext/sales-invoice/submit \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"invoice":"ACC-SINV-2026-00042"}' result = client.call("erpnext", "submit_sales_invoice", {"invoice":"ACC-SINV-2026-00042"}) const result = await cotlet.call('erpnext', 'submit_sales_invoice', {"invoice":"ACC-SINV-2026-00042"}); cotlet call erpnext submit_sales_invoice --data '{"invoice":"ACC-SINV-2026-00042"}' Example response
{
"invoice": "ACC-SINV-2026-00042",
"status": "Unpaid",
"docstatus": 1,
"grand_total": 1650,
"outstanding_amount": 1650,
"due_date": "2026-11-13"
}