Importing, exporting and QR labels
CSV import and export, QR labels, and deleting data.
Importing from CSV
Orders, Customers, Products, Filament, Inventory and Expenses each have an Import CSV button on their page, and nothing is saved until you have seen a preview.
Pick a CSV file, then match your file's columns to FoxTrack's fields; required fields are marked with an asterisk, and each dialog has a docs view listing every accepted column with a hint. By default rows are added as new records and nothing existing is overwritten (see Updating existing records from a file for the exception). Money columns are plain decimals, dates are YYYY-MM-DD, and true/false columns accept true or false. An order file can carry a Quantity and a Unit price per line; the preview shows both before anything is saved. Row numbers in the preview and in every message are the spreadsheet's own, blank rows included. A file that is not UTF-8 (Excel's plain CSV, for example) is read as Windows text, and the dialog says so: check that names with accents look right in the preview. Closing the dialog while an import runs stops it after the row being saved and says how many rows went in; press Import again to add the rest.
The preview also flags rows you would get twice, and skips them. Each flagged row says why:
- a customer with the same email, or with no email the same name and phone;
- an expense with the same date, amount and description;
- a row of a FoxTrack export whose record is still here (customers, expenses, filament);
- a product whose SKU is already used (turn on Update existing products to change it instead);
- an inventory item whose name is already used (turn on Update existing items to change it instead);
- an order number you already have.
For customers, expenses, filament and inventory a checkbox imports them anyway. So an export fed back in, or a file run again after an import stopped partway, does not double anything, and a file restored after Clear all data still imports in full.
Each import writes one line to Settings → Activity, such as Imported 12 products from products.csv, 3 updated, 1 skipped, as well as a line per record it saved. An import that stops partway writes its line with what it saved and how many rows it left; clicking Import again writes a second line for only the rows that run saved.
Updating existing records from a file
Products, Inventory and Orders imports can change records you already have, for a bulk edit in a spreadsheet: export, edit, import.
Turn on the switch in the import dialog (Update existing products, Update existing items or Update existing orders). Before anything is saved, the preview counts what will happen, such as 12 new, 3 updated, 1 skipped (no name).
- Products: a row matches a product by its Product ID (from a FoxTrack export), then by SKU (a variant's or the product's), then by name. Only the cells that are filled in change; a blank cell leaves the field as it is. Stock Quantity and the low-stock threshold change the one variant whose SKU the row has, or the product's only variant. Prices per variant or channel, the bill of materials and store stock are never changed by an import.
- Inventory: a row matches an item by its ID from a FoxTrack export, then by name, and changes only the filled-in cells.
- Orders: a row matches an order by its order number. The customer, due date, project title, notes and shipping change only where the cell is filled in, and the status never changes. An order's lines are replaced only when the file has a Description column, one row per line with an order's rows next to each other; a line that has already started is never removed.
Rows that match nothing are added as new records. An import that stopped partway can be run again with the switch on, so the rows that already saved are updated instead of added twice.
Exporting your data
Owners and admins can download any dataset as a CSV, or everything as one zip, from Settings → Data → Export data.
Export data downloads every row of one dataset as a CSV: Orders, Order line items, Customers, Products, Product variants, Filament, Inventory, Expenses, Quotes, Quote line items, Invoices, Invoice line items, Invoice payments, Credit notes, Repeating invoices, Replenishment runs, Replenishment run lines, Printers, Maintenance log, Product materials (each product's bill of materials), Maintenance schedules, Stock ledger (every stock movement), Filament catalog, Statuses and priorities (board columns, priorities and line statuses in one file), Sales channels, Activity log, or Files (photos, receipts and print files: each stored file with the record it belongs to and a download link that works for 7 days). Export everything downloads one zip file holding every one of them as a CSV.
Money is written in decimal units so the file opens directly in a spreadsheet app. Text that starts with = + - or @ is written with an apostrophe in front, so a spreadsheet does not run it as a formula; importing the file takes the apostrophe off again. The files themselves are not in the zip: open the links in the Files list within 7 days to save them, or run the export again for fresh links. The Products and Product variants exports add a Stock column per sales channel (Stock: Market stall) for what sits at each store. Reports have their own CSV and PDF export on the Reports page, and an order's fulfillment page and a replenishment run export their lines as CSV.
Importing from the old FoxTrack app
Settings → Data → Import from old FoxTrack takes the export file from the original FoxTrack app and adds it to this workspace: printers (with their maintenance schedules and maintenance records), filament spools, filament types for the catalog, inventory items, customers, quotes, orders, invoices, expenses and products. Existing data is not overwritten; the import only adds new records, and it reports how many of each were imported. Your plan's limits apply: if the file holds more than your plan allows (for example a second printer on Free), the import stops, adds nothing, and says which limit it hit. Upgrade, then import again. If the card says importing is not available on this server yet, email info@foxtrack.studio with the export file and we will run the import for you.
QR labels
Filament spools, filament types, inventory items, products and orders each have a label button that previews a QR label with the record's identifying details and lets you download or print it. Scanning the code with a phone opens that record in FoxTrack; you need to be signed in. Item cards for the print room are a separate PDF from an order's fulfillment page.
Clearing all data or deleting a workspace
Settings → Danger zone (owner only) has two irreversible actions. Clear all data deletes every order, customer, product, filament spool and catalog type, printer, inventory item, expense, invoice and quote in the workspace, their photos, receipts and print files, the workspace logo, the store sync, webhook delivery and Bridge print history, the activity log and assistant chats, and then writes one activity line saying who cleared the workspace. It keeps the workspace, its settings (including the document logo), its team and its store connections; type DELETE to confirm. Delete workspace removes the workspace and everything in it; type the workspace name to confirm. Export what you want to keep first.
Still stuck?
Email info@foxtrack.studio or ask on the FoxTrack Discord. Inside the app, the question mark in the top bar sends a bug report or feedback.

