Documentation

Export & Import Products

Move your catalog between organizations, or keep a copy of it as a file. The AI work travels with the products - enriched descriptions and port metadata arrive already done.

Exporting

  1. Go to the Products page and set the column filters you want. Leave them clear to export everything.
  2. Click Export All Filtered.
  3. A note appears telling you how many products were requested, and the file lands in your downloads as products-export-2026-08-15.json.

The export follows the filter, not your checkboxes. Every product matching the current filter is written - all pages of results, not just the page you are looking at - in the same order the grid shows them. Nothing in your catalog changes, and your filters, scroll position and selection survive the download.

If Semantic Search is switched on and you have run a query, Export writes that result set instead - what is on screen.

Large catalogs arrive as a zip

Above 5,000 products the export splits into numbered files inside a products-export-2026-08-15.zip. Each numbered file is a complete export file on its own - import them one at a time.

What Travels

The expensive work comes with the product:

  • Enriched Description - the AI-written text behind semantic search
  • Connection Metadata - ports, port types and PoE, as used by schematic auto-wiring
  • Make, Model, Part#, Vendor, Price, Description, Long Description and Image
  • Product Type, Room Type, Category, Tags, Specifications and attributes

Two things stay behind:

  • Embeddings - the search vectors. Imported products are findable by keyword immediately, but they show as missing in the Embeddings counter until you generate them.
  • Estimating defaults - the per-product cost, markup and labor hours you set for quoting.
Turn imported products into search results

Click Generate beside the Embeddings counter on the Products page. It costs about 1 credit per product. The slider next to the button sets how many are processed per run and starts at 25 - after a large import, drag it up rather than clicking Generate over and over.

Importing

  1. Click Import Products on the Products page and pick an export file.
  2. The file uploads and every entry is matched against your catalog. The preview opens before anything is written.
  3. Read the preview, decide whether to update products you already have, and click Apply.

Reading the Preview

The big number is how many products are in the file. Beneath it, every entry falls into one of four buckets:

  • New - no product in your catalog matches. These are always created.
  • Already in catalog - matched to one of your products. Skipped unless you tick the update checkbox.
  • Ambiguous - the entry matches two or more of your products, so there is no single right target. Always skipped, and the reason names the products it hit.
  • Invalid - a missing Make or Model, a value too long for its field, or a second entry in the same file naming the same product. Always skipped, with a reason on the row.

When the file matches products you already have, the preview also states what an update would actually change - "price differs on 137, port metadata differs on 12, nothing changes on 251" - so you can see the size of the edit before you make it.

The preview also totals the credits that would follow: how many new products will need embeddings, and, if you tick the update box, how many updated ones will need re-embedding. That second number counts only changes to the text embeddings are built from, so a price-only import reads zero. The import itself spends no credits.

Updating Products You Already Have

Updating is off by default. The checkbox names exactly what it replaces: vendor, price, description, long description, enriched description, image, product type, room type, category, tags, specifications, attributes and port metadata.

  • Make, Model and Part are never changed. They are how the file finds your product in the first place.
  • Blank values never overwrite. An entry with an empty description leaves your description alone. An import can add and change, but it cannot clear a field.
An import cannot be undone

Export your catalog first if you want a way back. Be aware of the limit, though: because blank values never overwrite, re-importing an older export restores what the fields used to say but cannot empty a field that was empty before.

When an Import Is Refused

Nothing is half-written. If anything fails while Apply is running, the whole import rolls back and the modal says so - no partly-imported catalog to clean up.

An import is also turned away before it starts when:

  • An embedding job is running for your catalog. Wait for it to finish, then import.
  • The file holds more than 5,000 products. Use the numbered files from the zip.
  • The file is larger than 50MB, is not valid JSON, or was exported by a newer version of AVstackr.
Ports from another organization

If the file carries port types your organization has not defined, the preview warns you and counts them. The ports still arrive - they show unlabelled, or bound to a same-named type of your own. See Connection Metadata for how port types work.