Register a payment
Register a payment on a posted invoice through the Pay window.
POST https://cotlet.dev/api/v1/odoo/invoices/{invoice_id}/payments
write Confirm
Fills the Pay window and clicks Create Payment. The invoice shows In payment afterwards and becomes Paid once the payment is reconciled with a bank transaction. The call fails if the invoice is a draft or already Paid. Only invoicing users can register payments. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice_id integer required | integer | Invoice ID from list_invoices or create_draft_invoice. |
| journal string required | string | Journal name from list_payment_journals, e.g. Bank. |
| amount number | number | Amount paid. Default: the amount Odoo proposes (the full amount, or the current installment with payment terms). |
| payment_date date | date | Payment date. Default: today. |
| memo string | string | Reference, e.g. a check number. |
Request
curl -X POST https://cotlet.dev/api/v1/odoo/invoices/4182/payments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"journal":"Bank","amount":3200,"payment_date":"2026-10-14","memo":"Bank transfer Northwind"}' result = client.call("odoo", "register_payment", {"invoice_id":4182,"journal":"Bank","amount":3200,"payment_date":"2026-10-14","memo":"Bank transfer Northwind"}) const result = await cotlet.call('odoo', 'register_payment', {"invoice_id":4182,"journal":"Bank","amount":3200,"payment_date":"2026-10-14","memo":"Bank transfer Northwind"}); cotlet call odoo register_payment --data '{"invoice_id":4182,"journal":"Bank","amount":3200,"payment_date":"2026-10-14","memo":"Bank transfer Northwind"}' Example response
{
"payment_id": 5120,
"invoice_id": 4182,
"number": "INV/2026/00412",
"journal": "Bank",
"amount": 3200,
"payment_date": "2026-10-14",
"memo": "Bank transfer Northwind",
"payment_status": "in_payment"
}