CSV Upload - Keeps Failing on UI, but works in the backend

Trying to allow users to do a basic CSV upload into a table. I keep getting the
“The column (insert whichever column is first) does not match with a field on the chosen type.”
I get this when I try to upload through the UI using the file upload element, and a button that “uploads data as CSV” to upload the file.

The file picker works, but when I hit the “upload” button that triggers the “uploads data as CSV”, I get the error. Bubble is clearly opening the file, a CSV file, and triggering the error.

My column names match.

When I use the backend data uploader, it works no problem. It does bring up the data matcher, but it resolves all of them and the names match.

What am I missing?

Here is my file with just the headers and one row of data.

may,document,expense_name,memo,proposed_accounting_code,proposed_cost_center,vendor_name
147997.42,INVDE00096748,oooisdoi,“acme, Cross Charge Advertising LinkedIn EUR 148.678,85, Q1/26”,6601 Advertising : Advertising - IC,181.300 - Performance Marketing,

Have you tried this plugin? It’s much better than just the csv uploader bubble provides.

thanks - that definitely creates a file – now I need to learn how to ingest it into a data base which I can do.

Yeah. It should have directions on how to loop through it on a backend workflow to run though everything. Plus no limits on how many you can import now. Hope that helps. :blush:

I would separate two questions here:

  1. is Bubble receiving the same raw CSV in the UI flow as it receives in the backend flow?
  2. does the first row/header actually match the schema your upload action expects before Bubble starts trying to parse/write it?

When a CSV works in one path and fails in another, I usually put a preflight validation step before the upload/write step. That lets you check the raw headers, required columns, blank key fields, duplicate IDs, and row-level issues before Bubble’s importer gives a vague column mismatch error.

If the file passes preflight, continue into the upload/import workflow. If it fails, show the user the exact row/header problem and stop before anything is written.

I built CSV Guard for this narrow validation step. It does not replace Bubble’s importer or write records; it checks the CSV first and returns clear row/header errors. I can also wire this kind of gate into an existing Bubble workflow as a small fixed-fee setup if you want it handled.

the link to documentation to see how to use this does not work,

https://csvcreator.bubbleapps.io/csv_uploader

https://bubble.io/live_not_supported?appname=csvcreator

This is the live version of a Bubble app!

The application csvcreator is on a plan that does not grant access to its live version. If you are the owner of this app, please upgrade the app plan with Bubble to deploy your app and launch it.

Yeah, Bubble turned off free Live apps so it broke a lot of links to documents. @fede.bubble Is there anyway to turn these back on for the plugin developer and template developers so they people can actually see the docs?

You can also reach out to Eli and see if he can give the Test version page with the password for you. Eli Contributor Profile | Bubble

Thanks for the heads up, taking a look.

Edit: I don’t think we’ll be changing this behavior (free apps having live pages) any time soon

I guess it doesn’t matter anyways.