Here's a specific example. When I export data from Stripe, there is a Status column with the value Paid. This obviously corresponds to CiviCRM's Contribution Status field. However, CiviCRM doesn't use the term Paid, it uses Completed.

If I try to just directly import data from Stripe, CiviCRM complains about invalid status (and other fields with similar issues).

I could easily write a little script to munge CSV files from Stripe into something that makes CiviCRM happy, but I really want to create a process that our staff without deep technical skills can use. Running a command line Perl script is out of the question. I could make a web app to munge the CSV files but now we're getting into very silly amounts of work for something absolutely trivial!

Ideally, CiviCRM would have some sort of notion of munging/mapping for the values in the data being imported, as opposed to just mapping the field names.

I didn't see any extensions along these lines but maybe I missed something.

I'd love to learn how others have solved this problem.


You are aware that stripe can interface directly with civi? it would save you the trouble to have to import.

As for your question: not to my knowledge, but for your team, wouldn't it simple enough to do a search/replace in excel?

  • Yes, I am aware. There was a period when this was broken and so there's a month of data that needs to be imported manually. And yes, we could download the CSV, munge it manually, save it, and then save it, but that's an awfully tedious process to document. – Dave Rolsky Sep 25 '17 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.