Bulk import and export
Bulk import and export is how you move data in and out of Hilal at scale — loading 10,000 SKUs from your supplier list, exporting all purchase orders for a quarterly audit, or moving inventory between systems.
In this guide:
- Open the import/export page
- Import data
- Export data
- Understand job status
- Review import history
Step 1: Open Bulk Export & Import
Settings → Bulk Export/Import.
Step 2: Import data
The Upload (Import) tab is where you upload an XLSX file to add or update records:
- Pick an entity type from the dropdown (Products, Vendors, Warehouse Inventory, Purchase Orders).
- Download the template for that entity — it shows you the required and optional columns.
- Fill in your data in a spreadsheet (Excel, Google Sheets, etc.).
- Export it as XLSX (Excel format).
- Click Choose file and pick your XLSX file.
- Review the preview — Hilal shows the first few rows and any validation errors (required fields, invalid enums, etc.).
- Fix errors in your XLSX file if needed, or proceed if validation passed.
- Click Import.
Hilal queues the job and processes it asynchronously. You can close the page; you’ll get an in-app notification when it’s done.
Import status
While the job runs:
- In progress — still processing.
- Completed — done. Check the results summary: how many records imported, how many skipped due to errors.
- Failed — the entire job failed (e.g., corrupted file, network error). Re-upload and try again.
If individual rows failed validation, you’ll see a download error file button to get a CSV of just the rows that failed, with error messages. Fix those and re-import.
Common imports
| Entity | What you upload | Common use |
|---|---|---|
| Products | SKU, title, cost, category, supplier. | Seed your product catalog from master data. |
| Vendors | Vendor name, contact email, address, lead time. | Add multiple suppliers at once. |
| Warehouse Inventory | Product, location, quantity, batch number, vendor. | Update inventory levels across many SKUs. |
| Purchase Orders | PO number, vendor, product SKU, quantity, ETA. | Batch-create POs from a procurement list. |
Step 3: Export data
The Download (Export) tab is where you download your data:
- Pick an entity type (Products, Vendors, Warehouse Inventory, Purchase Orders).
- Optionally filter (e.g., only active products, orders from the last 30 days).
- Click Export.
Hilal queues the job and generates an XLSX file when it’s ready (usually within seconds for small exports).
Export options
Depending on the entity, you can choose:
- All records — everything of that type.
- Filtered — e.g., only products with inventory < 10, or orders placed this month.
Exports are generated as XLSX (Excel) files. The export runs asynchronously; large exports (100k+ rows) may take a few minutes.
Step 4: Understand job status
Jobs show real-time status as they process:
| Status | What it means |
|---|---|
| Pending | Queued, waiting to start. |
| In progress | Still processing. |
| Upload finished successfully | All rows imported without errors. |
| {n} row(s) failed | Some rows imported, some failed. Download the error file to see what went wrong. |
| All rows failed | Every row failed validation. Download the error file and fix all issues. |
| Failed | The entire job failed (corrupted file, network error, server error). Re-upload and try again. |
Click any job to see details: what entity, when it ran, how many records, errors (if any).
Step 5: Review import and export history
Each tab shows a history panel at the bottom:
Previous Imports (in the Upload (Import) tab):
- Shows all past import jobs.
- Lists entity type, date, initiator, status, and row counts.
- Click a job with failures to download the error file.
Previous Exports (in the Download (Export) tab):
- Shows all past export jobs.
- Lists entity type, date, initiator, and status.
- Click a completed export to download the XLSX file.
Troubleshooting
- Upload says “Invalid file format”. Make sure you’re uploading an
.xlsxfile (Excel format). - Preview shows validation errors. Check that required columns are filled in and enums (e.g., status =
activeorinactive) match the allowed values. The template lists them. - Import processed but no records were added. Check the results — if all rows failed, the error file shows why (e.g., duplicate SKU, unknown vendor). Fix and re-import.
- Export says “In progress” but the file hasn’t appeared. Large exports may take several minutes. If it’s been hours, contact support.