Chapter 11: Data Importer & Exporter — 11.6 Material Importer
Use Importer to manage and configure this feature in your EQuipWeb system.
Use the Material Importer to upload raw material and ingredient records in bulk. If your products use recipes or bill-of-materials, this lets you quickly add all the ingredient data from a spreadsheet.
When to use this: When you need to add or update raw material (recipe ingredient) data in bulk using a spreadsheet.

This importer links raw materials to finished products in bulk. For example, linking "Espresso Beans (100g)" and "Full Cream Milk (200ml)" to a "Café Latte" product. Once linked, selling a Café Latte at the POS automatically deducts the corresponding raw materials from inventory — enabling real-time ingredient tracking and cost calculation.
Use Importer to manage and configure this feature in your EQuipWeb system.
Step 1: Export Template → Download blank template with correct column headers
Step 2: Fill Data → Enter finished product codes, material codes, and quantities
Step 3: Import → Upload the completed file
Step 4: Review → Check the import history for success/error status| Element | Type | Function |
|---|---|---|
| Export Template | Button | Downloads a blank template file |
| Import | Button | Opens file picker for the completed template |
| Import History | Data Grid | Shows past import batches with results |
Use Importer to manage and configure this feature in your EQuipWeb system.
| Column | Required | Description |
|---|---|---|
| ItemNo | ✅ Yes | The finished product's item number (e.g., "LATTE-001") |
| MaterialItemNo | ✅ Yes | The raw material/ingredient item number (e.g., "RM-ESPRESSO") |
| Quantity | ✅ Yes | Amount of material consumed per unit of the finished product |
| UOM | No | Unit of measurement for the material (e.g., "g", "ml", "pcs") |
| WastagePercent | No | Expected wastage percentage (e.g., 5 for 5% waste) |
| ItemNo | MaterialItemNo | Quantity | UOM | WastagePercent |
|---|---|---|---|---|
| LATTE-001 | RM-ESPRESSO | 18 | g | 5 |
| LATTE-001 | RM-MILK | 200 | ml | 2 |
| LATTE-001 | RM-SUGAR | 10 | g | 0 |
| BURGER-001 | RM-PATTY | 1 | pcs | 0 |
| BURGER-001 | RM-BUN | 1 | pcs | 3 |
Use Importer to manage and configure this feature in your EQuipWeb system.
| Validation | Error If... |
|---|---|
| Product Exists | ItemNo does not match any product → "Item Not Found" |
| Material Exists | MaterialItemNo does not match any product → "Material Not Found" |
| Quantity Valid | Quantity is zero, negative, or non-numeric → "Invalid Quantity" |
| No Self-Reference | ItemNo equals MaterialItemNo → "Cannot link item to itself" |
| Column | Description |
|---|---|
| Import Date | When the import was processed |
| File Name | Uploaded file name |
| Total Rows | Number of rows in the file |
| Success | Rows imported successfully |
| Failed | Rows that failed validation |
| Status | Complete, Partial, or Failed |
| Download Log | Error details for failed rows |
Use Importer to manage and configure this feature in your EQuipWeb system.
After importing material relationships, the deduction flow works automatically:
Customer orders "Café Latte" at POS
↓
POS processes the sale
↓
System checks BOM: Latte uses 18g espresso + 200ml milk + 10g sugar
↓
Auto-deducts:
- Espresso Beans: −18g (+ 5% wastage = −18.9g total)
- Full Cream Milk: −200ml (+ 2% wastage = −204ml total)
- Sugar: −10g
↓
Raw material stock levels updated in real timeUse Importer to manage and configure this feature in your EQuipWeb system.
Before importing materials, ensure:
| Prerequisite | Details |
|---|---|
| Products exist | Both the finished product and the raw material must be in the product database |
| Materials are configured as products | Raw materials should be created as products with type "Raw Material" or "Ingredient" |
| Inventory locations set up | Raw material stock must be tracked at a specific inventory location |
| Stock initialized | Initial stock levels for raw materials should be entered via Stock In |
Use Importer to manage and configure this feature in your EQuipWeb system.
Scenario: A restaurant chain with 200 menu items needs to set up BOM for all their dishes. Doing it one by one through the product edit form would take weeks.
Setup:

3. Fill in all 200 products with their ingredients:

6. Check import history — fix any "Material Not Found" errors by creating missing raw materials first, then re-import.
7. Once complete, selling any menu item at the POS will auto-deduct the correct raw materials.
[!TIP] Export your existing BOM data from the old system first. Map old material codes to EQuip item numbers in the spreadsheet, then import. This is much faster than re-entering all recipes manually.
[!IMPORTANT] The WastagePercent field is critical for accurate food costing. If you don't account for wastage, your theoretical vs. actual ingredient usage will always show a discrepancy. Set realistic wastage percentages based on your kitchen's actual experience.
[!WARNING] Importing material relationships will overwrite existing BOM entries for the same product-material pair. If you import "LATTE-001 + RM-ESPRESSO = 18g" and there was already a record with 15g, the quantity will be updated to 18g.
Use Importer to manage and configure this feature in your EQuipWeb system.
| Role | View | Create | Edit | Delete |
|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes |
| Supervisor | Yes | Yes | Yes | No |
| Cashier | No backend access | — | — | — |
[!NOTE] Exact permissions depend on the Privileges Setup configured for each role. Contact your administrator if you cannot access this page.
Use Importer to manage and configure this feature in your EQuipWeb system.
Expected Result: Materials are imported into the system and available for use in recipes and production.
Q: What file format should I use for import? A: Use .xlsx (Excel) format. Download the blank template from the importer page to ensure correct column structure.
Q: Can I undo an import? A: No. Imports cannot be automatically reversed. You would need to manually correct or delete the imported records.
Q: Why does my import show validation errors? A: Check the error details for each row. Common issues include: missing required fields, duplicate codes, invalid date formats, or referencing categories/departments that don't exist yet.
Use Importer to manage and configure this feature in your EQuipWeb system.
| Issue | Possible Cause | Solution |
|---|---|---|
| Upload fails with error | File format is not .xlsx or file is corrupted | Download a fresh template, re-enter data, and try again |
| Validation errors on rows | Missing required fields or invalid data format | Check the error details column for specific row issues |
| "Duplicate record" warning | Data already exists in the system | Check if the record exists and decide whether to update or skip |
| Import shows 0 records processed | File is empty or wrong template version | Verify the file has data rows and uses the latest template |
| Error 404 on upload | File too large or server timeout | Split the file into smaller batches (max 500 rows recommended) |
| Data imported but not visible | Filters hiding the new records | Clear all filters and search for the imported records |
Use Importer to manage and configure this feature in your EQuipWeb system.
Use Importer to manage and configure this feature in your EQuipWeb system.
[!NOTE] The following items may vary depending on your system version and configuration:
- Exact permission settings depend on your Privileges Setup configuration
- Sync timing to POS terminals depends on network conditions and sync schedule
- Some features may require additional licensing or module activation
- Field behavior may differ between EQuip versions
If you encounter behavior not described in this manual, contact your system administrator or EQuip support team.
Expected Result: Changes are saved successfully and reflected across the system after the next POS sync.
| Field | Required | Description |
|---|---|---|
| Name / Title | Yes | The display name for this record |
| Status / Active | — | Whether this record is active in the system |
| Created Date | Auto | System-generated creation timestamp |
| Modified Date | Auto | System-generated last modification timestamp |
[!NOTE] Additional fields specific to this page are documented in the sections above. The table above shows common fields present across most pages.