Expose Check Number(s) to API
Today, we use another system for writting checks and we need to add the check information to Xero.
The API allows us to create an invoice for the check and then upload the invoice. However, the API does not allow us to associate a bank account and then check number with the payment of the invoice.
I know that there is some reason that this the case. There could be an instance where a user tries to associate a previously used check number to the invoice payment. If Xero were to throw a blanket error (eg, "Some of the transactions in this API call use a check number that has already been used and so none of the transactions have been imported.")
Exposing the check number and then handling errors would be of great benefit for us.

-
Yoni commented
We are using Positive Pay with our bank, which requires us to send a list of issued and voided checks, including the check number for each transaction. While the check number is clearly visible in the Xero UI, it is not exposed via the API — even when retrieving full BankTransaction or Payment details.
This creates a significant gap for automation. For accounts where we don’t/can't manually populate the Reference field, we have no way to retrieve the check number programmatically. Being able to access this field through the API (e.g. CheckNumber, PaymentRef, or similar) would allow us to fully automate our Positive Pay integration and eliminate manual steps.
Please consider exposing the check number in the API, even if it's just a read-only field in the BankTransaction or Payment objects.
-
Andrew Thomas commented
That’s an interesting challenge! Handling check numbers efficiently within the API would improve transaction tracking. Perhaps Xero could introduce a validation layer that flags duplicate check numbers before submission, preventing errors beforehand. For more insights on secure online access to healthcare platforms, check out https://mycentura-health.org Looking forward to seeing how Xero evolves on this!