Aksha
Aksha
Business Software

Documentation

Item Sets / Kits / Bundles

Item Sets lets an Organization define a governed commercial or inventory grouping around an existing Item and a controlled list of component Items. The setup determines whether a transaction keeps one Set line, explodes to components, or retains a parent plus components, and how value is carried or allocated.

Inventory and item-master administratorsSales and commercial teamsPurchasing teamsWarehouse and stores teamsImplementation teamsOrganizations configuring kits, bundles, assortments or packs
Last updated: 18-08-2026

What Item Sets / Kits / Bundles controls

Item Sets groups an existing Set Item with one or more component Items. The setup can represent a kit, commercial bundle, assortment, pack or other reusable grouping without replacing the underlying Item masters.

The Item Set master controls composition and transaction behavior. Set Type classifies the grouping, while Explosion Mode controls which lines appear in a supported transaction and Pricing Mode controls where commercial value comes from.

Quick Reference

TaskWhat to doControl to remember
CreateInventory → Item Sets / Kits / Bundles → Create.The active Organization owns the Item Set.
Choose the parentSelect the Set Item.The Set Item must be owned by the active Organization and cannot be changed after creation.
Add componentsAdd one or more active Component Items.Components can be owned Items or Items shared to the Organization with Active USE access.
Choose line behaviorSelect SINGLE_LINE, EXPLODE or PARENT_CHILD.Explosion Mode determines which transaction lines are produced.
Choose pricingSelect SET_PRICE, COMPONENT_PRICE or ALLOCATE_SET_PRICE.Some Explosion/Pricing combinations are intentionally blocked.
Control optionsMaintain Mandatory and Default Include on component lines.Mandatory components are always included when the Set is expanded.
RetireChange Status to Inactive.Use Inactive for a Set that has been used historically.
DeleteSelect an unused Set and choose Delete.If any selected Set has transaction history, the selected delete operation is rejected rather than partially completing.

Before you create an Item Set

  • Confirm the correct Organization is active in AkshaERP.
  • Create the Set Item in that Organization before creating the Item Set.
  • Create or confirm every component Item and its Item UOM setup.
  • Decide whether the business wants a single commercial line, only component lines, or a parent plus component structure.
  • Decide whether price belongs to the Set, comes from the components, or should be allocated from one Set price.
  • Confirm the required Currency exists when a Set Unit Price will be used.
  • Search existing Set Codes and Set Items before creating a duplicate setup.

Organization ownership and Item eligibility

Every Item Set belongs to the Organization active when it is created. The Set Item itself must be owned by that Organization.

Component Items can be owned by the Organization or shared to it with Active USE access. VIEW-only sharing is not sufficient for a component that will be used in transactions.

Item situationCan be Set Item?Can be Component?
Owned by active OrganizationYes, when otherwise valid.Yes, when otherwise valid.
Shared with Active USE accessNo.Yes.
Shared with VIEW access onlyNo.No for transaction use.
Inactive ItemNot for an Active Set.Not for an Active Set.

Item Sets list – what you can see and do

The Item Sets list is the operating entry point for finding, opening, creating and retiring Item Set definitions. It supports search, sorting, paging, row selection, Create, Open and controlled Delete.

ColumnMeaningHow to use it
Set CodeStable controlled identifier for the Item Set.Use for searching, integrations and distinguishing similar Set names.
Set NameBusiness-readable Set name.Primary user-facing description of the grouping.
Set ItemParent Item represented by the Set definition.Confirms which Item invokes this Item Set.
TypeSET, KIT, BUNDLE, ASSORTMENT or PACK.Classifies the business grouping.
Explosion ModeSINGLE_LINE, EXPLODE or PARENT_CHILD.Shows how supported transactions will represent the Set.
Pricing ModeSET_PRICE, COMPONENT_PRICE or ALLOCATE_SET_PRICE.Shows how value is carried or distributed.
Set PriceSet-level unit price when applicable.Required for Set Price and Allocate Set Price modes.
CurrencyCurrency of the maintained Set Unit Price.Comes from the Currency master.
PartialWhether optional components may be included or excluded.No means all active components are included.
Qty OverrideWhether component final quantities may be changed in the transaction Set drawer.Automatically disabled for Allocate Set Price.
StatusActive or Inactive lifecycle.Inactive Sets remain for history but are not returned for active transaction use.
Effective From / ToOptional effective-date window.Controls when an Active Set is available for transaction use.

