Inventory
Inventory overview
What Inventory does, the main records it manages, and how it connects to Antly Base.
Product Purpose
Inventory manages product catalogue, variants, units, categories, stores, stock, requests, transfers, adjustments, transactions, audits, prices, and activity logs.
Inventory is a launchpad module, but it is not isolated from the rest of Antly. It shares tenant identity, permissions, workflow automation, reports, pages, and JQL access with Base so teams can run the module as part of a wider operating system rather than as a separate silo.
Use this overview when deciding what belongs in the module, what should stay in Base objects, and how the module should connect to tasks, tickets, workflows, pages, and reports.
Entity Table
| Area | Source entities | Why it matters |
|---|---|---|
| Catalogue | Category, UnitOfMeasure, Product, ProductVariant, VariantOptionCategory, VariantOptionValue | Product master data, units, and variant structure. |
| Pricing | ProductPrice, ProductPriceHistory | Price records and historical price changes. |
| Locations | Store | Stock-holding stores or warehouses. |
| Stock | Stock, InventoryTransaction | Current stock position and stock movement history. |
| Requests | Request, RequestItem | Internal stock requests. |
| Movement control | StockTransfer, StockAdjustment, InventoryAudit, ActivityLog | Transfers, adjustments, counts, and activity history. |
How It Connects To Base
- Objects and records: Module records can be referenced from Base objects or can enrich object-backed workflows when teams need a tailored schema.
- Tasks: Operational exceptions, approvals, handoffs, and reminders should create tasks with owners and due dates.
- Tickets: Customer-facing or service-desk follow-up can be represented as tickets when the work needs queueing, SLA, or support ownership.
- Workflows: Create/update/status events can trigger approvals, notifications, cross-module updates, and scripted transformations.
- Pages and sites: Internal pages, portals, and public surfaces can expose selected module data when permissions allow it.
- Reports: Module reports should be combined with Base reports when leaders need cross-functional visibility.
- Reference: API and automation details live in /reference/inventory.
Launchpad Path And Routes
- Open the module from Launchpad -> Inventory.
- Frontend source reviewed:
packages/antly-app-inventory and Base inventory routes. - Backend source reviewed:
src/inventory/models.pyplus controllers or automation files where available. - Main route:
/ - Main route:
/products - Main route:
/products/[productId]/view - Main route:
/stock - Main route:
/transfers - Main route:
/adjustments/[...page] - Main route:
/pricing/[...page] - Main route:
/admin/[...page] - Main route:
/settings/[[...page]]
Who Uses It
- Inventory managers.
- Warehouse teams.
- Store managers.
- Sales and shop teams consuming stock.
- Finance or procurement teams reviewing stock value.
What To Keep In This Module
- Use Inventory for the records listed above when users need the module screens, module actions, and module reports.
- Use Base objects when the data is a tenant-specific schema that does not need module-specific lifecycle actions.
- Use tasks for human follow-up that needs an owner, due date, comments, or completion tracking.
- Use tickets for support or service work that benefits from queues, requesters, SLA thinking, or customer conversation history.
- Use workflows when a record change should notify people, request approval, create related work, or synchronize another module.
- Use pages when a role needs a focused workspace over a subset of the module data.
- Use reports when the team needs recurring visibility rather than one-off exports.
- Use JQL and reference namespaces when integrations or scripts need structured access to records.
Operating Notes From Source
- The backend app is
src/inventoryand the primary models define the durable record names used by JQL and reports. - Most important work happens through model lifecycle actions, status fields, or controller endpoints rather than free-form notes.
- Where automation event constants exist, prefer those event names in workflows instead of inventing parallel naming.
- Where no explicit event class exists, build workflows around create, update, status change, and assignment changes for the module records.
- Permissions should follow the module role model first, then be narrowed by Base pages or object exposure only when needed.
- Imported data should be reconciled against module reports before it is trusted by downstream finance, payroll, inventory, or customer flows.
- Avoid duplicating module records in custom objects unless the custom object is only an extension or intake surface.
- Keep launchpad access, settings access, and API access aligned so users cannot automate records they cannot operate in the UI.
Related Pages
- Setup:
/inventory-setupfor configuration, prerequisites, and permissions. - Working guide:
/inventory-workingfor day-to-day flows. - Data and automation:
/inventory-data-automationfor namespaces, workflow triggers, and reports. - Reference: /reference/inventory.