CSV, Excel, label printing and images
Import in bulk, export in bulk, print labels. This page covers the features that cut out manual work.
Both importing and exporting support CSV (.csv) and Excel (.xlsx, .xlsm). The Excel workbook you use today can go straight in — no conversion to CSV needed.
Importing Excel and CSV
Products, clients and transactions can all be registered in bulk from an Excel workbook or a CSV file.
- Open “Other” → Import (in the left menu on a PC).
- Choose what you’re importing (products / clients / transactions).
- Map the fields shown on screen to your file’s columns.
- Press Select CSV / Excel, pick the file, check the preview and press Import.
| Format | Extension | Notes |
|---|---|---|
| CSV | .csv |
UTF-8 is recommended (Shift_JIS and UTF-16 are detected automatically). Comma, semicolon, tab and pipe delimiters are detected automatically |
| Excel | .xlsx / .xlsm |
Macro-enabled workbooks can be picked as they are (macros are never run) |
- Row 1 holds the field names; data starts on row 2.
- If you already have data, export a file first and use it as your template — the column order is then guaranteed to match.
When you import an Excel workbook
- If the workbook has several sheets, you’re asked which sheet to import. Sheets with nothing but a header row aren’t offered.
- Formula cells come in as the result Excel saved with the workbook.
- Date cells become text in the form
2026/08/20(2026/08/20 09:30:00when there’s a time). - Empty rows are skipped.
Products
| Fields | |
|---|---|
| Required | Product name |
| Optional | SKU / unit / standard cost (with standard costing) / barcode / minimum stock alert / maximum stock alert / expiring alert (when Expiry is in use) / product fields |
- Products are matched on SKU, or on product name when there’s no SKU. A match updates; no match creates.
- The same product name with a different SKU registers as a separate product.
- Only the columns you map are updated. Anything you leave out of the file keeps its current value.
- Leaving a cell empty clears that field.
- Separate barcodes with “
|” to register several (e.g.4901234567894|A-001).
Clients
| Fields | |
|---|---|
| Required | Client name |
| Optional | Postal code / address / building / phone number / memo |
Clients are matched on name. A match updates; no match creates.
Transactions
Before importing, choose the transaction type (inbound, outbound, stocktaking) and the status (scheduled, completed). Moves aren’t supported.
| Fields | |
|---|---|
| Required | Date / product name or SKU / quantity (actual count for stocktaking) / whichever of location, lot, expiry are in use / unit price (when you track amounts) |
| Optional | Number / client name / transaction fields |
- Importing never creates products. Register them first.
- If several products share a name, identify them by SKU.
- Stocktaking takes the actual count — the difference is calculated for you.
Exporting Excel and CSV
- Open a list screen (stock, clients, transactions or reports).
- Search or filter if you want to narrow it down.
- From the menu at the top of the screen, choose CSV download or Excel download.
Stock offers two exports, “by product” and “stock details.” → Reading the stock list
- Excel exports write every cell as text. A leading
0on an SKU is never dropped, a JAN code never turns into4.90123E+12, and1-2never becomes a date. - CSV is written as UTF-8 with BOM, so it opens straight in Excel.
- Either file works as-is as a template for your next import.
Barcodes
- Several per product — JAN, ITF, your own codes, all on one product.
- No reuse — the same barcode can’t be used on two products.
- Not case-sensitive (
CODE123andcode123are the same).
Printing labels
KURAPRO builds a PDF laid out to match the cells on an off-the-shelf label sheet, so you can print it and peel the labels straight off.
- Open “Other” → Label print (in the left menu on a PC).
- Choose a format (the barcode type) and a layout (the label sheet).
- Press Add item and pick the product you want to print.
- In the dialog that opens, choose the barcode to print and the print count, then save.
- Press Save PDF and print the result.
- Each row shows the barcode being printed and the count (
×3). Tap a row to change it, or use the delete button at the top right of the dialog to take it off the list. - Anything that doesn’t fit on one sheet continues onto the next page automatically.
- Your format and layout are remembered for next time.
Choosing a layout
Pick the one matching the label sheet you have.
| Layout | Per sheet | Label size |
|---|---|---|
| A4 30-up | 30 | 53.3 × 25.4 mm |
| A4 40-up | 40 | 30 × 30 mm |
| A4 70-up | 70 | 20 × 20 mm |
| Letter 20-up | 20 | 101.6 × 25.4 mm |
| Letter 30-up | 30 | 66.7 × 25.4 mm |
Below the layout there’s a link to where to buy sheets for the layout you selected.
Print at 100% scale (actual size) with no margins. PDF viewers and browsers usually default to “fit to page,” which shrinks the whole page slightly and shifts every label out of alignment with the sheet.
What’s on a label
Each label carries the product name, the barcode and the barcode value.
- With a square format such as QR_CODE on a wide label, the barcode goes on the left and the text on the right.
- On small labels such as A4 70-up, the product name is dropped so the barcode and value stay legible.
Formats: QR_CODE, DATA_MATRIX, AZTEC, EAN_8(JAN_8), EAN_13(JAN_13), UPC_A, UPC_E, ITF, CODE_39, CODE_93, CODE_128 and CODABAR. If in doubt, EAN_13(JAN) for retail products or QR_CODE when you want more data in the code.
If a product has several barcodes registered, the barcode field in the dialog decides which one is printed.
Products without a barcode
Add a product with no barcode and KURAPRO asks “Generate barcode for this item?”. Accept and an EAN-13 code is created, registered on the product, and added to the print list. Decline and the product isn’t added.
Handy for own-brand boxes and repacked items with no commercial code.
Product images
- Register from the product’s create or edit screen — take a photo or pick from your library.
- Shown in the list and on the detail screen.
- JPEG, PNG, GIF and similar formats are supported.
- Very large files may fail to upload. Shrink them and try again.
Where many products look alike, an image alone cuts picking errors.
When something goes wrong
| Message | What to do |
|---|---|
| Invalid CSV format | Check the delimiter, the character encoding (UTF-8 recommended) and the header row. |
| The CSV header is empty / The CSV file is empty | Make sure row 1 has field names and row 2 onwards has data. |
| Failed to read the Excel file | Check that the file is .xlsx or .xlsm. Legacy .xls files and password-protected workbooks can’t be read — re-save as .xlsx from Excel. |
| The Excel file contains no data | No sheet has any data below its header row. Put the field names on row 1 and the data from row 2 down. |
| The selected file is invalid | The file (or sheet) you picked doesn’t have both a field-name row and at least one data row. |
| A product is required in the CSV / A client is required in the CSV | A required column (product name / SKU, or client name) isn’t mapped. |
| No valid transactions were found in the CSV | There’s no importable transaction data. Check your column mapping. |
| Multiple items share this name. Please specify the SKU to identify the item | Use the SKU column to identify the product. |
| Invalid image data / Invalid file type | Use a JPEG, PNG or GIF image. |
| The request body is too large | The file is too big. Shrink the image or reduce the number of CSV rows. |
| Too many records to export | Narrow the period or conditions and export again. |
| There is no barcode for item “…” | The product on the print list lost its barcode. Register one on the product, or remove it from the list. |
| The barcode … of item “…” is invalid for the … format | That barcode can’t be encoded in the format you chose. Switch the format, or register a barcode that fits it. |
| There are no items to print barcodes for | The print list is empty or every print count is 0. Add a product and enter a count. |