Skip to content

CSV Import

The Import CSV entry in the sidebar opens a guided wizard that creates or updates products in bulk from a CSV file. It is the tool used to bring a catalog into an establishment — a new opening, a menu supplied as a spreadsheet, or a price list copied from an establishment that already runs Posbel.

Note

The import is run by your Posbel technician or partner, not from an establishment's own account. If you need a catalog loaded or copied, send them the file and tell them which establishment it belongs in. To produce that file yourself, see Products → Exporting Your Products.

The wizard never touches the file you upload. Everything it does lands in the destination establishment's catalog.


The Four Import Modes

The mode is chosen on the first step, next to the file. It decides whether products are created or updated, and whether missing groups are built along the way.

Mode What it does
Inter-org import Duplicate all products from one organization to another. The file comes from a Posbel export taken in another establishment.
External CSV import Add products from an external CSV file. For a supplier list or a spreadsheet that has never been through Posbel.
Add to existing groups Add products by productGroupId with fallback group creation if missing. Products land in the groups named in the file; anything unmatched gets a placeholder group.
Update import Update existing products in the same organization. Changes products that are already there instead of creating new ones.

Inter-org import is the mode already selected when you arrive. Change it before moving on if the file calls for another one — the choice changes which columns you are allowed to map and whether groups get created.

Warning

Update import overwrites the values of the products it matches. There is no undo. Take an export of the destination establishment first, so there is something to compare against or go back to.


The Five Steps

Step What happens
1. Import Files Upload the file. CSV only — anything else is refused with "Incorrect format, please use a CSV file". Pick the import mode here too.
2. Data Mapping Tick the columns to bring in and say which product field each one fills.
3. Group Review Check the product groups that will be created, and set their VAT.
4. Entity Mapping Fill or override fields across rows before the import.
5. Summary Tick the rows to import and confirm.

Move with Next Step and Back; the last step confirms with Finish. Step 1 will not advance until a file is attached and a mode is set.

Note

Back, Next Step and Finish, and the line counting the groups to create, are shown in English whatever language the panel is in.


Which Establishment the File Belongs To

The wizard reads the organisation column of the file's first row and compares it with the establishment you are signed in to. That single comparison decides whether groups are created:

  • File from a different establishment — the groups in the file do not exist here, so the wizard collects them and offers them for creation on Group Review.
  • File from this same establishment — nothing is created. Group Review shows "No group to create", and products are expected to match groups that are already here.

A file with no organisation column counts as "a different establishment", so group creation is offered.


Group Review — Groups Are Created Here

Group Review lists every group the import intends to create, with its Name, VAT In and VAT Out. A header line counts them: "N group(s) will be created on next step."

  • Each group's VAT In and VAT Out can be set from the dropdown on its row — 0%, 6%, 12% or 21%.
  • Tick several groups and use the bulk edit action to set the same VAT across all of them at once.

Groups are matched by name, ignoring case, accents, spacing and punctuation, so Soft drinks, soft-drinks and SOFTDRINKS are treated as one group and created once.

Warning

The groups are created the moment you leave Group Review for Entity Mapping — not at the end. Abandoning the wizard after that point leaves the new groups behind in the catalog, empty. Check the list before moving on, and if an import is abandoned, delete the stray groups by hand.

What a created group gets, and what it does not:

  • Carried from the file where the export provides it: the group's name, its VAT, its colour and its own settings.
  • Set to defaults when the file only carries a name: VAT In 12%, VAT Out 6%, visible everywhere, kitchen printing off, no printer.
  • Never carried: the parent group. Every created group lands at the top level, so a nested menu has to be rebuilt in the destination establishment with Manage sub-groups — see Product Groups → Manage Sub-groups.
  • Needs redoing: printer assignment. Printers belong to the establishment they were created in, so nothing the file carried points at a printer here. Treat every created group as having no printer until you have set one — see Printers.

Data Mapping

Each row of this step is one column of your file: its File field on the left, and a Map to dropdown on the right naming the product field it fills. Columns you leave unticked are ignored.

Auto-map matches columns to fields by name, and recognises common alternatives as well as the Posbel column names — nom, designation, label and title all map to the product name, prixttc to the out price, quantite, qte and inventory to stock. It runs on its own when the file carries a product identifier column, and in Update import. Always read what it chose; a wrong guess here is a wrong catalog.

The fields a column can fill: Name, Price in/out, Price out, Price in, Buy price, Vat in/out, Vat in, Vat out, Description, Image URL, Stock, Color, Barcode, Product Group, External Reference, plus Organisation ID, Product ID, Product Group ID and Option Group where the mode allows them.

Note

In Inter-org import the file's own productId, orgId and productGroupId columns are hidden from this step entirely and cannot be mapped. They identify records in the source establishment and would be meaningless here, so every product is created fresh. Add to existing groups is the one mode that does let you map productGroupId, because matching on it is the point of that mode.


Entity Mapping

This step sets values across rows rather than per column. Pick a Field, enter a Value, and it is applied to the rows you selected — or to all of them when nothing is selected. Use it for what the file does not carry: a VAT the supplier omitted, a group for everything in a single-category file, a stock of zero across the board.

Two helpers sit alongside it:

  • Create a new group — build a group here, without leaving the wizard, and assign the rows to it.
  • Apply group VAT — when a group is assigned this way, take that group's VAT for the products as well, instead of whatever the file said.

Summary — and What Actually Gets Imported

The final step shows every prepared product in a table with every row ticked.

Warning

Only the ticked rows are imported. Unticking a row drops that product from the import. If somebody has been using this step to inspect rows, check nothing was left unticked by accident before pressing Finish.

Finish sends the ticked rows and returns you to the products list.

The Gate Before Summary

The wizard refuses to reach Summary unless every prepared row has:

  • a product group
  • a VAT In and VAT Out, each one of 0, 6, 12, 20 or 21
  • a price in and price out, neither of them negative

One bad row holds back the whole file. The wizard drops back to Entity Mapping with "Please fill the following fields: Group, VAT". The message names groups and VAT, but a missing or negative price triggers the same stop — check prices too when the message appears and the groups and VAT all look right.


What the Import Rewrites on the Way In

The wizard cleans values rather than rejecting them, so a file can import successfully and still not say what you expected. The rules worth knowing:

Field What happens
Name Characters outside letters, digits, spaces and . , ' " ( ) & % ° - + / are replaced with a space, runs of spaces collapse, and the result is cut to 60 characters. A name left empty becomes Unnamed.
VAT Only 0, 6, 12, 20 and 21 are accepted; anything else is discarded as if the column were empty. Give one side only and the other copies it.
Prices Give one side only and the other copies it. Commas are read as decimal points, so 12,50 and 12.50 both work.
Barcode Split on spaces, commas, semicolons and pipes, and stripped to digits, so several barcodes can sit in one cell.
Description Either a plain sentence, which lands in French, or one value per language if the file carries them that way — as a Posbel export does.
Stock Empty becomes 0.

After an Import

Work through these in the destination establishment before letting anyone sell:

  1. Re-nest the groups — everything arrived at the top level.
  2. Assign printers to the new groups, and set Print Flag where the kitchen needs tickets.
  3. Check VAT on the new groups and on a sample of products, in particular anything whose file VAT was not one of the accepted rates.
  4. Check the names of the longest products, which may have been cut at 60 characters.
  5. Reattach option lists and icons, which do not travel with the products — see Option Lists and Icons.
  6. Spot-check prices against the source, in and out.