Docs

Importing and Exporting Data

Move data in and out of Einblick with the shared import/export workflow, plus the specialized contacts, bank-transaction, and accounting flows.

dataimportexportcsvxlsxjson

Importing and Exporting Data

Most list pages share one import/export workflow. Export and import build on the same field definitions per entity, so the field picker, translated labels, automatic column matching, and validation all fit together — a file you export in data mode is ready to be imported again.

Two areas have specialized flows instead: Bank Transactions (bank files need account matching and deduplication) and Accounting Exports (bookkeeping packages are generated from journal entries, not list fields). Contacts use the shared import with additional address-book sources and audience controls.

The export and import round tripA list page with its current filters feeds the export sheet, which produces a CSV, XLSX, or JSON file. That file can go through the import with column mapping and a preview, and becomes records on the list page again.

List page

current filters

Export

format · mode · fields

File

CSV · XLSX · JSON

Import

mapping · preview

your data in Einblickexportimportthe exchange file

Where you find it

Export workflow

  1. Open Export on a supported list page.
  2. Pick the format (CSV, XLSX, or JSON) and the mode:
    • Readable — translated headers, formatted dates, display labels.
    • Data — raw field keys, raw values, and relation IDs, made for reimport.
  3. Adjust filters, fields, field order, related data, and sorting.
  4. Start the export and download the file.

The export sheet starts from the current table filters, so you export exactly what the view shows — or widen the filters first. Archived rows are hidden by default; flip the archive toggle in the table toolbar before exporting if they should be included.

Formats at a glance

FormatReadable modeData modeNotes
CSV✓—always a flat, single table
XLSX✓✓related data becomes extra sheets
JSON✓✓related data becomes a relatedData object; data mode adds an _einblick envelope so the importer recognizes the file

Related data is available for invoices, quotes, and work orders (their positions), organizations (linked contacts and bank details), and festivals (festival days). In readable mode it's optional; in data mode it's included automatically.

Import workflow

  1. Open Import on a supported list page.
  2. Upload a CSV, XLSX, XLS, or JSON file — up to 10 MB and 50,000 rows. If the file has multiple sheets, pick one.
  3. Review the column mapping. Einblick matches columns by field key, translated labels, and common synonyms across all supported languages first, then falls back to fuzzy matches — which are marked so you can double-check them. Any column can be remapped or ignored, and a preview shows the first parsed rows. Under Default values, review or add values for fields that have no mapped column; a mapped column always wins.
  4. On a Contacts import, review the contact-specific panels when your permissions make them available. Newsletter & groups can apply one consent rule to the file, assign every imported contact to selected groups or lists, or map distinct values from file columns to existing or new targets. If you mapped an organization column, Organizations shows which values will reuse an existing organization or create a new one and lets you choose a different organization or skip a value.
  5. Continue to the preview. It shows which rows will be created, updated, skipped, or rejected, including defaults and audience changes. If rows match existing records, choose whether to fill only empty fields, overwrite fields that have an imported value, skip the matches, or import them as new records.
  6. Start the import. It runs in batches in the background, so you can watch progress in the sheet or choose Close and keep importing. The start and final outcome are recorded in Workspace activity. Cancel import stops the remaining batches, but records already created or updated keep those changes.

Good to know:

  • Generic imports create new records and can update detected matches. Fill in missing details is the safe default and never overwrites stored values; the preview offers the other duplicate strategies before anything is written. Only the first 5,000 existing records are checked, and the preview warns when that limit applies.
  • Duplicate matching also compares earlier rows in the same file. With Fill in missing details or Overwrite, a later matching row updates the record produced by the first row, so complementary fields and links are retained. Skip omits later matches, while Import as new keeps them as separate records.
  • Default values apply only to newly created records and never change a matched existing record. Required defaults can be changed but not removed. Blank rows remain skipped instead of becoming records made only from defaults.
  • Each import targets one table. Multi-sheet files let you pick a sheet, not recreate parent-child trees in one step — import each sheet from its matching feature page.
  • Number parsing follows the active interface language, including grouping and decimal separators: for example, 1,234.56 in English, 1.234,56 in German, and 1 234,56 in Czech.
  • System and computed fields are excluded from the mapping. Supported file and image fields accept public HTTP(S) links: after you explicitly confirm that you trust the sources, Einblick downloads supported images and common documents into the Workspace, up to 25 MB per file. A failed download is reported on its row, but does not discard the rest of that record.
  • Contact imports record newsletter consent directly without sending a confirmation email, so use only evidence you can prove. The import never reverses an earlier global or list unsubscribe. Contact-group memberships are added, never removed, and a subscription-list membership is applied only when that row also has newsletter consent.

Contact imports

The Contacts page uses the same mapping, preview, duplicate strategies, and progress tracking as other list imports, with a few contact-specific additions:

  • Sources: the browser's system contact picker (where available), .vcf/.vcard, CSV, XLSX, XLS, and JSON.
  • Common headers, vCard properties, and browser contact fields are normalized into the contact field mapping. A row needs some identity — a name, nickname, email, or phone number — but first and last name are not individually required.
  • Newsletter & groups can derive consent from all rows, list assignment, or a column rule such as yes/no, blank/non-blank, equals, or contains. Membership columns can split their distinct values and map each value to one or more contact groups or subscription lists.
  • Users with create access can create missing groups or lists from the mapping. An active target with the same title is reused instead of duplicated.
  • Map a file column to Organization to link imported contacts to organizations. Einblick reuses an organization with the same title; otherwise it creates one when your role allows it. You can redirect any distinct value to another existing organization or skip it, and the preview reports how many contacts will be linked and how many organizations will be reused or created.
  • Organization linking requires permission to update contacts and to read and update organizations. Creating missing organizations additionally requires organization create access. A cell is one organization name; use a JSON string array such as ["BluePeak", "Productly"] to link several. An import can contain at most 200 distinct organization values and one row can link at most 50 organizations.
  • The add button beside a contact field in another form can open this import and select the first created or matched contact when it finishes.

Accounting exports

Accounting Exports generates bookkeeping packages from journal data instead of list fields.

  • Configure provider, account chart, tax mappings, document inclusion, and partner numbers in Workspace Settings → Accounting.
  • In Accounting Exports, pick a month and review row count, warnings, blocking issues, and sample postings before generating. Blocking issues must be resolved first — their actions jump straight to tax mappings, partner numbers, or the source record.
  • Postings can come from paid invoices, paid supplier invoices, active financial entries, categorized bank transactions, synced Stripe balance transactions or payouts, asset depreciation or disposals, and inventory movements.
  • The generated BMD ZIP contains bookings, source documents (when enabled), manifest.json, README.txt, optional account master data, and an anlagenspiegel_<period>.csv asset schedule. Each export keeps its sequence number, period, downloads, and a Mark sent action.
  • Provider settings can be prepared for multiple providers, but package generation currently supports BMD.

Best format for reimport

  • Use Data mode to move data between Workspaces, archive raw records, or prepare a later reimport — field keys then match directly on import, independent of language.
  • XLSX and JSON are lossless; use CSV when you want a flat file for spreadsheet work or manual review.