Export and import data¶
Gem Logic allows you to export and import data in bulk using CSV and other file formats. This is useful for migrating data from another system, making bulk updates, or generating reports.
See also
Migrating data from another system for a step-by-step guide on migrating your data from another system to Gem Logic.
Export and import actions are available from the Actions menu on most list views.
Exporting data¶
To export data, navigate to the list view of the records you want to export (e.g. Products, Contacts, Orders) and click the Actions menu. Select the download icon to open the export dialog.
You can choose between several export formats:
Excel (.xlsx)
PDF (.pdf)
CSV - EU format (semicolon-separated)
CSV - US format (comma-separated)
The exported file contains all records that match your current filters. Apply filters before exporting to narrow down the data.
Export history¶
Every export is logged. You can view past exports from on the corresponding list view. From there you can re-download previously exported files.
Importing data¶
To import data, navigate to the list view and click . This opens the import dialog where you can upload a CSV file.
Downloading an empty template¶
Before importing, download an empty CSV template from the import dialog. The template is available in two formats:
US format (comma-separated)
EU format (semicolon-separated)
The template contains all available columns with two header rows: the first row describes each field, and the second row contains the internal field names. Do not modify or remove these header rows.
Fill in your data starting from the third row. You can delete columns you don’t need and rearrange them as needed.
Creating new records¶
To create new records, leave the id column empty. Gem Logic will automatically assign an ID to each new record upon import.
Updating existing records¶
To update existing records, include the id column with the correct database ID of the record you want to update. You can obtain these IDs by first exporting the existing data.
When the id column contains a value that matches an existing record, Gem Logic will update that record with the values from the CSV row instead of creating a new one.
Tip
A common workflow is to first export your existing data, modify the values you need in the exported file, and then re-import it. Since the exported file includes the database IDs, the import will update the existing records.
Import history¶
Every import is logged. You can view past imports from on the corresponding list view. Each import entry shows the status and allows you to download the original file or a report with any errors that occurred.
Importing products¶
The product import follows the same general flow as other imports — download an empty CSV template (US comma-separated or EU semicolon-separated), fill in your rows, and upload the file from .
Two product-specific details:
Existing products are matched by ``item_sku``, not by ``id``. If a row’s
item_skualready exists in Gem Logic, that product is updated with the values from the row. Rows with a new or emptyitem_skucreate a new product (an SKU is auto-generated when the field is left blank).The first header rows of the product template are reserved and must not be modified or removed. You can delete columns you don’t need and rearrange them freely.
After upload, the status of each import is visible from , where you can also download an error report for rows that failed.
Pricing rules in product import¶
When importing products, pricing for each sales channel is set through three columns that work together as a triple:
price— the amount used by the rule (not always the final selling price)pricing_rule— how the selling price is calculated frompricesales_channel_price— the sales channel this price applies to
You can set up to 5 of these triples per product (price, price_2 … price_5,
each with a matching pricing_rule_* and sales_channel_price_*). Empty triples are ignored.
Allowed values for pricing_rule¶
The pricing_rule column must be one of these four values — anything else will reject
the row:
fixed_price— selling price equalspriceas-iscost_multiplier— selling price iscost × price(wherecostis the sum of the product’s metals, gems and component costs)price_per_carat— selling price isprice × total carat weightof the product’s gemscost_based— selling price equals the product’s cost;priceis ignored
How the triple is applied¶
If
priceis set andsales_channel_priceis empty, the rule and amount are applied to all sales channels for that product.If both
priceandsales_channel_priceare set, the rule and amount are applied only to that sales channel. Use the second and third triples for additional channels.If
priceis empty, no pricing changes are made for that triple — even if you fill inpricing_ruleorsales_channel_price.
Re-importing to update prices¶
When re-importing existing products:
A blank
pricing_rulealways sets the rule tofixed_price, both for new products and when updating existing ones. If you want to keep a different rule (such ascost_multiplierorprice_per_carat), fill in that value in thepricing_rulecolumn.
After import, Gem Logic automatically recalculates the selling price for each sales channel based on the rule, so you don’t need to also fill in the regular price column.
Supported record types¶
The following record types support export and import:
Attributes
Brands
Categories
Certificates
Collections
Contacts
Customer purchases
Email addresses
Email templates
Giftcards
Incoming invoices and credit notes
Materials
Memos and memo items
Outgoing invoices and credit notes
Products
Projects
Quotes and quote items
Repairs and repair items
Sales and sale items
Shipments
Storages
Supplier orders
Tasks
Transactions