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.
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.
Where you find it
- Supported list pages have Export and Import at the right of the table toolbar.
- Import is available on Absences, Buildings, Contacts, Equipment, Events, Festivals, Materials, Organizations, Reports, Tasks, Tools, Vehicles, and Work Times.
- Export is available more broadly, including Projects, Inquiries, Quotes, Invoices, Incoming Invoices, and Work Orders.
- On Contacts, the same import also accepts vCards, can offer the browser's system contact picker, and can assign newsletter consent, contact groups, and subscription lists.
- Bank Transactions
has Import file for
OFXandCSVbank exports. That flow previews new, updated, duplicate, and skipped transactions and can create a manual bank account when it sees a new own IBAN. - Accounting Exports is the finance handoff for your bookkeeper — see below.
Export workflow
- Open Export on a supported list page.
- Pick the format (
CSV,XLSX, orJSON) and the mode:- Readable — translated headers, formatted dates, display labels.
- Data — raw field keys, raw values, and relation IDs, made for reimport.
- Adjust filters, fields, field order, related data, and sorting.
- 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
| Format | Readable mode | Data mode | Notes |
|---|---|---|---|
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
- Open Import on a supported list page.
- Upload a
CSV,XLSX,XLS, orJSONfile — up to10 MBand50,000rows. If the file has multiple sheets, pick one. - 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.
- 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.
- 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.
- 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,000existing 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.56in English,1.234,56in German, and1 234,56in 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 to25 MBper 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, andJSON. - 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 most200distinct organization values and one row can link at most50organizations. - 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 ananlagenspiegel_<period>.csvasset 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.
XLSXandJSONare lossless; useCSVwhen you want a flat file for spreadsheet work or manual review.