Open the Inventory module and create a new item. Give it a name, a category and an item number (the barcode), set cost and selling prices, then fine-tune taxes, reorder levels, images and per-location quantities as needed.
Every product you sell lives as an item in the Items module, which appears under Inventory in the left menu. An item can be a physical product, a digital good, a service, or even a series of services. The item record holds everything the register, reports and ecommerce sync need to know: what the product is called, how it is identified when a barcode is scanned, what it costs, and what it sells for.
You can create items one at a time as described here, or load a whole catalog at once by importing your data from a spreadsheet.
Create a new item
- Click Inventory in the left menu and select Items.
- Click + New Item in the top right. (On a desktop screen this opens a quick-entry form; the … menu in the corner also offers Add New Item, which walks through every tab in order.)
- Fill out the tabs — Item Info, Variations, Pricing, Inventory, Images, Related Products and Locations — clicking Save on each tab as you go. Each tab saves separately.
- Required fields are marked in red: Item Name and Category on the Item Info tab, Cost Price and Selling Price on the Pricing tab.
If you enter an Item Name that already exists, the app warns you and asks you to confirm before creating a duplicate. If you enter a UPC/EAN/ISBN or Product ID that another item already uses, the form flags it and links to the existing item so you can check it first.
Item Info tab — every field
- Item Name (required) — the title the item is identified by in searches, on the register and on receipts.
- Barcode Display Name — an alternate (usually shorter) name printed on barcode labels instead of the full item name.
- Category (required) — the item's main category. Click Add Category below the dropdown to create one without leaving the form (requires the Manage categories permission), or type a new name directly into the category field. Use Add Secondary Category to place the item in additional categories. See categories, tags and manufacturers.
- Supplier — the item's main supplier. Click Add Supplier to attach secondary suppliers; each secondary supplier gets its own cost price and selling price fields on the Pricing tab, so you can compare or reorder from more than one source. See suppliers.
- UPC/EAN/ISBN — the item number, i.e. the barcode printed on the product. This is what a barcode scanner reads at the register.
- Product ID — your own internal SKU or product code.
- Additional Item Numbers — extra barcodes that all resolve to the same item, each optionally linked to a supplier. Click Add Item Number for as many as you need — useful when the same product ships under more than one code.
- Tags — free-form labels for grouping items across categories. Start typing to pick an existing tag or create a new one inline; the Manage tags button (requires the Manage tags permission) opens the tag manager.
- Size — a simple size text field shown next to the name on the register. Hidden by default; a Store Config setting controls whether it appears.
- Manufacturer — the brand, chosen from a dropdown. The Manage Manufacturers button (requires the Manage Manufacturers permission) opens the manufacturer list.
- Description — a short description shown when searching for items in the store.
- Long Description — a longer description that fills the product description field in your connected online store. Turning on Use HTML Editor (CK Editor) in Store Config → Items replaces both description boxes with a rich-text editor.
- Information Popup when adding to sale (as labeled in the app) — a message for the cashier, e.g. "check ID" or "pack with bubble wrap". At the register it pops up as an alert the cashier must dismiss when the item lands in the sale; adding more of an item already on the ticket does not show it again. If the item has no message of its own, the same field on its category is used instead, and item kits carry the field too.
- Weight and Weight Unit — used for shipping calculations. Units are lb, oz, kg, g, l, ml and cf; when Shopify is the connected platform the list is limited to lb, oz, kg and g.
- Dimensions — length, width and height fields, also for shipping.
- Default Quantity When Selling Or Receiving — the quantity automatically used each time the item is added to a sale or a receiving. If you always sell baseballs in packs of 3, set 3 here.
- Inactive — default off. Hides the item from selling, searches and your ecommerce store without deleting its history.
- Is Barcoded — default on for new items. Marks the product as already carrying a barcode; it is also available as a column and filter in the item list.
- Is Favorite — default off. Pins the item to the Favorites section of the item grid on the register for one-tap selling.
- E-Commerce Shipping Class — shown only when an ecommerce platform is connected; assigns the shipping class the online store should use.
- Is EBT Item — shown only when Allow EBT payments is enabled in Store Config → Payment Types. Marks the item as EBT-eligible at checkout.
- Sold in a series — turns the item into a series package. Two extra fields appear: Series Quantity (number of uses sold) and Number of days series must be used within. See series, packages and recurring charges.
- Is Service — marks the item as a service with no stock. The default quantity, reorder and replenish fields disappear, and inventory is never tracked. Store Config → Items has a Default New Items as service items setting (default off) if most of what you sell is services.
- Is Ecommerce Item — shown when an ecommerce platform is connected; default on for new items (controlled by a Store Config setting). Below it, an Ecommerce Sync Log shows the last five sync attempts for the item with success/failure details. See how ecommerce sync works.
- Allow Alt Description — lets the connected online store keep its own description for this item instead of overwriting it from the POS.
- Item has Serial Number — turns on serial-number tracking for the item. See serialized and special item types.
- Disable Loyalty and Loyalty Multiplier — shown when the advanced loyalty program is enabled; exclude the item from earning points, or multiply the points it earns.
- Requires Age Verification and Required Age — shown when Verify age for products is enabled in Store Config → Items. The required age prefills from the Default age to verify setting.
- Custom fields — up to 10 configurable fields appear at the bottom of the tab when defined, and can be made required.
How scanned codes are matched
When a cashier scans or types a code, PHP Point Of Sale checks identifiers in a configurable order. The default order is: item ID, then UPC/EAN/ISBN, then Product ID, then additional item numbers, then serial numbers, then variation item numbers, then ecommerce product ID. You can drag the entries into a different order under Store Config → Application Settings → Item Lookup Order so lookups match how your store labels products. Once items exist, print your own tags — see barcodes and labels.
Pricing tab — every field
- Cost Price (Without Tax) (required) — what the item costs you to purchase, used to calculate profit on reports. Employees without the See cost price permission do not see this field.
- Markup / Margin — optional calculators, enabled with Enable Mark Up Calculator and Enable Margin Calculator in Store Config → Items (both default off). Type a percentage and the selling price is computed from the cost price (tax-aware when Prices Include Tax is checked).
- Selling Price (required) — the price charged at the register unless a promo price, price rule or tier price applies. Employees without the Can change Global Pricing permission see this field read-only.
- Price tiers — one row per price tier you have created. Each tier price can be entered as a flat Selling Price, a percent off, cost plus a percent, or cost plus a fixed amount — pick the type in the dropdown next to the amount.
- Promo Price, Promo Start Date, Promo End Date — a promotional price that overrides the selling price. With start and end dates set, it applies only during that window; with no dates, it applies until you clear it manually.
- Variations grid — when the item has variations, a table appears here to set cost price, selling price and promo price (with dates) per variation. Blank rows fall back to the item's base prices.
- Is Recurring Charge — shown only when your card processor supports stored payments or customer store accounts are enabled; adds Startup Cost, Prorated and billing Interval options (weekly, monthly on a day of the month, monthly on a day of the week, yearly on a date, yearly on a month + weekday). See series, packages and recurring charges.
- Disable From Price Rules — default off. Prevents price rules and promotions from ever changing this item's price.
- Allow Price Override Regardless Of Permissions — default off. Lets any employee edit this item's price during a sale even if their permissions normally forbid price edits.
- Prices Include Tax — default off. Tells the register that the prices you entered already include tax, so the shelf price is exactly what the customer pays. See setting up taxes.
- Only Allow Items To Be Sold In Whole Numbers — default off. Blocks fractional quantities like 0.5 at the register; recommended for anything that cannot be split.
- Change Cost Price During Sale — default off. Lets the cashier adjust the cost recorded on a single sale for reporting purposes, without changing the item's stored cost.
- Minimum/Maximum manual edit price and Max Discount — shown when Limit Manual Price Adjustments And Discounts is enabled in Store Config → Items; cap how far a cashier can move this item's price or discount it.
- Override Default Commission — default off. Reveals a commission amount as a Percentage (calculated on the Selling Price or on Profit — your choice) or a Fixed Amount for this item, replacing the store default. See commissions.
- Override Default Tax — default off. Reveals either a Tax Class dropdown or up to five named tax rates (tax 2 can be marked Cumulative, i.e. tax on tax). Item-level taxes override location and store defaults.
- Item is non profit sale (Zero profit) — default off. The item reports zero profit no matter its price — right for pass-through charges like bottle deposits.
Inventory tab
Set Reorder Level (when on-hand quantity falls to this point the item counts as low inventory; prefilled from Default Reorder Level When Creating Items in Store Config → Items), Replenish Level (the quantity purchase orders top back up to), and Days to expiration for perishables. You can also see the current quantity, record damaged stock and adjust quantities with a comment — all covered in stock levels, adjustments and damaged items. Viewing quantities requires the See Item Quantity permission and adjusting them requires Edit quantity. The bottom of the tab shows the item's full inventory tracking history with employee, in/out quantity, resulting stock and remarks, plus one-click links to the detailed inventory report.
Images tab
Upload as many images as you like with Choose file. Each image can carry a title and alt text (used by ecommerce), can be assigned to a specific variation, and one image is marked as the Main Image shown on the register grid and synced online. Remove an image with the X on its corner.
Related Products tab
Search for other items to link as related products. When this item is sold or received, the cashier is prompted to add the related products; check Do not prompt on sales or Do not prompt on receivings to link them silently instead.
Locations tab
With one location this tab simply holds that location's stock settings. With multiple locations, each location gets its own panel:
- Do Not Sell At This Location — hides the item entirely from that location's searches and grid.
- Location at Store — a free-text note of where the item physically sits (aisle, shelf) for stocking and customer service.
- Reorder Level / Replenish Level — override the Inventory tab values for this location only.
- Limited Sales Quantity — per-location cap on the quantity of this item in a single sale.
- Hide From Grid — keeps the item off that location's register grid; it can still be scanned or searched.
- Override Prices — reveals per-location cost price, selling price, promo price with dates, and tier prices that override the Pricing tab for this location. Editing these requires the Can change Location Pricing permission.
- Override Default Tax — per-location tax class or tax rates. Location-item taxes are the most specific tax setting and win over every other tax default, so use them carefully.
Search and select items in the list
The search box at the top of the item list matches broadly by default. The Fields dropdown next to it narrows the search to a single field: All, Item Id (as labeled in the app), UPC/EAN/ISBN, Product ID, Item Name, Description, Size, Cost Price, Selling Price, Promo Price, Quantity, Reorder Level, Supplier, Manufacturer or Tag — plus one entry for each custom field you have defined. A Category dropdown beside it filters by category at the same time.
Ticking row checkboxes reveals the action toolbar. The header checkbox (or the Select All button) selects every row on the current page — and a yellow banner appears reading "All items on this page are selected. Select all inventory items for current search". Click it and confirm the prompt ("This applies to all items in inventory for current search") and the banner turns green: "All items based on current search are selected. Clear selection". While that selection is active, the bulk actions — bulk edit, delete, undelete and label printing — apply to every item matching the current search, not just the rows on screen. Click the banner again (Clear selection) to drop back to the visible page.
Edit, clone and delete items
- Edit — in Inventory → Items, find the item and click Edit in the Actions column. The … button next to it jumps straight to the item's Inventory or Pricing tab, prints QR/barcode labels, or clones the item. Click Done to return to the list. Each tab must be saved individually.
- Clone — choose Clone Item from the row's … menu. A new item form opens with everything copied — including attributes, variations and quantity units — and "(Clone)" appended to the name. Adjust what differs and Save. (A Store Config option can surface Clone as a direct button on each row.)
- Delete — tick the checkbox on one or more rows and click Delete in the toolbar that appears; the header checkbox selects the whole page. Deleted items keep their history and can be restored: switch the list to show deleted items and use Undelete.
- Add to Sale / Add to Receiving — with rows selected, these toolbar buttons push every selected item onto the sale or receiving currently in progress at the register. After the confirmation ("Are you sure you want to add the selected items to the sale?" or "…to the receiving?"), the app offers to take you straight to the sales or receiving screen — handy for ringing up or restocking a whole shelf found by search.
- Bulk changes — select rows and click Edit in the toolbar to change fields on many items at once, or use Merge to combine duplicate items — both described below. The … menu offers Excel Import / Excel Export — see importing your data.
- Cleanup Old Items — the same … menu permanently erases all previously deleted items and frees their identifiers — UPC/EAN/ISBN, Product ID, additional item numbers, serial numbers and variation item numbers — for reuse on new items. Cleaned-up items vanish from the deleted list and can no longer be undeleted; the cleanup cannot be undone and cannot be run item by item, so read the confirmation ("Are you sure you want to clean ALL deleted items?") carefully. The option requires the Delete permission.
Bulk edit many items at once
Select rows — or the whole search, using the banner described above — and click Edit in the toolbar. Every field in the bulk form starts at Do Nothing or blank, and only the fields you change are written to the selected items. Most Item Info and Pricing fields are available; the pricing fields have extra mechanics:
- Cost Price and Selling Price each offer Fixed Price (set every item to the amount entered in Cost Price Value / Selling Price Value) or Increase/Decrease Percent (a positive percentage raises each item's own price by that much; a negative one lowers it).
- Promo Price offers the same two choices plus Remove Promo Price, which clears the promo price and its start and end dates. With Increase/Decrease Percent selected, a Use Selling Price checkbox bases the calculation on each item's selling price instead of its current promo price — the usual way to put a whole selection on sale: enter -20 with the box ticked for 20% off. Promo Start Date and Promo End Date can be set in the same pass.
- Each price tier gets its own row with a value and a type — Fixed Price, Percent Off, Cost Plus Percent or Cost Plus Fixed Amount — just like on the item form.
- Select Image/Images (Add) uploads one or more images and adds them to every selected item.
- Tags applies tags to every selected item; the Replace Current Tags On Items (Otherwise Append) checkbox (ticked by default) swaps out each item's existing tags instead of adding to them.
Bulk edit runs under the Add Update permission, and combined with the select-all banner it can reprice your entire inventory in one submit — double-check the selection count before confirming.
Merge duplicate items
Duplicates happen — the same product gets created twice under slightly different names or codes, splitting its sales history and stock.
- Go to Inventory → Items.
- Tick the checkboxes of the duplicate rows.
- Click Merge in the toolbar above the list.
- In the Merge Items popup, choose which item to keep in the Merge Into dropdown.
- Click Submit.
The item you merge into keeps its own name and base prices. Everything else moves onto it from the other records: sales, receivings and inventory history, additional item numbers, serial numbers, images and variations — and the stock at each location is added together, with an "Item Merge" adjustment logged in the inventory history for the combined quantity. The other items are then deleted. Merging cannot be undone, so verify the rows before submitting.
The item popup and Sales Velocity
Wherever an item's name appears as a link — on a line of the sale or receiving screen, or in an inventory count — clicking it opens a popup with tabs for Item Info, Pricing, Inventory, Sales Velocity and Images, so you can check details without leaving the transaction. The Sales Velocity tab answers "how fast does this sell?": it shows the current quantity plus units sold and sales amounts for the Last 30 Days, Last 60 Days, Last 90 Days, Last 6 Months and Last 12 Months, repeats the table for each variation, and charts the last 12 months month by month. The tab appears only for employees who hold the Reports permission View Dashboard Statistics.
Price Check
Price Check in the Inventory menu opens a customer-facing Price Lookup page in its own browser tab — full screen, with none of the register controls, so it can run on a kiosk or a spare tablet on the sales floor. Type a name or scan a barcode into the "Enter item name or scan barcode" box and click Look Up. The result shows the price in large type with the item's image, an In Stock or Out of Stock flag, and the item's name, category and description — plus its Location at Store when one is set on the Locations tab — then returns to the search screen after a few seconds. Item kits can be looked up too, including by scanning a "KIT" barcode. If Use Tier For Price Check is set in Store Config, the page quotes that price tier's price instead of the regular selling price.
Permissions
Access is controlled per employee in permissions and templates. The Items module permission gates the module itself; within it, the actions that matter when creating items are: Add Update (create and edit), Delete, Search items, See cost price, Can change Global Pricing, Can change Location Pricing, Edit Prices, See Item Quantity, Edit quantity, Manage categories, Manage tags, Manage Manufacturers, Excel Export, and See All Items.
Three of these deserve a closer look. Search items is what lets an employee open and search the item list at all. Edit Prices is required to open and save an item's Pricing tab. See All Items reveals items that are hidden from the employee's current location by Do Not Sell At This Location or a tag banned at that location — without it, those items are filtered out of every item list and search that employee runs.
Common questions
Why can't I save my item? Check the fields marked in red: Item Name and Category on the Item Info tab, Cost Price and Selling Price on the Pricing tab are required. A required custom field can also block saving.
Why don't I see the cost price field? Your employee account lacks the See cost price permission for the Items module. An admin can grant it under People → Employees.
What is the difference between UPC/EAN/ISBN and Product ID? UPC/EAN/ISBN is the item number — the barcode printed on the product that scanners read. Product ID is your own internal SKU. Both are searchable, and the lookup order between them is configurable in Store Config → Application Settings.
Can one item have more than one barcode? Yes. Add as many Additional Item Numbers as you need on the Item Info tab; scanning any of them rings up the same item.
How do I put an item on sale for a limited time? Set a Promo Price with a Promo Start Date and Promo End Date on the Pricing tab. During that window the register charges the promo price automatically. For sales that cover whole categories or tags, use price rules instead.
How do I change prices on many items at once? Search or filter the list down to the items you want, select them (confirm the banner to include every item in the search, not just the page), then click Edit and use the Increase/Decrease Percent option — for example 5 on Selling Price raises everything 5%. For temporary, rule-based discounts use price rules instead.
How do I stop selling an item without losing its history? Check Inactive on the Item Info tab. The item disappears from selling, search and ecommerce but keeps all sales and inventory history. Deleting does the same and can be undone with Undelete, as long as Cleanup Old Items has not been run since.
Why is my new item not showing in the online store? Make sure Is Ecommerce Item is checked and the item is not Inactive, then check the item's Ecommerce Sync Log on the Item Info tab for the last sync attempts. See how ecommerce sync works.
Can two items have the same name? Yes, but the app warns you when creating a duplicate name and asks you to confirm — usually a size, color or pack difference is better modeled with variations.
Comments
0 comments
Please sign in to leave a comment.