Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
POST

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

python
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

json
{}

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

← PreviousList banking account cash movements →