Create / Edit page – Save, Apply and immutable identity

Create defines the Set identity and component structure. Save stores the Set and returns to the list. Apply stores the Set while keeping the user in the Set workflow.

Set Code and Set Item are part of the Set identity. After the Item Set is created, both are locked and cannot be changed. Other configuration can be maintained subject to normal validation and lifecycle rules.

Header field reference

FieldRequirementSource / typeWhat to enter or selectWhy it matters
Set CodeHard-save mandatoryManual controlled codeStable code up to 100 characters; saved in uppercase.Unique inside the active Organization and immutable after creation.
Set NameHard-save mandatoryManual textClear business name up to 240 characters.Displayed to users when reviewing and expanding the Set.
Set ItemHard-save mandatoryDynamic Item lookupSelect an Item owned by the active Organization.The parent Item that invokes the Item Set; immutable after creation.
Set TypeOperational classificationValue Set INV_ITEM_SET_TYPESET, KIT, BUNDLE, ASSORTMENT or PACK according to business meaning.Classifies the grouping without itself deciding explosion or pricing.
Default Explosion ModeHard business ruleValue Set INV_ITEM_SET_EXPLOSION_MODEChoose SINGLE_LINE, EXPLODE or PARENT_CHILD.Determines which transaction lines are produced from the Set.
Pricing ModeHard business ruleValue Set INV_ITEM_SET_PRICING_MODEChoose SET_PRICE, COMPONENT_PRICE or ALLOCATE_SET_PRICE.Determines where commercial value comes from.
Set Unit PriceConditionalNumberEnter a non-negative price.Required for SET_PRICE and ALLOCATE_SET_PRICE.
CurrencyConditionalDynamic Currency lookupSelect the maintained currency for the Set Unit Price.Required when a Set Unit Price is maintained.
StatusLifecycle controlValue Set ACTIVE_INACTIVE_STATUSActive or Inactive.Only an active, currently effective Set is returned for active transaction use.
Allow Partial SelectionSelection controlYes / No Value SetYes lets optional components be included or excluded during expansion.No forces every active component to be included.
Allow Quantity OverrideTransaction controlYes / No Value SetYes lets the user adjust final component quantities in the Set drawer.Automatically No for allocated Set pricing.
Effective Start DateOptionalDateFirst date the Set should be usable.Part of the current-use window.
Effective End DateOptionalDateLast date the Set should be usable.Must not be earlier than Effective Start Date.
Set Item CodeDisplay onlyFrom selected Set ItemNo entry required.Helps confirm the selected parent Item identity.
DescriptionOptionalManual textExplain the commercial or inventory purpose of the Set.Improves master-data understanding.
RemarksOptionalManual textInternal operating note.Useful for maintenance context and handover.

Set Type – SET, KIT, BUNDLE, ASSORTMENT and PACK

Set Type is a business classification. It lets users distinguish the intention of the grouping without forcing all organizations into one naming convention.

Set TypeTypical business useImportant note
SETGeneral reusable grouping of Items.Use when no more specific business label is required.
KITItems normally supplied or handled together as a kit.Explosion and pricing still come from their dedicated controls.
BUNDLECommercial combination sold or quoted together.Can use one Set price, component pricing or allocated Set pricing.
ASSORTMENTA defined selection of different Items.Partial-selection policy determines whether optional lines can be changed.
PACKA defined pack-style grouping of Items.Do not use Set Type as a substitute for UOM conversion when the business need is only unit conversion.

Explosion Mode – what appears in a transaction

Explosion ModeTransaction resultWhen it is useful
SINGLE_LINEThe transaction keeps only the Set Item as one line. Component lines are available for Set definition/reference but are not added as transaction lines.Use when the business transacts the bundle as one commercial Item.
EXPLODEThe Set Item line is replaced by the selected component lines.Use when downstream quantity, pricing or fulfillment must operate directly on components.
PARENT_CHILDThe transaction keeps a Set parent line and also adds the selected component lines.Use when users need both the commercial/group identity and component detail.

Pricing Mode – where value comes from

