When to use bulk export
You're a tax advisor (Steuerberater, comptable, accountant, revisor) preparing year-end packages for multiple clients. Running one-by-one exports for 20+ clients adds up. The bulk export collapses the workflow to a single click and a single ZIP, structured per client so you can hand each subfolder to its corresponding client's accounting workflow.
For the underlying per-client JSON export format, see export your records for year-end — bulk export is the multi-client version of the same data shape. For period-filtered semantics (invoice date vs upload date), see period-filtered bulk export. For receiving the client invites in the first place, see invite your tax advisor from the client's perspective.
The walk-through
Step 1 — sign in to your tax-advisor account
Sign in at app.taxiteasy.org. After the 2FA prompt, you land on the Clients dashboard — a list of every company you've been invited to as a tax advisor, with status (Active / Pending consent / Revoked), last activity, and quick-actions per client.
Step 2 — open bulk export
Click Bulk export in the top bar of the Clients dashboard. The bulk-export editor opens with three sections: period picker, client selector, generate button.
Step 3 — pick a period
Standard options:
- Previous calendar year — most common for year-end packages.
- Current quarter — for VAT filings.
- Year-to-date — for partial-year reviews.
- Custom range — any from / to dates.
Date semantics: by default, the period filter applies to invoice date (the date printed on each invoice), not upload date. This matches the tax-return scoping convention. Toggle to upload date if you want intake-based filtering instead. See period-filtered bulk export for the deeper period semantics.
Step 4 — select clients
Tick the clients you want in this export run. Cap: 25 clients per export. For firms with more clients, run multiple exports (e.g. 25 + 25 + 20 for 70 clients); the file naming keeps each ZIP identifiable.
The list is searchable (type a name to filter) and supports range-selection (shift-click to select a span). A "select all up to 25" shortcut covers the common case where you want to export every active client.
Step 5 — generate
Click Generate ZIP. Two paths:
- Small exports (a few clients, a single quarter) — the ZIP is ready in under a minute and a download link appears immediately.
- Larger exports — the job runs in the background. You get an in-app notification plus an email when it's ready, typically 1–5 minutes depending on total document count across the selected clients.
Download links are valid for 1 hour. Re-run the bulk export if you miss the window; we don't store generated bulk exports permanently for the same reasons we don't store individual-user exports (always-current data, fresh signed URLs).
What's inside the ZIP
your-bulk-export-2026-Q1.zip
├── client-a-acme-gmbh-7f3a9c2e/
│ └── export.json
├── client-b-foobar-ltd-1b4d5f6a/
│ └── export.json
├── client-c-baz-inc-5a2b9d8c/
│ └── export.json
└── README.txt
One folder per client, named with:
- The client's company name (sanitised for filesystem safety: spaces → hyphens, non-ASCII → ASCII transliteration, lowercased)
- A short 8-character client-ID suffix to disambiguate identical names ("Acme GmbH" appearing for two different clients)
Inside each folder, a single export.json file. The format matches the individual user export exactly — same fields, same structure. This is intentional: an importer or script that handles one client's export handles all of them with no modification.
The top-level README.txt lists the period filter, the client IDs, the timestamp, and your tax-advisor name (the user who triggered the export). Useful for the audit trail when you hand the package to a different team member.
What's included per client
For each client, the JSON export contains:
- Every document in the date range (invoices, receipts, statements) — both the metadata and the extracted fields
- All your client's manual corrections, with timestamps and user attribution
- Bank-match status per invoice (matched / unmatched / partial)
- VAT aggregation per period — the same aggregates the client sees in the VAT view (see understanding the VAT aggregation view)
- Direct (signed) download URLs for the original document files, valid for 7 days from export generation
What's NOT included (by design):
- The client's billing information (their plan, payment method, past Stripe invoices) — that's their own administrative data, not bookkeeping data
- Documents outside the chosen period
- Audit-log entries outside the bookkeeping scope (e.g. their team-management actions, their tax-advisor invites)
- Trading partners not active in the period
If you need data outside this scope, ask the client to run their own broader export and share with you.
Plan availability and limits
The bulk-export feature is part of the Growth plan. The specifics:
- Your client's plan: if a client is on Free, Starter, or Business, their data is still exportable via bulk export (the gating is on the tax-advisor's account, not on each client). Bulk export aggregates whatever data exists across clients regardless of their individual plans.
- Your account: as a tax advisor, you don't need a paid plan yourself — the tax-advisor account is free. Bulk export is bundled into the tax-advisor toolkit.
Caps:
- 25 clients per export — for larger client books, run multiple exports.
- Period range: no hard cap on the period length, but exports over very long periods (multi-year) can be slow and produce large ZIPs. Year-by-year is the recommended granularity for archival.
- Year-end async ZIP for larger client books (50+ clients in one export) is on the 2026 roadmap. Currently the 25-cap is enforced; the roadmap item lifts it for tax-advisor accounts with verified multi-firm setups.
Troubleshooting
I want CSV / PDF per client instead of JSON. Same status as the personal export: JSON only today, CSV/PDF on the 2026 roadmap. See CSV and PDF export status. For one-off CSV conversion across many clients, write to [email protected] with [BILLING] one-off CSV bulk export — the manual generation handles multi-client just as for single-client.
A client revoked my access mid-export. That client's folder is empty in the ZIP (just an empty export.json with an explanatory header). Other clients export normally. The audit log records the revocation timestamp; you can compare against your export time.
Filename collision when two clients have the same company name. The 8-character client-ID suffix on each folder disambiguates them (e.g. acme-gmbh-7f3a9c2e vs acme-gmbh-1b4d5f6a). For really chaotic naming (special characters, multiple languages), use the suffix to map each folder back to the right client.
Period filter — invoice date or upload date? Invoice date by default. Toggle to upload date if you want intake-based filtering. See period-filtered bulk export for the deeper explanation.
I want a single ZIP for 50 clients. Not in one shot today. Run two exports (25 + 25). The download filenames include a suffix (-part1, -part2) when you run multiple back-to-back. The year-end async path for large client books is on the 2026 roadmap.
A client's data looks incomplete in the export. Check the client's account directly — open their dashboard from your Clients view. If they have undocumented invoices (forwarded but stuck in "processing", failed extractions in a recoverable state), they'd be missing from the export until the processing completes. You can ask them to re-scan failed documents, or you can run the bulk export again after their pipeline catches up.
The signed URLs for original files have expired. Re-run the bulk export; each run generates fresh 7-day URLs. If you need permanent local copies, download the originals during the 7-day window after each export.
My ZIP is 500 MB and won't download cleanly. Bulk exports with many clients and many documents can be large. Split the period (quarterly instead of yearly) or split the client list (12 + 13 instead of 25). Most browsers handle 500 MB downloads; if yours stalls, try downloading on a different network or via curl / wget with the signed URL.
I'm running bulk export weekly for monitoring — is that supported? Yes, no rate limit beyond reasonable use. The download links expire after 1 hour, so weekly fresh runs are the right pattern. For continuous monitoring with API access, write to [email protected] to discuss API-based bulk export — currently the API exists for individual exports; multi-client API is on the roadmap.
Related
- Invite your tax advisor — the client-side invite that creates the access
- Export your records for year-end — single-client format reference
- Period-filtered bulk export — date-semantics deep-dive
- CSV and PDF export status — format roadmap