Allocations processing

ACMC Customers can carry out several actions in relation to the management of allocations and unallocated transactions via API.

Unallocated and Incorrect Transactions

  • Customers query for any unallocated transactions.
  • Customers can request (via API) for an unallocated transaction to be manually allocated to the correct Client Trust Account. Where the transaction is manually allocated within 10 business days, the transaction will retain the original ‘value date’ and any associated interest accrual will be automatically adjusted based on the original ‘value date’. After 10 business days, the original ‘value date’ and associated interest adjustments are no longer applicable. In addition, the unallocated transaction will be transferred to/from the Customer CLA for assessment and processing.
  • Where a transaction has been incorrectly allocated (automatically or manually), the Customer can request via API to move it back into ‘Unallocated’. Once done, the transaction can be reallocated. The unallocation can only be done on the day of the original allocation. For transactions that were allocated within the last 10 business days, Customers can request (via ANZ CSC) for the transaction to be moved back into ‘Unallocated’. The unallocated transaction can then be reallocated, retaining the original ‘value date’ and any associated interest accrual will be automatically adjusted based on the original ‘value date’.
  • Unallocated transactions can be returned via ANZ Transaction Processing Centre (TPC). Customers will fill out the ‘TPC Returns Form’ and email it to ANZ TPC team, who then returns the listed transactions directly from the source account. A returned transaction is recognised and processed by ACMC as such. It will be an equal but opposite amount (e.g. DR) to the original unallocated transaction (e.g. CR). Customers can then request (via API), for the pair to be matched off and cleared from the unallocated transactions list. The entire sequence of events listed above can be managed automatically by Customers with the appropriate code calling the APIs.
  • If the transaction needs to be managed outside of the TPC returns process, Customers also have the option to transfer funds between Unallocated and an appropriate CLA.
  • Customers can query for a list of transactions transferred from Unallocated to a CLA. This section contains information on processing of allocated and unallocated messages

Query, List Unallocated

Enquire on unallocated mesasges for customer

Required Inputs

This query use filters to retrieve information specific to the Customers node. One of the following fields are available for use

Name Description
fullNameContains Provide part of a customer name as filter criteria to the query
name As referenced in the sample: fullNameContains: “$name: String!”, value used to filter the query output

Request

