HomeExcel & CSV Import
Data Import

Import opening counts, items, and suppliers from Excel or CSV

Bring your existing spreadsheet data into EYP Ops with column-aware mapping. The import wizard validates each row before writing anything — bad rows are flagged, good rows proceed.

What this integration covers

EYP Ops Excel & CSV import: imports opening counts, recipes, and supplier data from Excel and CSV files. Standard column aliases include vendor_name, vendor_code, item_code, and unit. Bad imports are flagged before they hit the ledger.

What you can import

Four import types, each with its own column set

Each import type has defined required and optional columns. The wizard auto-maps your headers using known aliases — you do not need to rename columns in your existing spreadsheet.

Opening Count

Seed your first inventory period with outlet-level stock quantities. Each row carries item code, location name, quantity, unit, and optional unit cost in AED. Once committed, the import creates the opening ledger entries for that outlet — no manual line-by-line entry.

item_codelocation_namequantityunitunit_cost
Item Master

Bulk-load your full ingredient and product catalog. Columns include item code (or SKU), item name, item type, base unit, main category, sub-category, UOM, tax rate code, and active status. The import upserts: existing item codes are updated, new codes are created.

item_codeitem_nameitem_typebase_unitmain_category_namebase_uom_name
Supplier List

Load your supplier roster with codes, names, contact details, tax numbers, and payment terms. Supplier code is auto-generated from the name if the column is blank. Existing supplier codes are updated on re-import — safe to run again after edits.

supplier_codesupplier_namecontact_nameemailphonetax_number
Stock Count

Import a physical count sheet to start a count session. Columns include item code or name, location, quantity, unit, and optional unit cost. The import engine matches items by code first, then by name — partial sheets are accepted and unmatched rows are flagged for review.

item_codeitem_namelocation_namequantityunit
Column header aliases

Your existing headers work without renaming

The import wizard normalizes column names before matching. If your spreadsheet uses vendor_name or vendor_code (QBO-compatible naming), EYP Ops maps them to the supplier fields automatically. Standard aliases mean you can upload existing sheets directly.

EYP Ops fieldAccepted aliasesImport type
item_codesku, code, product_code, material_code, item_noItem
item_namename, description, product_name, material_nameItem
supplier_codevendor_code, vendorcode, code, sup_codeSupplier
supplier_namevendor_name, vendorname, name, company_nameSupplier
quantityqty, count, amount, counted_qtyCount
base_uom_nameuom, uom_name, unit_of_measure, purchase_unitItem
Column names are normalized to lowercase with underscores before matching — spaces, dashes, and BOM characters are handled automatically.
How the wizard works

Validate first, commit on confirmation

Every import runs a dry-run validation pass before writing to the database. You see a row-by-row report — error count, warning count, and the exact field that failed — before deciding to commit.

01
Upload your file

Upload an .xlsx or .csv file. The wizard reads the first row as column headers and normalizes them for alias matching. Files up to the standard upload limit are accepted.

02
Review the validation report

EYP Ops checks every row before writing anything. The report shows total rows, rows that passed, rows with errors, and rows with warnings. You can download a CSV of errors to fix in your spreadsheet.

03
Commit the clean rows

Once you review the report, you choose to commit. Rows that passed validation are written to the database. Rows with errors are skipped — the ledger is never in a partial state from a single import run.

Validation reference

What gets flagged and why

The validation engine checks each row independently. An error on row 14 does not block row 15. Here are the common flags and how the system handles them.

Empty item code

The row is flagged and excluded from the import. The import wizard shows the row number and field name. No partial writes — the row either passes validation entirely or is skipped.

Duplicate item code in the same file

The first occurrence is processed. Subsequent rows with the same code are flagged as duplicates and skipped. The summary report lists each affected row number.

Category or UOM not found

The import checks that referenced categories and units of measure already exist in the system. If a value is not found, the row is flagged with the field name and rejected value — the import continues for other rows.

Missing required field

Required fields (item name, quantity for counts, supplier name) must be present. Rows missing a required field are excluded. The import does not start until you have reviewed the validation report.

Invalid item type or base unit

Item type must be one of the recognized values (RAW_MATERIAL, SEMI_FINISHED, FINISHED). Base unit must match a valid enum. Unrecognized values produce a row-level error with the received value shown.

Imports are append-only: once rows are committed to the inventory ledger, they are not modified or deleted. To correct a committed opening count, you post an adjustment transaction — the import session itself is a one-time write.

Download free templates to start with the right structure

Pre-built Excel and CSV templates for each import type — opening count, item master, and supplier list — with the correct column headers and example rows. Paste your data in, upload, and validate.

Migrating from Excel as your primary inventory tool? The import path described here covers getting your existing data into EYP Ops. For the broader case for replacing spreadsheets with a dedicated operations system, read the migration narrative.

Excel & CSV import — FAQ

What Excel/CSV formats does EYP Ops accept?

.xlsx and .csv files with standard headers (item_code, name, qty, unit, vendor_name, etc.). Both UTF-8 and Windows-1254 encoding supported.

Can I import opening counts from a spreadsheet?

Yes. Use the Opening Count import type — it seeds your inventory ledger with starting quantities and values per outlet and location.

What goes wrong with bad imports?

Empty SKU rows are flagged, duplicate codes reject the second row, unit mismatches stop the import. All bad rows are reviewed before any ledger write.

Are there templates I can start with?

Yes — free Excel templates for opening counts, recipe cards, supplier lists, and par level worksheets at /templates.

Can I bulk-update prices from Excel?

Item master and supplier price imports support bulk updates. Stock movements remain append-only — bulk price overrides flag a review session.

Ready to bring your data into EYP Ops?

A setup call covers your file format, the import sequence (items first, then suppliers, then opening counts), and any column mapping questions specific to your spreadsheet.