Adding Product

RetailPOS products are Roblox Tools.

RetailPOS reads the Tool name as the product name.

1

Create (or pick) the product Tool

  1. Create a Tool for the product (or reuse an existing one).

  2. Set Tool.Name to the product name you want to display.

2

Add the ProductConfig ModuleScript

  1. Add a ModuleScript named ProductConfig.

  2. Place it directly under the Tool, not inside Tool > Handle.

The tool hierarchy should look like this:

  • Tool

    • Handle

    • ProductConfig (ModuleScript)

3

Paste and edit the config

Put this inside ProductConfig:

local ProductConfig = {
	AgeRestricted = true,
	Cost = 2.99,
	EAS = false,

	-- If you use the percent-based Club Card mode:
	-- enter the number without the % sign.
	-- Example: 35% discount -> 35
	ClubcardCost = 49,

	-- Image displayed on the customer screen (not working right now)
	ImageID = "rbxassetid://18132107620",
}

return ProductConfig
chevron-rightConfig fields (what they do)hashtag
  • AgeRestricted (true/false): marks the product as age-restricted.

  • Cost (number): product price.

  • EAS (true/false): enables EAS behavior for this product.

  • ClubcardCost (number): Club Card price/discount value.

    • In percent-based mode: 35 means 35%.

  • ImageID (string): customer screen image asset id (not working right now).

circle-info

ProductConfig does not contain the product name. RetailPOS uses the Tool name for that.

circle-exclamation
chevron-rightCommon mistakes (and how to fix them)hashtag
  • The ModuleScript is named differently (e.g. Product Config, productconfig).

    • Fix: rename it to ProductConfig (exact spelling).

  • ProductConfig is inside Handle.

    • Fix: move it one level up, directly under the Tool.

  • The module doesn’t return the table.

    • Fix: ensure the last line is return ProductConfig.

  • A trailing comma / missing comma causes a Lua error.

    • Fix: open the module, check the Output for syntax errors, and fix them.

  • Price is a string (e.g. "2.99" instead of 2.99).

    • Fix: make Cost a number.

circle-info

We plan to ship a plugin to speed up product configuration.

Last updated