# Batch Editing for Specify 7

**URL:** <https://speciforum.org/t/batch-editing-for-specify-7/847>\
**Category:** New Feature Requests\
**Created:** [November 3, 2022, 3:03pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847 "2022-11-03T15:03:01Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![LVStone](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/lvstone/32/1240_2.png) [@LVStone](https://speciforum.org/u/LVStone)\
**Post date:** [November 3, 2022, 3:03pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/1 "2022-11-03T15:03:01Z")

</div>

We have made much use of Batch Editing in Specify 6. It is necessary for us to be able to transition to Specify 7.

---

<div class="post-metadata">

**Author:** ![mcosta](https://avatars.discourse-cdn.com/v4/letter/m/6a8cbe/32.png) [@mcosta](https://speciforum.org/u/mcosta)\
**Post date:** [November 3, 2022, 3:10pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/2 "2022-11-03T15:10:01Z")

</div>

This is a feature we would welcome as well in Specify 7.

---

<div class="post-metadata">

**Author:** ![gholman](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/gholman/32/777_2.png) [@gholman](https://speciforum.org/u/gholman)\
**Post date:** [November 3, 2022, 5:03pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/3 "2022-11-03T17:03:59Z")

</div>

Batch Edit is a required feature for our workflow as well. We use this tool for quickly adding data to multiple records at once and also quality control. It would be even more useful if Batch Edit capabilities were expanded to include additional tables.

---

<div class="post-metadata">

**Author:** ![fedoras](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/fedoras/32/455_2.png) [@fedoras](https://speciforum.org/u/fedoras)\
**Post date:** [November 4, 2022, 11:47am UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/4 "2022-11-04T11:47:12Z")

</div>

We also need batch editing in Specify7 for several of our institutions, especially those that cannot use Specify6 due to technical reasons.

---

<div class="post-metadata">

**Author:** ![Grant](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/grant/32/4255_2.png) [@Grant](https://speciforum.org/u/Grant)\
**Post date:** [November 4, 2022, 3:54pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/5 "2022-11-04T15:54:37Z")

</div>

Hi all,

Could you share with us examples of workflows you are using with the BatchEdit tool? We are discussing implementation and development of batch editing in Specify 7.

---

<div class="post-metadata">

**Author:** ![gholman](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/gholman/32/777_2.png) [@gholman](https://speciforum.org/u/gholman)\
**Post date:** [November 4, 2022, 5:37pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/6 "2022-11-04T17:37:48Z")

</div>

We use Batch Edit to help standardize and fill in missing Geography data. This is especially useful when we have many specimens with similar Locality Names, but varying levels of Geography data available on the specimen labels & database records. We conduct Georeferencing based on units in the Geography tree; when there is too much missing data in the Locality, we don’t georeference them in our typical workflow.

For example, we have many specimens with the Locality Name ‘Lake Sunapee, N.H.’, and the lake is actually on the border between Merrimack and Sullivan Counties. Without further research, these specimens are transcribed with the State and Locality name, but no County. In Batch Edit, we can add County and get these records into our typical georeferencing workflow.

 ![image](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/5/551dcf568ca8d96e18b8340ac355f752089941de.png)  
 ![image](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/e/e3f31df2a1d84428d5e667301eda8d73f2ddc111.png)

---

<div class="post-metadata">

**Author:** ![LVStone](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/lvstone/32/1240_2.png) [@LVStone](https://speciforum.org/u/LVStone)\
**Post date:** [November 7, 2022, 7:55pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/7 "2022-11-07T19:55:14Z")

</div>

Hi Grant,

In addition to resolving duplicate localities with (numerous!) spellings and typos, we often clear up inconsistencies for easier searching. For example, the “verbatim locality” for many specimens may have been listed in one place, but was entered by sundry volunteers with different lots in different ways. One example:

 ![](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/c/c902553de1061b0bd1999667e58ad688dd01d5fe.png)

These are a few items from one collecting event at one locality; “Verb Locality” needs to be the same (the Locality Names also need to be resolved).

Note that I already resolved hundreds of these in this donation using batch editing. Another example:

 ![](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/3/3489bda44a121c4222ac07b59ddc98c64317e521.png)

These are all the same locality. They do not necessarily need the same “Verb Locality”, but adding collector and collection date to the query would allow grouping them by the same verbatim location.

Thanks,

Larry J. Van Stone

Data and Mollusk Specialist

Delaware Museum of Nature and Science

---

<div class="post-metadata">

**Author:** ![LVStone](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/lvstone/32/1240_2.png) [@LVStone](https://speciforum.org/u/LVStone)\
**Post date:** [November 7, 2022, 7:57pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/8 "2022-11-07T19:57:51Z")

</div>

I also echo the request by gholman that additional tables be made accessible to batch editing. Ideally, it would include ALL tables, but I know that the deeper in a schema a query reaches, the longer the SQL gets, so the programmers will probably need to take this in stages.

---

<div class="post-metadata">

**Author:** ![gholman](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/gholman/32/777_2.png) [@gholman](https://speciforum.org/u/gholman)\
**Post date:** [January 31, 2023, 7:12pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/9 "2023-01-31T19:12:26Z")

</div>

Here’s an example of a use case where we need support for additional tables in Batch Edit.

Specifically, Lithostratigraphy (LS) and Chronostratigraphy (CS).

In this example we the UMich Paleo Invertebrate database, where data has been entered in the Remarks table that would be better captured in CS:Series/Epoch, LS:Litho Group, LS:Formation, and or LS:Member.

 ![Screenshot 2023-01-31 at 2.07.20 PM](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/d/d67eb46357b891873568f46ad478a0fa2bb9109e.jpeg)

---

<div class="post-metadata">

**Author:** ![markp](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/markp/32/1184_2.png) [@markp](https://speciforum.org/u/markp)\
**Post date:** [September 7, 2023, 11:25pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/10 "2023-09-07T23:25:40Z")

</div>

Similar example to what @gholman has above. Sometimes historically, things have been entered into the remarks field that could best be put elsewhere. By being able to export certain tables/fields as a spreadsheet, edit them through regex/code, and then re-upload into Specify, we can progressively improve data quality. Or perhaps a researcher comes to us with a spreadsheet with measurements for items within the collection, it is much easier to keep them in spreadsheet format and make bulk edits than having to go through one by one in the form system.

My personal opinion of the best/easiest way to implement this would be to allow edits to be made through the workbench by just going through the normal upload workflow, but with a switch called “enable overwrites” or something similar.

---

<div class="post-metadata">

**Author:** ![rcubey](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/rcubey/32/826_2.png) [@rcubey](https://speciforum.org/u/rcubey)\
**Post date:** [April 25, 2024, 3:42pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/11 "2024-04-25T15:42:00Z")

</div>

We would love to see this. Our example is adding more data to existing records.

---

<div class="post-metadata">

**Author:** ![Plarson](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/plarson/32/797_2.png) [@Plarson](https://speciforum.org/u/Plarson)\
**Post date:** [April 30, 2024, 2:18pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/12 "2024-04-30T14:18:24Z")

</div>

I would also like to be able to batch edit more tables. For example, we do large annual DNA sequencing runs and while create the DNA records manually while selecting tissues to sequence, once the results come in it would be very handy to use the Batch editor to update those records with BOLD identifiers, the actual sequences, target markers, etc. Batch edit for the DNA sequences isn’t available in Specify6

---

<div class="post-metadata">

**Author:** ![sorosoro](https://avatars.discourse-cdn.com/v4/letter/s/5f9b8f/32.png) [@sorosoro](https://speciforum.org/u/sorosoro)\
**Post date:** [May 1, 2024, 3:35pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/13 "2024-05-01T15:35:21Z")

</div>

I’ve been adding and correcting information in the collecting event table. Sometimes the information was wrong in the original import of the specimens, and sometimes there is new information from the field notebooks that had not been digitized before. I have been also cleaning up mistakes and typos.

I do this editing directly in the database because it’s not practical for me to use Specify 6 at the moment, but I would much prefer to do all editing in Specify 7.

What @markp suggest with the Workbench sounds good.

---

<div class="post-metadata">

**Author:** ![pverley](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/pverley/32/1413_2.png) [@pverley](https://speciforum.org/u/pverley)\
**Post date:** [June 19, 2024, 10:30am UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/14 "2024-06-19T10:30:56Z")

</div>

Adding our use-case for French Guiana migration:

We massively imported `Collection objects` with `Collection object attributes` through the WorkBench. Worked beautifully.

A few days later, we realized we could have included in the initial upload some additional attributes. Even though we knew WorkBench is no BatchEdit, we gave it a try, and we share here what we did as an example of a “natural” extension of the WorkBench for data enrichment or data edition.

 ![enrich-coa](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/7/7b35298fa00d0818abbb3d231133500f402506d5.png)

We first tried with just Catalog Number and the new collection object attributes, but got duplicated catalog number error. Then we tried Catalog Number + existing collection object attributes for matching with default matching behavior and the new collection object attributes with “Always ignore” matching behavior. No error this time but zero new cell detected.

 ![coa-ignored](https://canada1.discourse-cdn.com/flex029/uploads/specifysoftware/original/2X/a/a5e602e58a9c730587e8ef7a143326b98ec594b2.png)

The gear button could be extended with “Edit behavior” options.

Any news on this front?

Regards,  
Philippe V.

---

<div class="post-metadata">

**Author:** ![rcubey](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/rcubey/32/826_2.png) [@rcubey](https://speciforum.org/u/rcubey)\
**Post date:** [January 22, 2025, 12:24pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/15 "2025-01-22T12:24:03Z")

</div>

A use case is the addition of crowd-sourced transcription data from specimens (from citizen science).

---

<div class="post-metadata">

**Author:** ![phb](https://avatars.discourse-cdn.com/v4/letter/p/439d5e/32.png) [@phb](https://speciforum.org/u/phb)\
**Post date:** [July 9, 2025, 4:48pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/16 "2025-07-09T16:48:32Z")

</div>

Hi folks, love the batch edit feature! One nit, it looks like it’s currently a hard requirement to validate after a batch edit before committing. Once the errors are fixed, it requires a full re-validation before upload, which means that it’s double-checking already-validated fields as well as the newly fixed errors. On the other hand, the workbench allows uploads without re-validation. My suggestions are:

- Re-validation should only be applied to edited fields (saves a lot of processing time)
- Workbench and batch edit should operate in the same way to unify user experience  
Many thanks! Already a helpful feature 🙂  
—Paul

---

<div class="post-metadata">

**Author:** ![bronwyn](https://yyz1.discourse-cdn.com/flex029/user_avatar/speciforum.org/bronwyn/32/5742_2.png) [@bronwyn](https://speciforum.org/u/bronwyn)\
**Post date:** [July 11, 2025, 3:12pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/17 "2025-07-11T15:12:09Z")

</div>

Hi @phb,

Thank you for reaching out! We’re thrilled to hear that you’re taking advantage of Batch Edit in Sp7 and welcome community feedback on this tool.

I’ve added a feature request for optimizing the Batch Edit validation process on GitHub:

> <https://github.com/specify/specify7/issues/7024>
>
> \*\*Is your feature request related to a problem? Please describe.\*\*
> 
> From Paul Bu…cci via \[discourse comment\](https://speciforum.org/t/batch-editing-for-specify-7/847/16?u=bronwynscc)
> 
> \> Hi folks, love the batch edit feature! One nit, it looks like it’s currently a hard requirement to validate after a batch edit before committing. Once the errors are fixed, it requires a full re-validation before upload, which means that it’s double-checking already-validated fields as well as the newly fixed errors. On the other hand, the workbench allows uploads without re-validation. 
> 
> 
> \*\*Describe the solution you'd like\*\*
> 
> \> My suggestions are:
> \> Re-validation should only be applied to edited fields (saves a lot of processing time)
> Workbench and batch edit should operate in the same way to unify user experience
> Many thanks! Already a helpful feature 🙂 
> \> —Paul
> 
> 
> \*\*Reported By\*\*
> University of British Columbia 
> 
> \*\*Additional context\*\*
> 
> From Vinny via https://github.com/specify/specify7/pull/5417#issuecomment-2646052721 
> 
> \> \> we need a more nuanced way to compare old and new values.
> \> 
> \> Correct, but we already do (for API)! See 
> \> 
> \> https://github.com/specify/specify7/blob/1b2ab816c6b8229e66ebb8469f3d9bfea3003e7f/specifyweb/specify/api.py#L536-L544
> \> 
> \> Should just be a mechanical change to use it here. Also, https://github.com/specify/specify7/blob/1b2ab816c6b8229e66ebb8469f3d9bfea3003e7f/specifyweb/specify/api.py#L961 branch is irrelevant to us (trace out why)
> 
> Also linked in the relevant PR: 
> https://github.com/specify/specify7/commit/4814f1161de9989e71ab2025866de71a100dc487

Please don’t hesitate to reach out with any further questions or comments!

– Bronwyn

---

<div class="post-metadata">

**Author:** ![phb](https://avatars.discourse-cdn.com/v4/letter/p/439d5e/32.png) [@phb](https://speciforum.org/u/phb)\
**Post date:** [July 16, 2025, 6:31pm UTC](https://speciforum.org/t/batch-editing-for-specify-7/847/18 "2025-07-16T18:31:24Z")

</div>

Thank you Bronwyn!
