Reconcile a bank movement
Scope: accounting:banks.write https://api.alladdin.com/api/v2/treasury/accounts/{bankingAccountId}/bank-movements/{movementId}/reconcile
Reconciles a bank movement.
With a documents payload, links the movement to one or more existing Alladdin documents (invoices, sales receipts, purchases, credit notes, payments, remittances, and more). Pass a single document to close it in one step, or pass multiple documents to split the movement across several entries. Every document must already exist in Alladdin and belong to the same account.
With an empty or missing body, marks the movement as reconciled without linking it to any document — useful to clear a movement from the pending-reconciliation list when no matching document exists in Alladdin.
This operation is not idempotent: reconciling the same (movement, document) pair twice returns a 422 because the document is already paid or the remaining amount is zero.
Parameters
Path parameters
bankingAccountId string required
Banking account identifier
movementId string required
Bank movement identifier
Request body
object documents[] object[]
Documents to reconcile against the bank movement. Provide one or more entries when splitting a single movement across multiple documents. Omit to mark the movement as reconciled without linking any document.
document_id string required
Identifier of the Alladdin document to match against
document_type string required
Document type
Enum: invoice salesreceipt purchase creditnote purchaserefund payroll payment remittance purchasereceipt collection receipt entry
Request
import requests
url = "https://api.alladdin.com/api/v2/treasury/accounts/507f1f77bcf86cd799439011/bank-movements/507f1f77bcf86cd799439012/reconcile"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
payload = {
"documents": [
{
"document_id": "abc123",
"document_type": "invoice"
}
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())Responses
Response
{}Success responses
200 Bank movement reconciled application/json object
Error responses
400 Bad request application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Banking account or movement not found application/json 422 Validation error application/json 423 Reconciliation locked (concurrent update in progress) 429 Rate limit exceeded application/json