Pricing ModeCommercial behaviorConfiguration to review
SET_PRICEUses the maintained Set Unit Price where the Set parent/single line carries value.Maintain Set Unit Price and Currency. In PARENT_CHILD mode, review component Price Mode if component lines should carry no additional value.
COMPONENT_PRICEComponents use their configured component-line price behavior and, where applicable, normal transaction pricing.Review each component Price Mode and Discount %.
ALLOCATE_SET_PRICEDistributes the maintained Set Unit Price across active components using Allocation %.Active component Allocation % must total 100%. Partial selection and quantity override are disabled.

Explosion and Pricing compatibility

AkshaERP blocks combinations that would not produce a coherent result. SINGLE_LINE requires SET_PRICE because there are no component transaction lines to carry component pricing. EXPLODE cannot use SET_PRICE because the Set parent does not remain as a transaction line.

Explosion ModeSET_PRICECOMPONENT_PRICEALLOCATE_SET_PRICE
SINGLE_LINESupportedNot supportedNot supported
EXPLODENot supportedSupportedSupported
PARENT_CHILDSupportedSupportedSupported

Component Lines – field reference

FieldRequirementSource / typeMeaning
Line NoAutomatic / displaySequenceOrder of the component line in the Set.
Component ItemHard-save mandatoryDynamic Item lookupItem included in the Set. The Set Item cannot be its own component.
Item CodeDisplayFrom Component ItemReference code of the selected Item.
SKUDisplayFrom Component ItemSKU of the selected Item when maintained.
Qty / SetHard-save mandatoryPositive numberQuantity of the component required for one Set.
UOMOperationally mandatoryDynamic UOM lookupComponent transaction UOM. It must be the Item default UOM or an active UOM configured for that Item.
MandatorySelection controlYes / NoYes means the component must always participate when components are produced.
Default IncludeSelection controlYes / NoInitial inclusion state for an optional component when partial selection is allowed.
Price ModePricing controlFROM_COMPONENT / MANUAL / ZERO / ALLOCATEDDetermines how that component line obtains value. ALLOCATED is controlled automatically in Allocate Set Price mode.
Manual PriceConditionalNon-negative numberRequired when Price Mode is MANUAL.
Discount %Optional0 to 100Component discount used where the transaction supports it. Disabled in Allocate Set Price mode.
Allocation %Conditional0 to 100Share of Set Unit Price assigned to this active component in Allocate Set Price mode.
SortSequenceNumberControls component ordering.
ActiveLine lifecycleYes / NoInactive component lines remain in the Set history but are not used for active expansion.
RemarksOptionalManual textComponent-specific operating note.

Mandatory, Default Include and Partial Selection

Mandatory controls whether a component can ever be excluded. Default Include controls the starting choice only for optional lines when partial selection is allowed.

ConfigurationResult in the transaction Set drawer
Mandatory = YesThe component is included and cannot be unselected.
Mandatory = No + Partial Selection = Yes + Default Include = YesThe component starts selected but can be unselected.
Mandatory = No + Partial Selection = Yes + Default Include = NoThe component starts unselected and can be selected.
Partial Selection = NoEvery active component is included, regardless of optional status.
Allocate Set PricePartial Selection is forced to No so the maintained allocation remains complete.

Quantity behavior

Qty / Set defines the normal quantity of a component for one Set. When a transaction uses a larger Set quantity, AkshaERP calculates the component final quantity from the Set quantity and Qty / Set.

If Allow Quantity Override is Yes, the user can adjust final component quantities in the Set drawer before applying the Set. Allocate Set Price disables quantity override so the maintained price allocation remains controlled.

ExampleCalculationFinal component quantity
Set Qty 3; Component Qty / Set 23 × 26
Set Qty 5; Component Qty / Set 0.55 × 0.52.5

Allocate Set Price – worked example

Allocate Set Price is useful when the business maintains one commercial Set price but exploded component lines must carry the distributed value.

ComponentQty / SetAllocation %Allocated value for a ₹1,000 SetAllocated unit price
Component A260%₹600₹300 each
Component B125%₹250₹250 each
Component C315%₹150₹50 each
Total100%₹1,000

UOM rules for components

A component UOM is not unrestricted free text. The selected UOM must be valid for that component Item.

