Bulk-upload listings from a spreadsheet
If you manage more than a handful of properties, you can publish them all at once by uploading a spreadsheet. Download the template, fill it in, preview, commit. Photos still upload per-listing.
Who bulk upload is for
Bulk upload is available on the DomuPremium Host and DomuEnterprise Host plans. DomuPro Host (the entry-level professional plan) does not include it. It is the right move when you are onboarding several properties at once, switching from another platform with an export, or doing a quarterly refresh of a multi-property portfolio.
For a single spare room or a couple of properties, the regular Create new listing form is faster than spinning up a spreadsheet.
What the spreadsheet covers
The template is a .xlsx file with one row per listing and columns for every text field on the listing form: address, district, layout, m², rent, deposit, availability date, amenities, house rules, description. It does NOT include photos. Photos are added later, per listing, after the bulk upload creates the draft records.
The four-step flow
- Step 1, Download the template. Single .xlsx file. Sample rows included so you see the expected format.
- Step 2, Fill the spreadsheet. Most fields are free-text, a few are dropdowns (layout, district). Validation rules are in the template comments.
- Step 3, Upload and preview. We parse the file, show you a row-by-row summary of total rows, valid rows, and errors, and let you fix issues before committing.
- Step 4, Create drafts. Tick Skip invalid rows if you want valid rows to publish as drafts even if some have errors. Otherwise the commit is all-or-nothing.
Validation, what we check before publish
- Required fields, address, layout, rent, availability date.
- Deposit cap, must not exceed 3 months rent under Czech law.
- District match, against our list of recognized Prague and Brno districts.
- Date format, ISO YYYY-MM-DD for availability date.
- Duplicate detection, the address + layout combination is checked against your existing listings, you cannot accidentally double-list the same property.
Maximum 50 listings per upload
A single upload accepts up to 50 listings. For larger portfolios, split the file and run multiple uploads. We also rate-limit total uploads per hour to protect the validation pipeline.
Skip invalid rows
Tick this in the preview step if you want valid rows to become drafts even when some rows have errors. Useful when you have 40 listings and a couple have address typos, do not block the other 38 while you fix the two.
After commit: drafts, then submit for review
Bulk upload creates listings as drafts, not as live listings. From the drafts tab you:
- Open each draft to upload photos and review the auto-imported fields.
- Select the drafts you want to publish and tap Submit selected for review. Our moderation queue reviews them and approves listings that meet our quality bar.
- Approved listings go live; rejected ones return with feedback so you can fix and resubmit.
If a bulk submit would exceed your tier's listing cap, the system blocks the submit and tells you to upgrade or remove existing listings first.
Step-by-step
- 1
Open Bulk Upload
10 secondsProfile, My Listings, Bulk Upload (visible only on Premium or Enterprise host plans). The modal opens at the Download step.
- 2
Download the .xlsx template
10 secondsTap Download .xlsx. The file downloads instantly. Open in Excel, Numbers, or Google Sheets. Sample rows show the format.
- 3
Fill the spreadsheet
variesOne row per listing, up to 50 rows. Free-text fields are open; dropdowns are limited (see comments in the header row). Save as .xlsx.
- 4
Upload and preview
1-2 minutesDrag and drop your .xlsx file or click to browse. We parse and show total rows, valid rows, and error count, with row-by-row error details. Fix in the spreadsheet and re-upload, or proceed.
- 5
Pick the commit option
5 secondsTick Skip invalid rows and create only the valid ones if you want partial publish. Otherwise the commit is all-or-nothing. Tap Create drafts.
- 6
Add photos and submit for review
variesDrafts appear in the Drafts tab. Open each to upload photos and verify the auto-imported fields. Select the drafts you want live, tap Submit selected for review.
Frequently asked questions
Why are photos not part of the bulk upload?
Photos are dozens of megabytes each. Bundling them into the .xlsx would make the file unwieldy and the upload slow. Separating them keeps the bulk step fast (text-only) and lets you upload photos at your own pace per listing.
Can I bulk-edit existing listings the same way?
Not yet. Bulk Upload only creates new draft listings. To bulk-update prices or descriptions on existing listings, you currently need to edit them individually. If it matters to your workflow, post the request on feedback.domuhq.cz.
What happens if the same address is in the spreadsheet twice?
Preview catches it as a duplicate row and shows the error inline so you can decide: keep both (e.g. two units at the same building), keep only one, or skip. Existing-listing duplicates also flag.
Is there a limit on listings per upload?
Yes, 50 per upload. For larger portfolios, split the file. There is also a per-hour rate limit on total uploads to keep the validation pipeline healthy.
Why is Bulk Upload not showing for my account?
It is gated to DomuPremium Host and DomuEnterprise Host. The entry-level DomuPro Host plan does not include it. Upgrade from Manage Subscription if you need it.
What to do next
Related articles
Create your first listing on DomuHQ
A complete, well-photographed listing books viewings 5× faster than a thin one. Here's exactly what to fill in, how to write the description, and what photos to take.
BeginnerUpdate, pause, or mark a listing as rented
Edit photos, change the price, pause when you are at capacity, or mark the property as rented. All edits go live within a minute and the listing stays at its existing URL.
BeginnerChoose a professional host plan
Managing multiple units? Switch to a professional host plan. Three tiers from Pro to Enterprise, ČÚZK-verified listings, applicant screening, analytics.
Intermediate