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:

  • accountId
  • executionDateTime
  • amount
  • currency
  • description
  • type
  • merchantCategoryCode

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.