{
  bank {
    customers(filter: {fullNameContains: "$name: String!"}) {
      edges {
        node {
          pools {
            edges {
              node {
                name
                unallocated {
                  edges {
                    node {
                      ... on Payment {
                        pool {
                          name
                        }
                        unallocid: id
                        entryReference
                        narrative
                        transactions {
                          edges {
                            node {
                              currency
                              initiatedTimestamp
                              valueDate
                              transactionType                              
                            }
                          }
                        }
                      }
                      ... on Receipt {
                        pool {
                          name
                        }
                        unallocid: id
                        entryReference
                        narrative
                        transactions {
                          edges {
                            node {
                              currency
                              initiatedTimestamp
                              transactionType
                              valueDate                              
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Query Variables :

  {
    "name": "Barry"
  }

Response

{
    "data": {
        "bank": {
            "customers": {
                "edges": [
                    {
                        "node": {
                            "pools": {
                                "edges": [
                                    {
                                        "node": {
                                            "name": "Jane Smith",
                                            "unallocated": {
                                                "edges": [
                                                    {
                                                        "node": {
                                                            "pool": {
                                                                "name": "Name"
                                                            },
                                                            "unallocid": "ZDAxNjg0MzItMWUzMi00MGRkLWJjNWYtODBlYWRlZjIyMTNh",
                                                            "entryReference": "Entry Reference",
                                                            "narrative": "Sample Text",
                                                            "transactions": {
                                                                "edges": [
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T13:27:36.261Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2023-10-28"
                                                                        }
                                                                    },
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T14:11:06.785Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2023-12-15"
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    {
                                                        "node": {
                                                            "pool": {
                                                                "name": "Name"
                                                            },
                                                            "unallocid": "MzViMDhkZmYtNzliMi00NjJkLTk1ODMtZjc2MDNmMmNlNDlk",
                                                            "entryReference": "Entry Reference",
                                                            "narrative": "Sample Text",
                                                            "transactions": {
                                                                "edges": [
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T19:40:35.707Z",
                                                                            "valueDate": "2024-05-19",
                                                                            "transactionType": "Transaction"
                                                                        }
                                                                    },
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T15:15:26.787Z",
                                                                            "valueDate": "2024-04-20",
                                                                            "transactionType": "Transaction"
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    {
                                        "node": {
                                            "name": "Name",
                                            "unallocated": {
                                                "edges": [
                                                    {
                                                        "node": {
                                                            "pool": {
                                                                "name": "Name"
                                                            },
                                                            "unallocid": "ZjU0MjlkNTgtNTMzNS00MDVjLWJlZjMtYmNkNDc5MmVmY2M0",
                                                            "entryReference": "Entry Reference",
                                                            "narrative": "Sample Text",
                                                            "transactions": {
                                                                "edges": [
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T14:32:57.235Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2024-04-05"
                                                                        }
                                                                    },
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T06:35:04.499Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2024-06-14"
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    {
                                                        "node": {
                                                            "pool": {
                                                                "name": "Name"
                                                            },
                                                            "unallocid": "YTE0YzA2MWItNGRkMi00NWY4LTg0MmEtODQ5ODhmNzliNzU2",
                                                            "entryReference": "Entry Reference",
                                                            "narrative": "Narrative",
                                                            "transactions": {
                                                                "edges": [
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T01:33:41.889Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2024-04-13"
                                                                        }
                                                                    },
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T11:20:19.302Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2023-09-13"
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "node": {
                            "pools": {
                                "edges": [
                                    {
                                        "node": {
                                            "name": "Name",
                                            "unallocated": {
                                                "edges": [
                                                    {
                                                        "node": {}
                                                    },
                                                    {
                                                        "node": {}
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    {
                                        "node": {
                                            "name": "Name",
                                            "unallocated": {
                                                "edges": [
                                                    {
                                                        "node": {
                                                            "pool": {
                                                                "name": "Name"
                                                            },
                                                            "unallocid": "MzcxMjJmYzgtYWU0My00NDRhLTkxODAtNGVjOGExODUwNDlh",
                                                            "entryReference": "Entry Reference",
                                                            "narrative": "Sample Text",
                                                            "transactions": {
                                                                "edges": [
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T09:02:21.045Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2024-04-15"
                                                                        }
                                                                    },
                                                                    {
                                                                        "node": {
                                                                            "currency": "AUD",
                                                                            "initiatedTimestamp": "2024-06-19T22:54:35.584Z",
                                                                            "transactionType": "Transaction",
                                                                            "valueDate": "2023-08-24"
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    {
                                                        "node": {}
                                                    }
                                                ]
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    }
                ]
            }
        }
    }
}

Mutation, Allocate an unallocated transaction

Using information from query to retrieve unallocaed transactions, take an action to allocate a transaction

Request

Required Inputs

Name Description Cardinality Type
accountId A unique identifier allocated to each account that exist on the platform, in this context is used to make an allocation TO a specified account 1..1 id
allocationComment A unique identifier allocated to each product that exist on the platform, this can be obtained via a query to the system Product 0..1 string
unallocatedId A unique identifier allocated to each party that exist on the platform, this can be retrieved via a query to the system Parties 1..1 id
mutation {
  allocate(i: {accountId: "QWNjb3VudDpjZjkyNGJhMWRkNjUyYmUzYzcxNmQ4MmNhZDgzNjg0YzhhY2FmOWUwZWZjZDc1ODYwMmY1OWQyNmU3Nzc0N2Iw", allocationComment: "API allocation", unallocatedId: "UmVjZWlwdDo4Mjg3ODJmNjg4YWQ0ZjU2YjJiZGRiOTI0YjBiNjI2MjM1YjNiZTMxZjE1MTMwMWM1ZDYwZTNiYTk1MzI5MGM0"}) {
    commandId
  }
}

Response

Only commandId is returned as a response to any mutation, an enquiry must be made on the commandId to retrieve information pertaining to the mutation submission *

    {
        "commandId": "Q29tbWFuZDo1MWVmYTE1OC01ZDIwLTRlNTYtOWE5Ni03MzFlOGRlMjA1ZDI="
    }

Enquire on mutation based on commandId returned

    {
    node(id: "Q29tbWFuZDo1MWVmYTE1OC01ZDIwLTRlNTYtOWE5Ni03MzFlOGRlMjA1ZDI=" ){
        __typename
        id
        ... on Command{action,state,step,invalid{field,reason}}
        ... on GenericCommand{
        action
        state
        step
        invalid{field,reason,__typename}
        }
    }
    }
    {
        "data": {
            "node": {
                "__typename": "GenericCommand",
                "id": "Q29tbWFuZDo1MWVmYTE1OC01ZDIwLTRlNTYtOWE5Ni03MzFlOGRlMjA1ZDI=",
                "action": "ALLOCATE",
                "state": "SUCCESSFUL",
                "step": "END",
                "invalid": []
            }
        }
    }

Query, Transaction History and unallocatable ids

Query is used to retreive ids of transactions that can be unallocated

Request

Required Inputs

Refer to: bank for query operations

Name Description Cardinality Type
AccountNumber AccountNumber from which to retrieve Transaction History 1..1 id
accountReferenceContains Unique Account Reference associated with account 0..1 string
From Date Date in ISODate format YYYY-MM-DD, example: 2021-03-16 1..1 DateTime
To Date Date in ISODate format YYYY-MM-DD, example: 2021-03-16 1..1 DateTime
Request messages to ANZ Cash Management Central use GraphQL      
query getTransHistoryByDate($accno: AccountNumber, $accref: String, $when: DateTime, $from: DateTime) {
  bank {
    accounts(filter: {accountNumberExact: $accno, accountReferenceContains: $accref}) {
      edges {
        node {
          name
          openState
          id
          now: balances {
            current {
              creditDebit
              value
            }
            currency
            available {
              creditDebit
              value
            }
          }
          transactionEntries(filter: {from: $from, until: $when}, orderBy: [{sort: APPLIED, direction: ASC}]) {
            edges {
              node {
                initiatedTimestamp
                state
                transaction {
                  businessProcess {
                    ... on Receipt {
                      TranType: __typename
                      narrative
                      entryReference
                      accountServicerReference
                      status
                      unallocatable
                      UnallocateID: id
                    }
                    ... on Payment {
                      TranType: __typename
                      narrative
                      entryReference
                      accountServicerReference
                      reference
                      status
                      unallocatable
                    }
                  }
                  valueDate                  
                }
                balance {
                  currency
                  value
                }
              }
            }
          }
        }
      }
    }
  }
}



Query Variables :

  {
    "accno": "173350315",
    "accref": "reference",
    "when": "2023-06-20T23:59:59.000Z",
    "from": "2023-01-20T23:59:59.000Z"
  }

Response

 {
    "data": {
        "bank": {
            "accounts": {
                "edges": [
                    {
                        "node": {
                            "name": "Investment Account",
                            "openState": "CLOSING",
                            "id": "ZDIyOGUyNmEtMjIyNy00Y2Q3LWJhZWItYWM0MzNmYWQwOTY3",
                            "now": [
                                {
                                    "current": {
                                        "creditDebit": "DEBIT",
                                        "value": "6416.21"
                                    },
                                    "currency": "AUD",
                                    "available": {
                                        "creditDebit": "CREDIT",
                                        "value": "4216.76"
                                    }
                                }
                            ],
                            "transactionEntries": {
                                "edges": [
                                    {
                                        "node": {
                                            "initiatedTimestamp": "2024-06-19T20:57:53.294Z",
                                            "state": "SUCCESSFUL",
                                            "transaction": {
                                                "businessProcess": {},
                                                "valueDate": "2024-04-14"
                                            },
                                            "balance": {
                                                "currency": "AUD",
                                                "value": "8142.06"
                                            }
                                        }
                                    },
                                    {
                                        "node": {
                                            "initiatedTimestamp": "2024-06-19T16:22:32.259Z",
                                            "state": "SUCCESSFUL",
                                            "transaction": {
                                                "businessProcess": {},
                                                "valueDate": "2023-12-23"
                                            },
                                            "balance": {
                                                "currency": "AUD",
                                                "value": "2160.29"
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    {
                        "node": {
                            "name": "Trust Account",
                            "openState": "OPEN",
                            "id": "ZWFkNzc4ZGItZDFiMy00MzkxLWFlM2ItYzRjYzdmOGU4MDBh",
                            "now": [
                                {
                                    "current": {
                                        "creditDebit": "DEBIT",
                                        "value": "2971.77"
                                    },
                                    "currency": "AUD",
                                    "available": {
                                        "creditDebit": "DEBIT",
                                        "value": "3802.20"
                                    }
                                }
                            ],
                            "transactionEntries": {
                                "edges": [
                                    {
                                        "node": {
                                            "initiatedTimestamp": "2024-06-19T12:33:18.548Z",
                                            "state": "SUCCESSFUL",
                                            "transaction": {
                                                "businessProcess": {},
                                                "valueDate": "2024-04-28"
                                            },
                                            "balance": {
                                                "currency": "AUD",
                                                "value": "4148.59"
                                            }
                                        }
                                    },
                                    {
                                        "node": {
                                            "initiatedTimestamp": "2024-06-19T05:36:52.626Z",
                                            "state": "SUCCESSFUL",
                                            "transaction": {
                                                "businessProcess": {
                                                    "TranType": "Payment",
                                                    "narrative": "Sample Text",
                                                    "entryReference": "Reference",
                                                    "accountServicerReference": "Reference",
                                                    "reference": "Reference",
                                                    "status": "Reference",
                                                    "unallocatable": true
                                                },
                                                "valueDate": "2023-10-02"
                                            },
                                            "balance": {
                                                "currency": "AUD",
                                                "value": "491.02"
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    }
                ]
            }
        }
    }
}

Mutation, Undo Allocation

Request

Refer to: unallocate for mutation details

    mutation {
    unallocate(i: {unallocatableId: "UmVjZWlwdDo4Mjg3ODJmNjg4YWQ0ZjU2YjJiZGRiOTI0YjBiNjI2MjM1YjNiZTMxZjE1MTMwMWM1ZDYwZTNiYTk1MzI5MGM0"}) {
        commandId
    }
    }

Response

  • Only commandId is returned as a response to any mutation, an enquiry must be made on the commandId to retrieve information pertaining to the mutation submission *
{
    "commandId": "Q29tbWFuZDoyNzczOTVjYi1iOTAxLTRlYTYtOGU1NC0xNjhjMDc5NzA3YWQ="
}

Enquire on mutation based on commandId returned

{
  node(id: "Q29tbWFuZDoyNzczOTVjYi1iOTAxLTRlYTYtOGU1NC0xNjhjMDc5NzA3YWQ=" ){
    __typename
    id
    ... on Command{action,state,step,invalid{field,reason}}
    ... on GenericCommand{
      action
      state
      step
      invalid{field,reason,__typename}
    }
  }
}

Enquiry response

{
    "data": {
        "node": {
            "__typename": "GenericCommand",
            "id": "Q29tbWFuZDoyNzczOTVjYi1iOTAxLTRlYTYtOGU1NC0xNjhjMDc5NzA3YWQ=",
            "action": "ALLOCATE",
            "state": "SUCCESSFUL",
            "step": "END",
            "invalid": []
        }
    }
}

Query Allocation Result

Request

Refer to: node for query operations

query QueryCommand($commandId: ID!) {
  node(id: $commandId) {
    __typename
    ... on GenericCommand {
      createdTimestamp
      id
      action
      state
      step
      invalid {field, reason}
    }
  }
}

Sample GraphQL Request variables

Query Variables :
{
    "commandId": "Q29tbWFuZDo2NWM1ZTlkMC1hMzFmLTQ5ODQtYmJmYi0wMWY0NzgxOTM2ZTI="
}

Response

{
    "data": {
        "node": {
            "__typename": "GenericCommand",
            "createdTimestamp": "2022-08-31T03:25:15.425Z",
            "id": "Q29tbWFuZDo2NWM1ZTlkMC1hMzFmLTQ5ODQtYmJmYi0wMWY0NzgxOTM2ZTI=",
            "action": "ALLOCATABLE-ALLOCATE",
            "state": "SUCCESSFUL",
            "step": "END",
            "invalid": []
        }
    }
}

Query Undo Allocation Result

Request

Refer to: node for query operations

    query QueryCommand($commandId: ID!) {
    node(id: $commandId) {
        __typename
        ... on GenericCommand {
        createdTimestamp
        id
        action
        state
        step
        invalid {field, reason}
        }
    }
    }

Sample GraphQL Request variables

Query Variables :
    {
        "commandId": "Q29tbWFuZDoyNjczYWFmOC04MzJhLTQ2MzEtYWRiMS1hZGJmOGQyNWU5Y2E="
    }

Response

{
    "data": {
        "node": {
            "__typename": "GenericCommand",
            "createdTimestamp": "2022-07-29T03:58:17.406Z",
            "id": "Q29tbWFuZDoyNjczYWFmOC04MzJhLTQ2MzEtYWRiMS1hZGJmOGQyNWU5Y2E=",
            "action": "UNALLOCATE",
            "state": "SUCCESSFUL",
            "step": "END",
            "invalid": []
        }
    }
}

Query by CommandId

Query Create Party

Request

Refer to: node for query operations

Sample create party commandId based query

query QueryCommand($commandId: ID!) {
  node(id: $commandId ){
    __typename
    id
    ... on PartyIndividualCreateCommand {
      action
      party{
        PartyID: id
        reference
        roles
        ... on PartyIndividual{givenName,familyName,__typename}
        ... on PartyCompany{fullName,__typename}     
      }
      id
      invalid{field,reason}
      state
      step
    }
    
  }
}



Query variables :

{
      "commandId": "Q29tbWFuZDoyZWZmNjQxOS1mNGFlLTQ1OGItOWQwMC04OWQwMWFkOWE1NzQ="
}

Response

To determine the outcome of a GraphQL mutation an enquiry needs to be submitted to the platform. The query should be modified to return the fields and values that make sense to the requesting entity From the provided sample the following fields are returned

Name Description
id Echo the commandId used for the query
action The type of operation that initiated the command.
party Group containing information pertaining to the party
PartyID The identifier allocated to each party created on the platform. The ID must be used for any future actions that involve the party
reference Unique customer side reference, if provided else null
roles Information on role(s)
invalid Information on failures or issues with object processing
state The outcome of the mutation, possible values: SUBMITTED, SUCCESSFUL, FAILED
{
  "data": {
    "node": {
      "__typename": "CreatePartyCommand",
      "id": "Q29tbWFuZDoxYWEyZTk4Yy1mMmI0LTQ1OGItOGRkMi0zNGIzZGIxNTU5MmY=",
      "action": "PARTY-INDIVIDUAL-CREATE",
      "party": {
        "PartyID": "UGFydHlJbmRpdmlkdWFsOjhjNjA4Mzk4ZDMxNTA3MjRjNzQ3NjY2MGI1Mzc3NDJhNWM3Yjg0NjI1ZWQ4NjAxODkyZTE5MjgzMDc3ZjBkMTc=",
        "reference": null,
        "roles": [
          "BENEFICIARY"
        ],
        "givenName": "Carissa",
        "familyName": "Green",
        "__typename": "PartyIndividual"
      },
      "invalid": [],
      "state": "SUCCESSFUL",
      "step": "END"
    }
  }
}

Query Open Account

Request

Refer to: node for query operations

query QueryCommand($commandId: ID!) {
  node(id: $commandId ){
    __typename
    ... on OpenAccountCommand{
      action
      account
      {
        accountNumber,
        bankCode,
        id
      }
      state
      invalid
      {
        field,
        reason
      }
      action
      state
      id
    }
  }
}

Response

    {
        "commandId": "Q29tbWFuZDoyZWZmNjQxOS1mNGFlLTQ1OGItOWQwMC04OWQwMWFkOWE1NzQ="
    }
{
  "data": {
    "node": {
      "__typename": "OpenAccountCommand",
      "action": "OPEN-ACCOUNT",
      "account": {
        "accountNumber": "735107114",
        "bankCode": null,
        "id": "QWNjb3VudDoxZDc4ZThlZWEyYTRiZGIxYTVmNDIzM2IzZjU4YzMxNDY1NmI2MGE2NTZjZmE4NmQwYzQxMWFkMGJjZTU1NmNj"
      },
      "state": "SUCCESSFUL",
      "invalid": [],
      "id": "Q29tbWFuZDoyZWZmNjQxOS1mNGFlLTQ1OGItOWQwMC04OWQwMWFkOWE1NzQ=",
      "step": "END"
    }
  }
}