Who works where
Items are shared by the whole organization, so each company of the organization sees the same units of sale. Prices are different: each company has its own. Bundles belong to one company only. For bundles, the same actions apply with the bundle permissions.Add units of sale
A unit of sale is a way of selling an item, linked to a unit of measure. Dr Chabi opens the item and uses Add units to an item. For the pack of ten she picks the matching unit of measure, gives the barcode, and at least one price. If she gives no SKU, Exowpee generates one. To see what an item already offers, she uses List units of an item or View a unit of an item. A misprinted barcode is corrected with Change a unit of an item. Units of measure themselves are defined in Units of measure. When she stops selling the pack, Remove a unit of an item removes it. If an order has already used the unit, Exowpee keeps it and only deactivates it. Otherwise the unit is deleted with its prices.Give each unit its prices
An item can have several named prices, for example “retail” and “health centre”. Dr Chabi adds them with Add prices to an item, each linked to a unit of sale. Amounts are written in major units, for example 1,500 FCFA. Exowpee also checks that the taxes configured for the item allow the price to be calculated; if not, nothing is saved. Taxes are set in Apply taxes to products and orders. Prices are read with List prices of an item and View a price. When the wholesaler raises his rates, she changes a name or an amount with Change a price. When a price is no longer offered, she removes it with Delete a price, or removes several at once with Delete several prices.The rules
- The permission depends on the type of item: variant permissions for product variants, bundle permissions for bundles.
- A bundle must belong to your company.
- Units: each unit of measure can be linked to an item only once, counting existing units and the request. All units of an item are in the same measurement category, which fixes the item’s category when it has none.
- SKUs and barcodes are unique across the organization when set. The check ignores empty values, so a unit may have no barcode. Sending null for either is accepted on update.
- A generated SKU has the form ITEM-UNIT-001, with the number increased until the SKU is free.
- A unit that was deactivated cannot be reactivated when its measurement category differs from the item’s.
- Deleting a unit can still be refused when purchases, transfers, stock corrections or damage records refer to it.
- Prices are named and linked to an active unit of the item. A name is used once per unit in the company, compared in lower case. An amount is used once per item in the company, across all its units, including inside the same request.
- A price is a decimal in major units, at least 0, with no more decimals than the currency.
- A change of amount, tax settings or VAT behavior must leave the price calculable. A plain rename is accepted even when the tax configuration is currently broken.
- Deleting prices removes them for good with their tax settings. When several prices are deleted at once and one does not belong to the item and the company, none is deleted.
All the actions of this topic
- List prices of an item: Lists the selling prices defined for one item.
- Add prices to an item: Adds named selling prices, per unit of sale, to an item, with its tax settings.
- Delete several prices: Deletes a selection of prices of one item in one request.
- View a price: Shows one price of an item.
- Change a price: Changes the name or amount of an existing item price.
- Delete a price: Deletes one price of an item.
- List units of an item: Lists the units of sale (for example piece, box) defined for an item.
- Add units to an item: Adds units of sale to an item, each with SKU, barcode and prices.
- View a unit of an item: Shows one unit of sale of an item.
- Change a unit of an item: Changes a unit of sale such as its SKU, barcode or order.
- Remove a unit of an item: Removes a unit of sale; if it was already used in orders it is deactivated instead of deleted.