WORK#986
Won't fix
ANZ credit card transactions returned with a null transactionId
ANZ returns some credit card transactions with a null transactionId, which is permitted where the field is conditional under CDR rules. openfeed generates a synthetic transaction ID so these transactions can still be ingested and served.
First identified: 20 July 2026
What’s happening
ANZ returns some credit card transactions where transactionId is null. Under the Consumer
Data Standards, transactionId is a conditional field. Data holders may omit it where they have
justifiable technical reasons why a transaction cannot be uniquely identified. ANZ appears to be
exercising this provision for a subset of their credit card transactions.
openfeed does not discard transactions that are returned without a transactionId. Instead, it
generates a synthetic transaction ID based on a defined set of transaction fields. The generated
ID is prefixed with syn_ to distinguish it from a provider-assigned transaction ID.
Under the default strategy, the synthetic ID is derived deterministically from:
accountIdexecutionDateTimeamountcurrencydescriptiontypemerchantCategoryCode
This means the synthetic ID should remain stable when the same transaction is retrieved again, allowing openfeed to recognise it consistently across synchronisations.
Impact
Consumers with ANZ credit card accounts connected via openfeed continue to see the affected
transactions as they are ingested and served like any other transaction, using the synthetic
syn_-prefixed identifier in place of the missing transactionId. Because the synthetic ID is
derived deterministically, records stay stable across syncs. In rare cases where two transactions
are identical across every field used to derive the ID (same account, execution time, amount,
description, type and so on), they may be treated as a single transaction — an inherent
limitation when the provider supplies no unique identifier. There is no consumer-visible error.
Current status
Because the CDR standard permits ANZ to return a null transactionId, this behaviour is unlikely
to change at the data holder. openfeed handles it automatically via synthetic transaction IDs, so
no action is required by developers. We continue to monitor for any change in ANZ’s behaviour and
will update this page if the situation changes.
References
Seen this behaviour change? Let us know on Discord.