Strange behavior with decimals (in Zapier and n8n): UPDATE a row works correct (125.0 is 125.0) but INSERT row is wrong (125.0 is 1250.0)

Are you using our SaaS platform (Baserow.io) or self-hosting Baserow?

SaaS

What are the exact steps to reproduce this issue?

I have field “Gewicht” (engl.: weight) that shows amount of weight for a feedstock in kg (with one decimal). See also Screenshot.

A webhook triggers Zapier and delivers data like the field with the amount (German “Gewicht”) of 115.0
I have two paths:
a) Zapier adds +10 and UPDATE the existing row with 125.0 - this works correctly.
b) Zapier adds +10 and INSERT a new row with 125.0 but here Baserow takes 1250.0 (so ten times)

Whats wrong? Settings in Zapier for both Tasks (UPDATE & INSERT) are the same.

Attach screenshots, videos, or logs that demonstrate the issue.

@frederikdc or @troytessalone could you please check out this issue with Zapier?

I switched to n8n and find the same problem (as described above) there: Baserow INSERTS a new row with the weight 10 times.

The field in Baserow is set to 1 Decimal places. Maybe this is connected with the problem?

@joffcom do you have any ideas about what might be wrong here? :pray:

Hey @be_Berlin

Can you share your workflow json with me? You can download it from the n8n ui or copy / paste the nodes.

Hey @joffcom ,
Thanks for your offer to take a look at it.

Please find attached two screenshots. The first node creates the new row and the task for n8n is to multiply the ‘weight’ (in German “Gewicht”) *-1 and write it in a new row.

As the first node comes with the problem as described (writes -433 instead of -43.3) I added a second node that updates the row that was inserted before. I’m writing the same function / value here and now it works (writes -43.3.)

Operation 1 (INSERT row)

Operation 2 (UPDATE the same row):

Hey @be_Berlin

Sorry for the delay, can you share the expression you are using for both options?

I hope this Json-Export is what you’ve asked for, @joffcom ?

{
  "nodes": [

    {
      "parameters": {
        "operation": "create",
        "databaseId": xxxxxxxx,
        "tableId": xxxxxxxxxx,
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 3342502,
              "fieldValue": "={{ \n  ($json.body.items[0].weight1.toNumber() \n-  $json.body.items[0].weight2.toNumber() \n-  $json.body.items[0].weight3.toNumber() \n   ).round(1)\n}}"
            },
            {
              "fieldId": 3498570,
              "fieldValue": "n8n Job 1"
            },
            {
              "fieldId": 3342491,
              "fieldValue": "={{ $json.body.items[0].Inventar1[0].id }}"
            },
            {
              "fieldId": 3343537,
              "fieldValue": "Zugang"
            },
            {
              "fieldId": 3342504,
              "fieldValue": "={{ $now.toString().slice(0,23) }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        800,
        20
      ],
      "id": „xxxxxxxxxx“,
      "name": "Job 1: Zuwiegen Sortierung",
      "credentials": {
        "baserowApi": {
          "id": "xxxxxxxxxx",
          "name": "Baserow account"
        }
      }
    },


    {
      "parameters": {
        "operation": "update",
        "databaseId": xxxxxxx,
        "tableId": xxxxxxx,
        "rowId": "={{ $json.id }}",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": 3342502,
              "fieldValue": "={{ \n  ($('Webhook').item.json.body.items[0].weight1.toNumber() \n-  $('Webhook').item.json.body.items[0].weight2.toNumber() \n-  $('Webhook').item.json.body.items[0].weight3.toNumber() \n   ).round(1)\n}}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.baserow",
      "typeVersion": 1,
      "position": [
        1020,
        20
      ],
      "id": „xxxxxxxxxxxxx“,
      "name": "Baserow korrigieren1",
      "notesInFlow": true,
      "credentials": {
        "baserowApi": {
          "id": "xxxxxxxxxxx",
          "name": "Baserow account"
        }
      },
      "notes": "Dieser Node korrigiert den Dezimalfehler für das Gewicht in Baserow der nur bei INSERT aber nicht UPDATE auftritt"
    }
  ],
  "connections": {
    "Job 1: Zuwiegen Sortierung": {
      "main": [
        [
          {
            "node": "Baserow korrigieren1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Baserow korrigieren1": {
      "main": [
        [
          {
            "node": "Job 1: Done",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": „xxxxxxxxxxxxxxxx“
  }
}