OpenShopy
Przewodnik

Import, export and reports

Open Import & export in the dashboard. Every import is validated first: you see how many rows would be created, updated or skipped and every error with its row number before anything is written. Finished imports are kept in the import history and their error report can be downloaded as CSV.

CSV rules

  • UTF-8 (Excel CSV files with BOM are fine). The delimiter (comma or semicolon) is detected automatically. The first row is the header; header names are case-insensitive and spaces become _.
  • Money columns use decimal notation in the order or store currency (129.99 or 129,99), not minor units.
  • Lists (tags, image URLs) are separated with |, , or ; inside the cell.
  • Booleans accept true, yes, 1, y, t and tak.
  • Modes: create or update (upsert) or create only (existing records are skipped and reported as warnings).

Products

One row per variant. Rows with the same slug (or the same title when slug is empty) form one product.

ColumnRequiredNotes
title✓ on the first row of a product
slugGenerated from the title when empty; used to find existing products
descriptionHTML or plain text
statusdraft (default), active, archived
vendor, product_type, tags
tax_classstandard (default), reduced, super_reduced, zero
option1_name, option1_value … option3_name, option3_valueVariant options, e.g. Size / M
sku, barcodeSKUs must be unique within the file
price✓Decimal, ≥ 0
compare_at_price, costDecimal
stock, weight_gramsWhole numbers
image_url (or images)Public http(s) image URLs; added only when the product has no images yet
seo_title, seo_description

Duplicate checks: repeated SKUs in the file and repeated option combinations within one product are reported as errors.

Customers

ColumnRequiredNotes
email✓Matched case-insensitively against existing customers; duplicates in the file are errors
first_name, last_name, phone, company, vat_id, note
languagepl (default) or en
accepts_marketingBoolean
tagsList
address_line1, address_line2, address_city, address_postal_code, address_countryCreates a default address when the customer has none; country is a 2-letter code

Historical orders

Use this to bring order history from another platform. Rows with the same order_ref become one order; each row is one line item. Imported orders are tagged imported and ref:<order_ref>, so importing the same file twice skips orders that already exist. Historical imports never change stock and never send notifications.

ColumnRequiredNotes
order_ref✓Your previous order number
email✓ on the first row of an orderCustomer is found or created
created_atDate (YYYY-MM-DD or ISO)
currencyPLN, EUR or USD (default: store currency)
payment_statusDefault paid
fulfillment_statusDefault fulfilled
sku or title✓SKU links the line to an existing variant
quantityDefault 1
unit_price✓Decimal
tax_ratePercent, e.g. 23
shipping_total, discount_totalDecimal, taken from the first row
first_name, last_name, phone, line1, line2, city, postal_code, country_codeShipping address

Exports

ExportContents
Products & variantsOne row per variant, same columns as the product importer (round-trip safe)
CustomersCustomer fields, default address, order count and total spent
OrdersOne row per line item with order totals, statuses and addresses
Customer data (GDPR)Everything about one customer as JSON, from the customer page
Full store backupSettings, catalog, customers, orders, invoices, discounts, shipping and taxes as one JSON file (admins only, customer passwords excluded)

Reports for accounting

ReportWhereContents
Invoice register (CSV)Invoices → Accounting exportNumber, kind, dates, buyer, VAT ID, net / VAT / gross per rate, currency, paid
Invoice line items (CSV)Invoices → Accounting exportEvery invoice line with net, VAT rate, VAT and gross
Full invoice JSONInvoices → Accounting exportComplete invoice documents for accounting software
VAT sales reportImport & export → Accounting reportsPaid orders for a month grouped by country and VAT rate (useful for OSS)
Inventory valuationImport & export → Accounting reportsStock × cost and stock × price per variant

Exports respect the filters currently set on the list you export from.