Use the Item default UOM or an active Item UOM configured for that Item. If the required operating UOM is missing, maintain the Item/UOM setup first and then return to the Item Set.

Status and effective dates – when a Set can be used

Status is the user-facing lifecycle control. Active Sets are candidates for transaction use; Inactive Sets are retained for history but are not returned as current usable Set definitions.

Effective Start Date and Effective End Date provide an optional date window. An Active Set must also be effective on the transaction-use date to be returned as the current Set for its Set Item.

Status / datesUsable for current transactions?
Active, no date restrictionYes, when Items/components/UOMs are still valid.
Active, today inside effective rangeYes.
Active, before Effective Start DateNo.
Active, after Effective End DateNo.
InactiveNo.

Nested Item Sets are not supported

A Set Item cannot be used as its own component, and the current reviewed Item Sets function does not support nesting one Item Set inside another Item Set.

If the business needs multiple levels, create the appropriate underlying Item structure or separate transaction logic rather than creating circular or nested Set definitions.

Supported transaction touchpoints

The reviewed Item Set action is connected to major commercial and Inventory line workflows. When a selected Item has a currently usable Item Set, the user can review the configured component result before applying it to the transaction.

Transaction areaHow Item Sets participate
Sales QuoteUse the Set configuration to create the configured single, exploded or parent/component quote lines.
Sales OrderUse the Set configuration from the order line, subject to the transaction tracking safeguard described below.
Purchase OrderUse the Set configuration to create purchase lines according to the configured explosion/pricing behavior.
Goods ReceiptUse the Set configuration when receiving the corresponding component structure.
Stock IssueUse the Set configuration to create issue lines for the selected Set structure.
Stock TransferUse the Set configuration to create transfer lines for the selected Set structure.
Stock RequisitionUse the Set configuration to create requisition lines for the selected Set structure.

Delete versus Inactive

Delete is intended for a genuinely unused setup mistake. Once a Set has been referenced by business transactions, retain the definition and change Status to Inactive so historical documents remain understandable.

Multi-select Delete is all-or-nothing. If one selected Set cannot be safely deleted, the selected operation is rejected instead of deleting only the easy records and leaving a partial result.

SituationRecommended actionReason
New duplicate or setup mistake with no business useDeleteNo historical Set usage needs to be preserved.
Set already used in transactionsInactivePreserves traceability and historical meaning.
Seasonal Set temporarily not offeredInactive or use effective datesKeeps the master while preventing current use.
Set composition no longer valid for future businessInactive and create the correct new setup when requiredAvoids rewriting the meaning of historical transactions.

Common operating tasks

TaskRecommended steps
Create a fixed-price single-line bundleCreate the Set → choose the owned Set Item → add components → choose SINGLE_LINE + SET_PRICE → enter Set Unit Price and Currency → Save.
Create an exploded kit priced by componentsChoose EXPLODE + COMPONENT_PRICE → add component quantities/UOMs → maintain component Price Modes as needed → Save.
Create a bundle whose price is allocated to componentsChoose EXPLODE or PARENT_CHILD + ALLOCATE_SET_PRICE → enter Set Unit Price/Currency → enter Allocation % totaling 100% → Save.
Make one component optionalAllow Partial Selection = Yes → Mandatory = No on that line → choose Default Include according to the desired starting selection.
Force every component to be includedSet Allow Partial Selection = No.
Retire a used bundleOpen the Set → Status = Inactive → Save.

Practical examples

Business scenarioPossible setupWhy
Laptop starter bundle sold under one priceBUNDLE + SINGLE_LINE + SET_PRICECustomer sees one bundle line while the master preserves the defined composition.
School book set where each title must appear on the documentSET + EXPLODE + COMPONENT_PRICEThe Set becomes individual title lines for quantity and commercial processing.
Promotional bundle with one commercial price allocated across productsBUNDLE + EXPLODE + ALLOCATE_SET_PRICEComponent lines carry a controlled share of one Set price.
Maintenance kit where parent identity and component detail are both neededKIT + PARENT_CHILD + COMPONENT_PRICEDocument retains the kit grouping and the operational component lines.
Assortment with optional accessoriesASSORTMENT + EXPLODE + COMPONENT_PRICE + Partial Selection YesMandatory lines stay fixed while optional accessories can be selected.

