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

Parameters: submit_sales_invoice
NameTypeDescription
invoice string required string Sales Invoice ID from list_sales_invoices or create_sales_invoice.

Request

cURL
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"}'
Python
result = client.call("erpnext", "submit_sales_invoice", {"invoice":"ACC-SINV-2026-00042"})
Node.js
const result = await cotlet.call('erpnext', 'submit_sales_invoice', {"invoice":"ACC-SINV-2026-00042"});
CLI
cotlet call erpnext submit_sales_invoice --data '{"invoice":"ACC-SINV-2026-00042"}'

Example response

JSON

{
  "invoice": "ACC-SINV-2026-00042",
  "status": "Unpaid",
  "docstatus": 1,
  "grand_total": 1650,
  "outstanding_amount": 1650,
  "due_date": "2026-11-13"
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.