Bulk Operations & CSV

Select many,
change everything at once.

Multi-select editing, CSV import and export, and batch workflows that save hours of manual data entry.

1

Multi-Item Selection

StringsTheory supports multi-select across inventory, work orders, customers, and production. Select multiple items and then apply bulk actions to all of them at once.

On macOS:

  • Command+Click (⌘+Click) to select individual items one at a time -- click one, then ⌘+Click others to add them to your selection
  • Shift+Click to select a range -- click the first item, then Shift+Click the last item to select everything in between
  • Combine both: select a range with Shift+Click, then ⌘+Click to add or remove individual items from the selection

On iPad:

  • Tap individual items to toggle them in and out of the selection
  • A checkmark appears next to each selected item
  • The toolbar updates to show bulk action buttons when items are selected

A count indicator in the toolbar shows how many items are currently selected. To deselect all, click any empty area or press Escape (⎋) on macOS.

Tip

On macOS, use ⌘+A to select all visible items in the current list. Combined with search or filter, this lets you quickly select a targeted group -- for example, search for "pickup" then ⌘+A to select all pickup inventory items.


2

Bulk Edit

With multiple items selected, click the Bulk Edit button in the toolbar to change shared properties across all selected items at once. The available fields depend on which section you're in.

Inventory bulk edit fields:

  • Category -- Change the category for all selected items (subcategory is automatically cleared if it doesn't belong to the new category)
  • Subcategory -- Set a new subcategory (must belong to the currently assigned category)
  • Location -- Update the storage location for all selected items
  • Reorder Point -- Set the low-stock threshold that triggers reorder alerts
  • Sync toggles -- Enable or disable Google Sheets, Square, or Shopify sync for all selected items at once

Production bulk edit fields:

  • Status -- Change the production status of all selected serialized units
  • Notes, Revision, Color -- Update shared metadata across selected units
  • Dealer, Customer -- Assign or change dealer and customer associations
Note

Bulk edit only changes the fields you explicitly modify. If you only change the category, all other fields on the selected items remain untouched. You won't accidentally overwrite data.


3

Bulk Add

Need to add a batch of similar items? The Bulk Add view lets you create multiple inventory items at once with shared properties, so you don't have to fill in the same category, location, and supplier for each one individually.

  • Go to the Inventory section
  • Click the Bulk Add button in the toolbar (or use the menu: Inventory → Bulk Add Items)
  • Set the shared properties that apply to all items: category, subcategory, location, supplier, unit of measure
  • Add rows for each individual item, entering just the name, SKU, cost, and price
  • Click Add All to create all items at once
Tip

Bulk Add is perfect when you receive a shipment of new products. Set the shared category (e.g., "Strings") and location (e.g., "Shelf B3"), then quickly enter each string set with its name and price. Done in seconds instead of minutes.


4

Bulk Delete

Select multiple items and click Delete to remove them all at once. A confirmation dialog shows exactly how many items will be deleted and asks you to confirm before proceeding.

  • Select the items you want to delete using ⌘+Click or Shift+Click (macOS) or tapping (iPad)
  • Click Delete in the toolbar
  • Review the confirmation dialog -- it shows the count and a sample of item names
  • Click Delete All to confirm, or Cancel to go back
Note

Bulk delete is permanent. If cloud sync is enabled, the deletions will sync to all devices. Consider exporting a CSV backup before deleting a large number of records, just in case.


5

Bulk Status Changes

Quickly update the status of multiple work orders or production units at once. This is especially useful for end-of-day processing or batch production runs.

Work orders:

  • Select multiple work orders from the list view
  • Click Change Status in the toolbar
  • Pick the new status (Pending, In Progress, Waiting for Parts, Complete, Picked Up, etc.)
  • All selected work orders update instantly

Production units:

  • Select multiple serialized units in the Production tab
  • Click Change Status in the toolbar
  • Pick the new status (In Production, QC, Complete, Shipped, etc.)
  • All selected units update with the new status
Tip

At the end of a production day, select all units that passed QC and change their status to "Complete" in one action. Then select the ones being shipped and set them to "Shipped." Two clicks instead of twenty.


6

CSV Template Generation

Before importing data, download a pre-formatted CSV template for the entity type you want to import. Templates include all supported column headers and sample data so you know exactly what format StringsTheory expects.

  • Go to the section you want to import into (Inventory, Production, Customers, or Work Orders)
  • Click the Import CSV button in the toolbar
  • In the import dialog, click Download Template
  • Open the template in Excel, Google Sheets, Numbers, or any spreadsheet app
  • Fill in your data following the column headers, then save as CSV

Production CSV template columns:

Item SKU, Item Name, Serial Number, Status, Color, Manufactured Date, Notes, Dealer, Customer, Revision
Tip

Use the template as your starting point even if you already have data in a spreadsheet. Copy your data into the template columns to ensure the headers match exactly, then save and import.


7

CSV Import with Validation

StringsTheory's CSV import includes a full validation preview so you can catch problems before committing data. Upload your CSV, review the preview, and approve the import.

  • Click Import CSV in the toolbar of the relevant section
  • Select your CSV file from Finder (macOS) or Files (iPad)
  • StringsTheory parses the file and shows a validation preview
  • The preview highlights any warnings (missing optional fields, date format issues) and errors (missing required fields, duplicate SKUs)
  • Column headers are automatically mapped to StringsTheory fields -- review the mapping and adjust if needed
  • Click Import to create the records, or Cancel to go back and fix your CSV

For production imports, StringsTheory uses flexible matching to associate rows with existing inventory items. It first tries to match by Item SKU, then falls back to Item Name. Rows that don't match any existing item are grouped as "Unassigned" in the preview, where you can manually assign them to an item before importing.

Note

Date fields accept multiple formats: yyyy-MM-dd (preferred, e.g., 2026-03-15), MM/dd/yyyy (e.g., 03/15/2026), or M/d/yyyy (e.g., 3/15/2026). For best results and round-trip compatibility, use yyyy-MM-dd.


8

Round-Trip Workflow

StringsTheory's CSV export is designed for round-trip compatibility. Export your data, edit it in any spreadsheet application, and re-import the modified file. The format is preserved so the import step recognizes everything correctly.

  • Export: Select the items you want to export (or export all), click Export CSV, and save the file
  • Edit: Open the exported CSV in Excel, Google Sheets, Numbers, or any spreadsheet tool. Make your changes -- update prices, add new rows, correct descriptions
  • Re-import: Save the file as CSV and import it back into StringsTheory. Existing records are matched by SKU or ID and updated; new rows create new records

Exports use the yyyy-MM-dd date format for all date fields, which is the preferred import format. This means you can export, make changes, and re-import without worrying about date formatting issues.

Tip

The round-trip workflow is great for bulk price updates. Export your inventory, open it in Google Sheets, use a formula to increase all prices by 10%, then re-import. Hundreds of price changes in under a minute.


9

CSV Types

StringsTheory supports CSV import and export for four entity types. Each has its own set of columns and validation rules.

Inventory CSV

  • All item fields: name, SKU, category, subcategory, description, unit cost, sale price, quantity, location, supplier, reorder point, barcode, unit of measure, units per package, and more
  • Matched on SKU for updates; new SKUs create new items

Production CSV

  • Serialized unit fields: item SKU, item name, serial number, status, color, manufactured date, notes, dealer, customer, revision
  • Any column header that doesn't match a known field is treated as a custom production field and preserved
  • Matched to inventory items by SKU first, then by name

Customer CSV

  • Customer fields: name, email, phone, company, address, notes
  • Great for migrating from another system or importing a mailing list

Work Order CSV

  • Work order fields: customer name, item description, work requested, status, dates, notes
  • Can reference existing customers by name for automatic linking
Note

For production CSVs, known column headers are: Item SKU, Item Name, Serial Number, Status, Manufactured Date, Mfg Date, Notes, Color, Dealer, Customer, Revision. Neither SKU nor name is required -- unmatched rows are grouped as "Unassigned" for you to handle in the preview.


10

Auto-Create Categories & Item Types

When importing a CSV that references categories or item types that don't exist yet in StringsTheory, the app creates them automatically. You don't need to manually set up your taxonomy before importing -- just import and StringsTheory handles the rest.

  • If a CSV row has a category value like "Capacitors" and that category doesn't exist, StringsTheory creates it during import
  • The same applies to subcategories -- if a subcategory is referenced that doesn't exist under the specified category, it gets created
  • Item types referenced in CSV data are also created if they don't already exist
  • All auto-created categories and types are immediately available in dropdowns throughout the app
Tip

This is the fastest way to set up your category structure. Instead of manually creating categories one by one in Settings, just import your inventory CSV with the category column filled in. StringsTheory builds the entire taxonomy from your data.


11

Customer Resolution for Production Imports

When importing a production CSV that includes a Customer column, StringsTheory needs to match those customer names to existing customer records in your database. The customer resolution UI helps you handle this cleanly.

  • StringsTheory first attempts to auto-match by comparing the CSV customer name against your existing customer records
  • If an exact match is found, the link is made automatically -- no action required
  • If no exact match is found, the customer resolution dialog appears, showing each unmatched name
  • For each unmatched name, you can: pick an existing customer from a dropdown (for close matches like "John Smith" vs. "J. Smith"), or keep as text (store the name as plain text without linking to a customer record)
  • Once all names are resolved, the import proceeds with the correct customer associations
Tip

To avoid resolution dialogs on future imports, make sure your CSV uses the exact same customer names as your StringsTheory customer records. Consistent naming across your spreadsheets and the app saves time on every import.