Create a payment for an invoice
Scope: sales:invoices.write https://api.alladdin.com/api/v2/invoices/{invoiceId}/payments
Records a payment against the invoice. The payment amount is deducted from the pending balance.
You can record partial payments by specifying an amount less than the total outstanding. A payment can be linked to a treasury account (treasury_id) for cash-flow tracking; if omitted, the account's default treasury is used. The invoice status is automatically updated to paid when the pending balance reaches zero.
Parameters
Path parameters
invoiceId string required
Invoice ID (24-char hex ObjectId)
Request body
object amount string | null treasury_id string | null
Identifier of the treasury account. If omitted, the account default treasury is used.
date string<date>
Payment date in ISO 8601 format
description string | null
Free-text description of the payment
Request
import requests
url = "https://api.alladdin.com/api/v2/invoices/{invoiceId}/payments"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
payload = {
"amount": "100.00",
"treasury_id": "string",
"date": "2024-01-15",
"description": "string"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())Responses
Success responses
201 Payment created
Error responses
400 Bad request application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Invoice not found application/json 429 Rate limit exceeded application/json