Troubleshooting

ProblemLikely reasonWhat to check
Set Item is not acceptedThe Item is not owned by the active Organization or is not valid for an Active Set.Confirm Organization ownership and Item lifecycle.
Component Item is rejectedThe Item is unavailable, inactive, VIEW-only shared, or already participates in a prohibited nested Set relationship.Check Item ownership/access, lifecycle and existing Item Set usage.
UOM is rejectedThe UOM is not the Item default UOM or an active Item UOM for that component.Maintain the Item UOM setup and retry.
Currency is rejectedThe code does not exist in the Currency master.Select the Currency from the maintained lookup.
Cannot save SINGLE_LINE + COMPONENT_PRICEThat combination has no component transaction lines to carry component pricing.Use SINGLE_LINE + SET_PRICE or choose an explosion mode that produces components.
Cannot save EXPLODE + SET_PRICEEXPLODE removes the Set parent line.Use COMPONENT_PRICE or ALLOCATE_SET_PRICE.
Allocation mode will not saveActive Allocation % does not total 100%.Review each active component Allocation %.
Optional component cannot be unselectedIt is Mandatory, Partial Selection is No, or Allocate Set Price is active.Review the Set selection controls.
Quantity cannot be changed in the Set drawerQuantity override is disabled, or Allocate Set Price is active.Review Allow Quantity Override and Pricing Mode.
Item Set does not appear in a transactionThe Set is Inactive, outside its effective dates, or a required Item/UOM is no longer valid.Review Status, dates, Set Item, components and UOMs.
Delete is rejectedThe Set has transaction history or another selected Set is not safe to delete.Use Inactive for used Sets; multi-delete is intentionally all-or-nothing.
Sales Order Set action is blocked for a tracked ItemA parent/component is batch or serial tracked.Use the normal tracked-item line workflow for that Sales Order.
  • Set Code is unique inside the Organization and is saved in uppercase.
  • Set Code and Set Item are immutable after creation.
  • At least one active component is required.
  • The Set Item cannot be its own component.
  • The same component Item cannot be repeated on multiple lines in one Set.
  • Nested Item Sets are not currently supported.
  • Component Qty must be greater than zero.
  • Manual Price cannot be negative.
  • Discount % and Allocation % must remain between 0 and 100.
  • Active Allocate Set Price components must total 100% allocation.
  • Effective End Date cannot be earlier than Effective Start Date.
  • Used Sets should normally be retired with Inactive rather than deleted.

Related pages

Frequently asked questions

What is the difference between an Item and an Item Set?

An Item is the reusable product, material, service or title used by transactions. An Item Set is a governed composition around an existing Set Item and component Items.

Is a KIT different from a BUNDLE in transaction behavior?

Set Type classifies the business grouping. Transaction line behavior comes from Explosion Mode and Pricing Mode, so two different Set Types can use the same explosion/pricing model.

Can the Set Item come from another Organization?

No. The Set Item must be owned by the active Organization. Components can also be owned locally or can be shared to the Organization with Active USE access.

Can I change the Set Item later?

No. Set Item and Set Code are immutable after creation because they define the Set identity. Delete an unused incorrect setup and create the correct one instead.

What does SINGLE_LINE do?

It keeps only the Set Item as the transaction line. SINGLE_LINE requires SET_PRICE.

What does EXPLODE do?

It replaces the Set Item with the selected component lines. EXPLODE supports component pricing or allocated Set pricing, not SET_PRICE.

What does PARENT_CHILD do?

It retains the Set parent line and adds the selected component lines, allowing users to see both the grouping and its component detail.

How does Allocate Set Price work?

The maintained Set Unit Price is distributed to active components according to Allocation %. Active allocations must total 100%, and partial selection and quantity override are disabled.

Can optional components be selected at transaction time?

Yes when Allow Partial Selection is Yes and the component is not Mandatory. Default Include determines whether that optional component starts selected.

Can one Item Set contain another Item Set?

Not in the current reviewed function. Nested Item Sets are intentionally rejected to keep expansion predictable.

Should I delete an old Set after it has been used?

Normally no. Change Status to Inactive so historical documents continue to reference the original Set meaning. Delete is intended for genuinely unused setup mistakes.

Continue reading