- You can reconcile a single movement with one or several accounting entries in one call by listing them in accountingEntries.
- bankingRuleId is optional: when you set it, use the same identifier as a banking rule that appears in the movement’s proposal items so the applied rule is also reflected in reconciled items on the bank movement. If you do not use a rule from the proposals, you can pass
null.
ReconcileBankMovement
Quick Links
Accounts Accounting Entries Products Customers Sales quotes Sales invoices Suppliers Purchase invoices| HTTP | Operation | Type | Object | DTO Why-DTOs? |
|---|---|---|---|---|
| (Mutation Why 200?) | reconcileBankMovement |
ReconcileBankMovementGLDtoInput |
Description
Reconcile bank movement is a business mutation that links a bank movement to one or more accounting entries and updates reconciliation state in Sage Active.
To reproduce the same behaviour as the Sage Active UI (pending customer or supplier payments):
The product can suggest reconciling a bank movement with one or more outstanding payments for the customer or supplier tied to that movement.
- In the API, you first need to obtain the pending items with sales invoice open items (receivables) or purchase invoice open items (payables),
- then record the settlement with sales open item settlement or purchase open item settlement as appropriate.
- Those operations create the bank accounting line automatically and return the accounting entry identifier.
- Finally, call reconcileBankMovement and pass that id (or each id) in accountingEntries[] to link the bank movement to the generated accounting line(s), the same end-to-end outcome as the guided UI flow.
How to reconcile a bank movement with one or more accounting entries?
graphQL Mutation
mutation (
$input: ReconcileBankMovementGLDtoInput!
) {
reconcileBankMovement(input: $input) {
id
}
}
graphQL Variables
{
"input": {
"bankTransactionId": "11111111-1111-1111-1111-111111111111",
"bankingRuleId": null,
"accountingEntries": [
{ "accountingEntryId": "22222222-2222-2222-2222-222222222222" },
{ "accountingEntryId": "33333333-3333-3333-3333-333333333333" }
]
}
}
Example Response
{
"data": {
"reconcileBankMovement": {
"id": "11111111-1111-1111-1111-111111111111"
}
}
}
Header
| Key | Value |
|---|---|
Authorization |
Bearer Current access Token How to find? |
X-TenantId |
Current tenant id Why deprecated ? |
X-OrganizationId |
Current organization Id How to find? |
x-api-key |
Primary or secondary subscription key of your app How to find? |
ReconcileBankMovement Input parameters
| Fields | Type | Description |
|---|---|---|
| bankTransactionId |
UUID | Bank movement to reconcile (same entity as the id of the bank movement list) |
| bankingRuleId | UUID | Optional. Rule to attach (e.g. one taken from the movement’s proposal items) |
| accountingEntries[] |
Array | At least one accounting line to link to the movement; each item references an accounting entry |
accountingEntries items
| Fields | Type | Description |
|---|---|---|
| accountingEntryId |
UUID | Accounting entry to reconcile with the bank movement |
reconcileBankMovement response
| Fields | Type | Description |
|---|---|---|
| id | UUID | Identifier of the resource returned by the mutation (typically the bank transaction / movement) |
Info
- bankingRuleId: use a bankingRuleId from the movement’s proposalItems when you want the reconciliation to be associated with that rule; it can then appear on reconciledItems. If no rule should be recorded, omit it or set it to
null. - accountingEntries: the order or combination of entries must be consistent with your accounting rules for bank reconciliation; the API enforces only technical validity in Sage Active.