Issue Description:
When inserting rows via the Seatable Cloud API, numeric values are incorrectly stored as text, even though the API payload contains real JSON numbers (not strings).
The exact same workflow and payload work correctly in a self-hosted Seatable installation, where all values are recognized as numbers.
Technical Details
I am sending data from n8n → Seatable Cloud API, for example:
{
"Betrag": 945
}
The value is a true JSON number (not "945").
The column Betrag is configured as:
Type: Number
Decimal separator: comma
Thousands separator: dot
Expected behavior:
Seatable should store the value as a number.
Actual behavior (only in Seatable Cloud):
The value is stored as text
It is left-aligned in the table
Sorting and formulas treat it as a string
Only after changing the column formatting (e.g., switching the decimal separator from comma → dot → comma) does Seatable re-interpret the values correctly as numbers
Additional Observations
In a self-hosted Seatable 5.3.10 instance, the problem does not occur.
The same n8n workflow, same data → values correctly recognized as numbers.
Manually entered values work correctly.
Even when creating a new Number column, values inserted via API still end up as text.
Possible Cause
It seems that the Cloud version does not reliably parse numeric JSON values coming from the API, and stores them as text—possibly due to locale/formatting differences.
Request
Could you please check:
Is this a known Cloud-specific issue?
Does the Cloud API process numeric values differently from the self-hosted version?
Can you reproduce the bug and address it in a future update?
Thank you for the video.
It confirms that a numeric-looking value arrives in the table — but unfortunately, from the video alone it is not possible to determine whether SeaTable Cloud is storing it as a real number or as a string.
To distinguish this reliably, the column footer (e.g., Sum, Average, etc.) would need to be enabled.
If the value is truly numeric, SeaTable will calculate a correct sum.
If the value is stored as text, the footer will remain empty or show “—”.
This is the crucial difference I see between my self-hosted instance and the Cloud version.
Additional evidence from my tests:
Creating a brand-new Number column in SeaTable Cloud still results in incoming API values being stored as text.
Manually typed values in the same column are stored as numbers.
Toggling the column’s decimal separator (comma → dot → comma) causes all previously imported values to be reinterpreted as actual numbers.
The self-hosted instance handles the exact same API payload correctly on the first try.
These points strongly indicate that the Cloud environment parses incoming numeric values differently than the self-hosted setup — even if both use the same Docker images.
Could you please repeat your test with the footer enabled?
This will immediately show whether the Cloud is treating the incoming API values as text or as real numbers.
In the video below, I first add a row and write an (integer) value into a number column and then I update the value in the just added column:
Numbers are processed as numbers: they are right-aligned, they are summed - both demonstrated in the video. Though I must admit, after writing the initial value, I had to refresh the page once for SeaTable to calculate the column sum.
Could you simply redo the exercise I have done yourself? You’ll come to the same conclusion.
Thank you very much for your support and for taking the time to look into this.
I have now repeated the test and can confirm that the value is indeed stored as a number, but the UI in the Cloud version does not update immediately. Only after refreshing the page does the column display the value correctly as a number and update the footer.
While this behavior is not ideal from my perspective, it is easy enough to work around by refreshing the page after the API inserts. So I can live with it as it is.