Record payment

Record money received against an invoice, with date, type and bank reference.

POST https://cotlet.dev/api/v1/invoice-ninja/invoices/{invoice_number}/payments

write Confirm

Records a payment for the invoice client and applies it to the invoice. Without an amount it covers the full balance. A smaller amount leaves the invoice in Partial status, and an amount above the balance leaves the extra on the payment as an unapplied balance. Payment date defaults to today; set it to the day the money arrived, because reports use it. Send email is on by default, as in Invoice Ninja, and sends the client a payment confirmation. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: record_payment
NameTypeDescription
company string string Company name, for accounts with several companies. Default: the company open when you signed in.
invoice_number string required string Invoice number from list_invoices or create_invoice, e.g. INV-0038.
amount number number Amount received. Default: the full invoice balance.
payment_date date date Day the money arrived. Default: today.
payment_type string string Payment type as listed in Invoice Ninja, e.g. Bank Transfer, Cash or Cheque.
transaction_reference string string Bank reference or cheque number.
private_notes string string Internal note, never shown to the client.
send_email boolean boolean Send the client a payment confirmation. Default: true.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/invoice-ninja/invoices/INV-0034/payments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":1200,"payment_date":"2026-10-12","payment_type":"Bank Transfer","transaction_reference":"INV-0034 Oct"}'
Python
result = client.call("invoice-ninja", "record_payment", {"invoice_number":"INV-0034","amount":1200,"payment_date":"2026-10-12","payment_type":"Bank Transfer","transaction_reference":"INV-0034 Oct"})
Node.js
const result = await cotlet.call('invoice-ninja', 'record_payment', {"invoice_number":"INV-0034","amount":1200,"payment_date":"2026-10-12","payment_type":"Bank Transfer","transaction_reference":"INV-0034 Oct"});
CLI
cotlet call invoice-ninja record_payment --data '{"invoice_number":"INV-0034","amount":1200,"payment_date":"2026-10-12","payment_type":"Bank Transfer","transaction_reference":"INV-0034 Oct"}'

Example response

JSON

{
  "payment_number": "0021",
  "client": "Northwind Studio",
  "payment_date": "2026-10-12",
  "payment_type": "Bank Transfer",
  "transaction_reference": "INV-0034 Oct",
  "amount": 1200,
  "status": "Paid",
  "applied_to": [
    {
      "invoice_number": "INV-0034",
      "amount": 1200
    }
  ],
  "invoice_status": "paid",
  "invoice_balance": 0,
  "confirmation_email": true
}

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.