In This Article:

    How do I edit a donation record?

    In This Article:


      When to use it

      Existing donation records can't be directly modified through the Salsa headquarters interface the way you'd modify, say, the supporter record.

      However, you can update donations by using Salsa's importer, under the Supporter Management tab.

      We have a whole guide to importing donations data here. The concepts in that guide should throw some light on interacting with donations data via the importer, but the guide itself focuses mostly on adding donations en masse via an import (for instance, importing the week's batch of snail-mail check donations).

      Updating a Salsa data row from an outside file

      Conceptually, what we're going to do is find a row of Salsa data -- on the donation table in this case, though it could be any other table -- and use data on an outside file to modify it.

      The importer is the tool that lets us tell Salsa to make this kind of file-based update.

      Using the Importer to Change Data

      All Salsa data, no matter what table it resides on, is identified by a tablename_key number that's completely unique. Each supporter has a unique supporter_key. Each donation has a unique donation_key. (You'll notice that the donation record in the screenshot above also has a supporter_key. That number tells Salsa which donor made this particular gift.)

      To update data via the importer, whether that's one field in one record or many fields in thousands of records, we're going to reconstruct the path in that screenshot for your data.

      Step 1: Identify the table_key number of the record(s) you intend to change

      For a single donation like our example, that's just a matter of looking at the target record in your Salsa headquarters. Key numbers will be shown in the leftmost column when you list Salsa data; they'll also be visible in the url when you view the details for a specific record.

      This key number is going to become the "key" that unlocks the file when we import. So to start with, just copy it into the first cell of a spreadsheet.

      In this example, the key 1803637 in cell A2 indicates that all the other data we subsequently add to row 2 will modify record 1803637 when we import. (Note that the column headers in row 1 in this example are optional; you need not include column names in your own file, and if you do include them, you need not name them in accord with Salsa's own field names.)

      If there are two or three records to update, just find the unique key numbers for the second and third records, and add them to your spreadsheet as additional rows in the same column.

      If you intend to make a batch update of many records, you might want to take a shortcut here by exporting key numbers en masse from Salsa via a report, and using those to begin your import file.

      2. Add to your import file the data you intend to write into Salsa

      Once key numbers are in place, we'll just need a second column in the spreadsheet reflecting the data you wish to update.

      In our example screenshot, we want to reclassify donation 1803637 with the tracking code new-code. So, in cell B2 (the next column for the row beginning with 1803637), we just enter the text new-code.

      Extend as desired.

      • If there are many different donation_keys to update (besides just 1803637), copy the tracking code and paste it all the way down the spreadsheet column.
      • If there are many different fields to update (besides just tracking code), create additional columns for each field, and drop in the appropriate data updates in those columns.

      3. Execute the import

      With the full import file of keys, tracking codes, and whatever else set up, it's time to translate that data into Salsa via the importer.

      3a. Make your data into an importable delimited file

      If you've done steps (1) and (2) with a spreadsheet application such as Excel, you'll have to make your data import-friendly by saving it as a delimited text file (such as a comma-delimited .csv file, or a tab-delimited .txt file). It's probably as simple as doing a save-as in your spreadsheet applicatin; see this documentation, or this video guide.

      3b. In your Salsa headquarters, navigate to the importer

      You'll find it in your Supporter Management tab, under Imports >> Import Supporters.

      3c. Complete the first step of the import process

      There are three things you'll need to do on this screen:

      1. Browse for and select the saved import-ready file you created in (3a);
      2. Designate the field delimiter used by that import-ready file (this is the most frequently overlooked step); and,
      3. Write in the Salsa table name you intend to target with the import. For donations, the table name to write in is donation (singular). For other imports, consult this list of Salsa's most frequently used tables.

      Once you've done all this, hit the "Save and Continue" button. We're almost there!

      3d. Complete the second step of the import process

      In step 2 of the import process, you should see two columns: a list of the fields in your import file; and, for each such field, a pull-down menu of available Salsa fields from the write-in table you designated in step one. If your data doesn't look like this, there's a problem; begin again with (3c).

      In our example, we're matching the donation_key column to the Salsa field donation_key, and we're matching our second column to the Salsa field Tracking Code.

      Once the fields are aligned, we're ready to go!

      Just hit "Submit for Upload".

      4. Confirm the update

      The only thing left to do is confirm that your data updates look right. Navigate in the headquarters to an updated record and give it the old eyeball test.


      Postscript: So why can't I just hit an "edit" button?

      Many data rows in Salsa aren't available for editing directly in the interface simply because users so rarely want to edit them.

      That's largely true of donations (how often do you retroactively alter an existing donation record?). And it's also the case that most donation records in Salsa mirror records kept in at least one external database. For instance, all online donations are recorded by the merchant gateway processor. Most organizations adding offline donations to Salsa are also recording them in at least one third-party location as well, such as a donor database or an audit log. Discrepancies among these financial records caused by casual or unconsidered data alterations can present serious accounting problems.

      Disallowing easy headquarters editing while allowing updates by import is intended to filter out potentially error-prone casual updates while still allowing experienced Salsa users to make a considered change when necessary.

      Was this article helpful?
      1 out of 1 found this helpful
      Have more questions? Submit a request


      • Thanks for the very detailed how-to!  However, I've really got to take issue with the justification for why your customers must make do with this system, rather than have access to an easy "edit" button.

        I understand the importance of keeping Salsa's records in line with third party ones, especially when it comes to financial transactions.  Clearly, changes to this sort of information are problematic, and you want to ensure the integrity of your data. But the current solution fails in two ways.

        1.  You're treating all of the data associated with a donation as equal.  This is clearly not the case: not all of the items are going to be tied to third-party transactions. Sure, information like the form_of_payment, RESPMSG, RESULT, and amount is going to be on a 3rd party server somewhere, and letting users change it is problematic.   But the Donation Tracking_Code? Internal data intended for your clients' (our) use should be editable by us.  Which brings me to my second point:

        2.  The sensitive fields are still editable, and what's more, are editable in a way that is actually much more error prone than a simple webform.   You tell your users that we aren't qualified to edit this data in a simple and clear way (a webform).  But we CAN make whatever changes we'd like, as long as we do it by performing an import process that spans multiple applications and is so complex you had to write a 1,000 word article with 6 diagrams to explain it.  This doesn't make any sense, and it's counterproductive.


        We can edit this data, but only by performing a cross-server mail-merge to a destination we can only troubleshoot via mail merge.  You haven't protected this data, just made it difficult and haphazard to change it.  I can guarantee you that a lack of technical expertise is not going to prevent a determined organization from editing the data, because I'm about to try it myself.  And believe me, mail merges usually take me a couple of tries to get right.

         The donation information has a special level of sensitivity -- I completely understand. But this is a solution which manages to be worse than either restricting the donation data entirely or making it easy to edit.


        • Sincerely,

        Daniel Foster (Responsive Law)

        Comment actions Permalink
      • Hi Daniel! Thanks for your post and for your recent email on this. I have to say, we do agree with what you've shared: This *should* be way easier! We've made sure there are cases for improvement filed with our developers, and we expect that this feedback will be taken into account as they work on improving our product. Hopefully these directions are clear and useful for any updates that need to be made in the meantime. Thanks again!

        Comment actions Permalink
      • For anyone in the future who's looking at this page, a few important points about editing donation information:


        1.  To edit donation information via import, you need permission for the  "Marker for Salsa Enterprise clients" package from your organization's admin: If you're not seeing an options for the "table to upload to" and "write in table," this is your problem.

        2.  Be careful about the formatting in your csv file -- dates in particular have to be YYYY-MM-DD, amounts cannot have currency symbols, etc.  See below for more details.  

        3.  As far as I can tell, you need to include BOTH the donation_key and supporter_key in the csv file, along with whatever information you're trying to change.

        4.  Don't mess with the "advanced options" on the second import page.  I know it says you might want to change the deduplication settings if you're importing to a table other than the supporter table, but the default settings are fine.

        5.  See also 

        Comment actions Permalink
      • Wow, searching for how to do this and I see that on January 29, 2014 at 1:17pm there were vague assurances that Mr. Foster's very valid (and spot-on) concerns would be "taken into account as [Salsa] work[s] on improving our product" yet here it is nearly 11 months later and you still can't edit a donation in a reasonable manner.

        Comment actions Permalink
      • Thanks to Danny Foster for the useful information.  We appreciate you sharing your experience with other Salsa users!

        Comment actions Permalink

      Please sign in to leave a comment.