Calculation once with concat two fields only show partial of strings

Dear all,
I use the XLS to prepare my ODK file.
I tried to CONCATENATE one ID field with a string under calculation column with once function, but the results only show the first character of that ID field and full of the string.
For example, if I have an ID field input as "ABC123", and a string "-0", if I use the "once" and "concat" function as below, I only get "A-0" on ODK Collect. However, if I tried the web form on Enketo, it will give me the correct one "ABC123-0".
calculation function: once(if (${INDX}='','', concat(${INDX}, '-0')))

Does anyone have an idea?

I attached the xls and xml file for reference.TEST20191212A.xml (1.9 KB) TEST20191212A.xlsx (18.4 KB)

Hi @Alexander

removing field-list appearance from your first group will solve your issue. That group contains just one question so in fact you don't need it.

To explain what causes the problem I can say that:
you use once() function so the calculation should be performed just once but the question that it relies on is in field-list group. Such questions (from field-list group) are recreated every time the answer changes. So if you have a text question it takes place every time you type a new character.
For example if you want to enter abc it will be
a - recreate and the calculation should be performed
b - recreate, since you used once() calculation won't be performed again
c- recreate, since you used once() calculation won't be performed again

and the result is a-0 not abc-0

Grzegorz, thanks for your reply.
I have more questions inside the field-list group, the attached text.xlsx just a simplified example. And actually, I have no problem with this kind of design before, but not sure from which version of ODK Collect, it begins to produce this random issue.
In contrast to the ODK Collect, the Enketo web form give me the correct result! I am wondering it might be a bug in ODK Collect.