AI-assisted creation
Five Inventory modules carry a …createwithai permission, and there are seven distinct AI
surfaces between them. They are documented together because they share one shape.
| Module | Permission | Surface |
|---|---|---|
| Units of measure | Generate Unit of Measurement using AI | AI Suggestions |
| Categories | Generate Product Category With AI | AI Suggestions |
| Attributes | Create Attributes with AI | AI Generate |
| Raw materials | Generate Raw Materials with AI | AI Suggestions + Review AI queue |
| Products | Generate Product with AI | Suggestion, metadata, description and image generators |
1. The shared shape
Nothing is written blind. Every generator stages its output for review; you approve what you
want. The staging area differs by module — raw materials get a durable
queue, products get staging_products, the rest review inline.
2. Three gates decide whether AI is available at all
An AI utility appears only when all three are true:
| Gate | Where it lives | Meaning |
|---|---|---|
is_active | The platform's AI utility catalogue | The utility is switched on globally |
| Package entitlement | ai_utility_packages, per organisation | Your plan includes it |
is_implemented | Computed | The code path exists |
On top of that, the operator needs the module's …createwithai permission.
If the button is absent for an org owner, check the package before checking the role. The three gates are described in full in the operator documentation for AI utilities.
3. Credits
Every generation spends credits. The cost is per call and set per utility, so a product image costs more than a list of units.
There is no dry run. Clicking Generate spends the credit whether or not you keep the output. Fill the inputs properly first — a vague business description produces a vague list you will discard at full price.
4. Target languages — the pattern worth understanding
Most generators offer a language chip set. The rule is stated on the modal itself:
English is generated first as the canonical list. Other languages are translated from it.
| English | Required, always selected, and generated first |
| Everything else | Translated from the English output, not generated independently |
Twenty-three languages are offered — Hindi, Bengali, Tamil, Telugu, Marathi, Gujarati, Punjabi, Kannada, Malayalam, Odia, Urdu, Assamese, French, Spanish, German, Italian, Portuguese, Japanese, Chinese, Korean, Arabic and Russian.
The list screens offer a Language Context of Bengali / English / Hindi only. Generating Korean names stores them and shows them nowhere in Inventory. They are still readable through the external API.
5. Writing a good prompt
Every generator asks for a description of the business. The reference tenant's inputs show the level of detail that works:
| Field | Example |
|---|---|
| Business type | Cloud Kitchen - Speciality Bengali and North Indian |
| Finished product list | "All Bengali speciality Foods, starting from Sukto to Mutton Biriyani, including Sweet Dishes, Moglai Partha, Sea Foods like Crab Prawn, Fish Like Hilsha, Bhetki, Bengali Speciality Deserts, Luchi, Radhaballavi and many more" |
Naming the outputs is what produces useful inputs. "Restaurant" yields a generic pantry list; naming the dishes yields the ingredients those dishes need.
6. Where to go next
| Generating catalogue records | Units, categories and attributes — the shared modal |
| Raw material suggestions | The durable review queue |
| Generating products | Products, metadata, descriptions and images |